switch liblto to use the new getNameWithPrefix() method instead of getMangledName.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93643 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2010-01-16 18:12:14 +00:00
parent 61f160a84e
commit 469340493c
4 changed files with 7 additions and 6 deletions

View File

@ -123,7 +123,8 @@ public:
/// getNameWithPrefix - Return the name of the appropriate prefix
/// and the specified global variable's name. If the global variable doesn't
/// have a name, this fills in a unique name for the global.
std::string getNameWithPrefix(const GlobalValue *GV,bool isImplicitlyPrivate);
std::string getNameWithPrefix(const GlobalValue *GV,
bool isImplicitlyPrivate = false);
private:
/// makeNameProper - We don't want identifier names with ., space, or

View File

@ -251,13 +251,13 @@ static void DisambiguateGlobalSymbols(Module *M) {
I != E; ++I) {
// Don't mangle asm names.
if (!I->hasName() || I->getName()[0] != 1)
I->setName(Mang.getMangledName(I));
I->setName(Mang.getNameWithPrefix(I));
}
for (Module::iterator I = M->begin(), E = M->end(); I != E; ++I) {
// Don't mangle asm names or intrinsics.
if ((!I->hasName() || I->getName()[0] != 1) &&
I->getIntrinsicID() == 0)
I->setName(Mang.getMangledName(I));
I->setName(Mang.getNameWithPrefix(I));
}
}

View File

@ -329,7 +329,7 @@ void LTOCodeGenerator::applyScopeRestrictions()
for (Module::iterator f = mergedModule->begin(),
e = mergedModule->end(); f != e; ++f) {
if ( !f->isDeclaration()
&& _mustPreserveSymbols.count(mangler.getMangledName(f)) )
&& _mustPreserveSymbols.count(mangler.getNameWithPrefix(f)) )
mustPreserveList.push_back(::strdup(f->getNameStr().c_str()));
}
for (Module::global_iterator v = mergedModule->global_begin(),

View File

@ -320,7 +320,7 @@ void LTOModule::addDefinedSymbol(GlobalValue* def, Mangler &mangler,
return;
// string is owned by _defines
const char* symbolName = ::strdup(mangler.getMangledName(def).c_str());
const char* symbolName = ::strdup(mangler.getNameWithPrefix(def).c_str());
// set alignment part log2() can have rounding errors
uint32_t align = def->getAlignment();
@ -393,7 +393,7 @@ void LTOModule::addPotentialUndefinedSymbol(GlobalValue* decl, Mangler &mangler)
if (isa<GlobalAlias>(decl))
return;
std::string name = mangler.getMangledName(decl);
std::string name = mangler.getNameWithPrefix(decl);
// we already have the symbol
if (_undefines.find(name) != _undefines.end())