summaryrefslogtreecommitdiffstats
path: root/llvm/tools/lto/LTOCodeGenerator.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2011-02-12 18:03:13 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2011-02-12 18:03:13 +0000
commit8cc5910dbc242976211e2ad81d94255e3ee6af7d (patch)
treee6a1088165fb2851bf5a783bc0fab90b300ed6c0 /llvm/tools/lto/LTOCodeGenerator.cpp
parent69affe6a944d6d703dbdca530471a0b2480c1385 (diff)
downloadbcm5719-llvm-8cc5910dbc242976211e2ad81d94255e3ee6af7d.tar.gz
bcm5719-llvm-8cc5910dbc242976211e2ad81d94255e3ee6af7d.zip
Preserve aliases if needed.
llvm-svn: 125439
Diffstat (limited to 'llvm/tools/lto/LTOCodeGenerator.cpp')
-rw-r--r--llvm/tools/lto/LTOCodeGenerator.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/tools/lto/LTOCodeGenerator.cpp b/llvm/tools/lto/LTOCodeGenerator.cpp
index b2554f87b59..adb7102b3c7 100644
--- a/llvm/tools/lto/LTOCodeGenerator.cpp
+++ b/llvm/tools/lto/LTOCodeGenerator.cpp
@@ -367,6 +367,14 @@ void LTOCodeGenerator::applyScopeRestrictions() {
_mustPreserveSymbols.count(Buffer))
mustPreserveList.push_back(::strdup(v->getNameStr().c_str()));
}
+ for (Module::alias_iterator a = mergedModule->alias_begin(),
+ e = mergedModule->alias_end(); a != e; ++a) {
+ Buffer.clear();
+ mangler.getNameWithPrefix(Buffer, a, false);
+ if (!a->isDeclaration() &&
+ _mustPreserveSymbols.count(Buffer))
+ mustPreserveList.push_back(::strdup(a->getNameStr().c_str()));
+ }
passes.add(createInternalizePass(mustPreserveList));
}
OpenPOWER on IntegriCloud