mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-28 07:17:32 +00:00
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:
@@ -123,7 +123,8 @@ public:
|
|||||||
/// getNameWithPrefix - Return the name of the appropriate prefix
|
/// getNameWithPrefix - Return the name of the appropriate prefix
|
||||||
/// and the specified global variable's name. If the global variable doesn't
|
/// 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.
|
/// 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:
|
private:
|
||||||
/// makeNameProper - We don't want identifier names with ., space, or
|
/// makeNameProper - We don't want identifier names with ., space, or
|
||||||
|
@@ -251,13 +251,13 @@ static void DisambiguateGlobalSymbols(Module *M) {
|
|||||||
I != E; ++I) {
|
I != E; ++I) {
|
||||||
// Don't mangle asm names.
|
// Don't mangle asm names.
|
||||||
if (!I->hasName() || I->getName()[0] != 1)
|
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) {
|
for (Module::iterator I = M->begin(), E = M->end(); I != E; ++I) {
|
||||||
// Don't mangle asm names or intrinsics.
|
// Don't mangle asm names or intrinsics.
|
||||||
if ((!I->hasName() || I->getName()[0] != 1) &&
|
if ((!I->hasName() || I->getName()[0] != 1) &&
|
||||||
I->getIntrinsicID() == 0)
|
I->getIntrinsicID() == 0)
|
||||||
I->setName(Mang.getMangledName(I));
|
I->setName(Mang.getNameWithPrefix(I));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -329,7 +329,7 @@ void LTOCodeGenerator::applyScopeRestrictions()
|
|||||||
for (Module::iterator f = mergedModule->begin(),
|
for (Module::iterator f = mergedModule->begin(),
|
||||||
e = mergedModule->end(); f != e; ++f) {
|
e = mergedModule->end(); f != e; ++f) {
|
||||||
if ( !f->isDeclaration()
|
if ( !f->isDeclaration()
|
||||||
&& _mustPreserveSymbols.count(mangler.getMangledName(f)) )
|
&& _mustPreserveSymbols.count(mangler.getNameWithPrefix(f)) )
|
||||||
mustPreserveList.push_back(::strdup(f->getNameStr().c_str()));
|
mustPreserveList.push_back(::strdup(f->getNameStr().c_str()));
|
||||||
}
|
}
|
||||||
for (Module::global_iterator v = mergedModule->global_begin(),
|
for (Module::global_iterator v = mergedModule->global_begin(),
|
||||||
|
@@ -320,7 +320,7 @@ void LTOModule::addDefinedSymbol(GlobalValue* def, Mangler &mangler,
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
// string is owned by _defines
|
// 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
|
// set alignment part log2() can have rounding errors
|
||||||
uint32_t align = def->getAlignment();
|
uint32_t align = def->getAlignment();
|
||||||
@@ -393,7 +393,7 @@ void LTOModule::addPotentialUndefinedSymbol(GlobalValue* decl, Mangler &mangler)
|
|||||||
if (isa<GlobalAlias>(decl))
|
if (isa<GlobalAlias>(decl))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
std::string name = mangler.getMangledName(decl);
|
std::string name = mangler.getNameWithPrefix(decl);
|
||||||
|
|
||||||
// we already have the symbol
|
// we already have the symbol
|
||||||
if (_undefines.find(name) != _undefines.end())
|
if (_undefines.find(name) != _undefines.end())
|
||||||
|
Reference in New Issue
Block a user