From 8cc5910dbc242976211e2ad81d94255e3ee6af7d Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Sat, 12 Feb 2011 18:03:13 +0000 Subject: Preserve aliases if needed. llvm-svn: 125439 --- llvm/tools/lto/LTOCodeGenerator.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'llvm/tools/lto/LTOCodeGenerator.cpp') 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)); } -- cgit v1.2.3