From 834384bf5bd3c104e352d3ef4956541f5932529c Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Tue, 13 May 2014 18:45:48 +0000 Subject: Split GlobalValue into GlobalValue and GlobalObject. This allows code to statically accept a Function or a GlobalVariable, but not an alias. This is already a cleanup by itself IMHO, but the main reason for it is that it gives a lot more confidence that the refactoring to fix the design of GlobalAlias is correct. That will be a followup patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208716 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Linker/LinkModules.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'lib/Linker') diff --git a/lib/Linker/LinkModules.cpp b/lib/Linker/LinkModules.cpp index b742492da0..820f3acace 100644 --- a/lib/Linker/LinkModules.cpp +++ b/lib/Linker/LinkModules.cpp @@ -495,15 +495,15 @@ static void forceRenaming(GlobalValue *GV, StringRef Name) { /// a GlobalValue) from the SrcGV to the DestGV. static void copyGVAttributes(GlobalValue *DestGV, const GlobalValue *SrcGV) { // Use the maximum alignment, rather than just copying the alignment of SrcGV. + auto *DestGO = dyn_cast(DestGV); unsigned Alignment; - bool IsAlias = isa(DestGV); - if (!IsAlias) - Alignment = std::max(DestGV->getAlignment(), SrcGV->getAlignment()); + if (DestGO) + Alignment = std::max(DestGO->getAlignment(), SrcGV->getAlignment()); DestGV->copyAttributesFrom(SrcGV); - if (!IsAlias) - DestGV->setAlignment(Alignment); + if (DestGO) + DestGO->setAlignment(Alignment); forceRenaming(DestGV, SrcGV->getName()); } -- cgit v1.2.3