diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2011-02-12 18:03:13 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2011-02-12 18:03:13 +0000 |
| commit | 8cc5910dbc242976211e2ad81d94255e3ee6af7d (patch) | |
| tree | e6a1088165fb2851bf5a783bc0fab90b300ed6c0 /llvm/tools/lto | |
| parent | 69affe6a944d6d703dbdca530471a0b2480c1385 (diff) | |
| download | bcm5719-llvm-8cc5910dbc242976211e2ad81d94255e3ee6af7d.tar.gz bcm5719-llvm-8cc5910dbc242976211e2ad81d94255e3ee6af7d.zip | |
Preserve aliases if needed.
llvm-svn: 125439
Diffstat (limited to 'llvm/tools/lto')
| -rw-r--r-- | llvm/tools/lto/LTOCodeGenerator.cpp | 8 |
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)); } |

