diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-05-13 18:45:48 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-05-13 18:45:48 +0000 |
commit | 834384bf5bd3c104e352d3ef4956541f5932529c (patch) | |
tree | 18e02100b208273cba116c513d703b94faf4e8c9 /lib/Linker | |
parent | ebfe1f0371a074c771d0fedf9167977bfe6f72e8 (diff) | |
download | llvm-834384bf5bd3c104e352d3ef4956541f5932529c.tar.gz llvm-834384bf5bd3c104e352d3ef4956541f5932529c.tar.bz2 llvm-834384bf5bd3c104e352d3ef4956541f5932529c.tar.xz |
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
Diffstat (limited to 'lib/Linker')
-rw-r--r-- | lib/Linker/LinkModules.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
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<GlobalObject>(DestGV); unsigned Alignment; - bool IsAlias = isa<GlobalAlias>(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()); } |