diff options
author | Chris Lattner <sabre@nondot.org> | 2009-07-15 04:50:47 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-07-15 04:50:47 +0000 |
commit | 9d5511b7db2c42a2cea0ca00c0e123e64cceadae (patch) | |
tree | 9c48d3fe9ff45f89432a8a03ffff44ffd617adf7 | |
parent | f1cfea2dbfd6ebc0008ecd2d37a1c91058bbfdd1 (diff) | |
download | external_llvm-9d5511b7db2c42a2cea0ca00c0e123e64cceadae.zip external_llvm-9d5511b7db2c42a2cea0ca00c0e123e64cceadae.tar.gz external_llvm-9d5511b7db2c42a2cea0ca00c0e123e64cceadae.tar.bz2 |
eliminate the Mangler::PreserveAsmNames bit, the sole client of this
can do it perfectly well itself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75743 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Support/Mangler.h | 8 | ||||
-rw-r--r-- | lib/VMCore/Mangler.cpp | 6 | ||||
-rw-r--r-- | tools/bugpoint/Miscompilation.cpp | 15 |
3 files changed, 11 insertions, 18 deletions
diff --git a/include/llvm/Support/Mangler.h b/include/llvm/Support/Mangler.h index 0578f8f..e04245d 100644 --- a/include/llvm/Support/Mangler.h +++ b/include/llvm/Support/Mangler.h @@ -38,10 +38,6 @@ class Mangler { /// the space character. By default, this is false. bool UseQuotes; - /// PreserveAsmNames - If this is set, the asm escape character is not removed - /// from names with 'asm' specifiers. - bool PreserveAsmNames; - /// AnonGlobalIDs - We need to give global values the same name every time /// they are mangled. This keeps track of the number we give to anonymous /// ones. @@ -65,10 +61,6 @@ public: /// strings for assembler labels. void setUseQuotes(bool Val) { UseQuotes = Val; } - /// setPreserveAsmNames - If the mangler should not strip off the asm name - /// @verbatim identifier (\001), this should be set. @endverbatim - void setPreserveAsmNames(bool Val) { PreserveAsmNames = Val; } - /// Acceptable Characters - This allows the target to specify which characters /// are acceptable to the assembler without being mangled. By default we /// allow letters, numbers, '_', '$', and '.', which is what GAS accepts. diff --git a/lib/VMCore/Mangler.cpp b/lib/VMCore/Mangler.cpp index 84c4396..5828e21 100644 --- a/lib/VMCore/Mangler.cpp +++ b/lib/VMCore/Mangler.cpp @@ -35,10 +35,6 @@ std::string Mangler::makeNameProper(const std::string &X, bool hasPrivateLinkage) { assert(!X.empty() && "Cannot mangle empty strings"); - // If PreserveAsmNames is set, names with asm identifiers are not modified. - if (PreserveAsmNames && X[0] == 1) - return X; - if (!UseQuotes) { std::string Result; @@ -149,7 +145,7 @@ std::string Mangler::getMangledName(const GlobalValue *GV, const char *Suffix, Mangler::Mangler(Module &M, const char *prefix, const char *privatePrefix) : Prefix(prefix), PrivatePrefix (privatePrefix), UseQuotes(false), - PreserveAsmNames(false), NextAnonGlobalID(1) { + NextAnonGlobalID(1) { std::fill(AcceptableChars, array_endof(AcceptableChars), 0); // Letters and numbers are acceptable. diff --git a/tools/bugpoint/Miscompilation.cpp b/tools/bugpoint/Miscompilation.cpp index 4a256152..c655e71 100644 --- a/tools/bugpoint/Miscompilation.cpp +++ b/tools/bugpoint/Miscompilation.cpp @@ -241,12 +241,17 @@ static void DisambiguateGlobalSymbols(Module *M) { Mangler Mang(*M); // Agree with the CBE on symbol naming Mang.markCharUnacceptable('.'); - Mang.setPreserveAsmNames(true); for (Module::global_iterator I = M->global_begin(), E = M->global_end(); - I != E; ++I) - I->setName(Mang.getMangledName(I)); - for (Module::iterator I = M->begin(), E = M->end(); I != E; ++I) - I->setName(Mang.getMangledName(I)); + I != E; ++I) { + // Don't mangle asm names. + if (!I->hasName() || I->getName()[0] != 1) + I->setName(Mang.getMangledName(I)); + } + for (Module::iterator I = M->begin(), E = M->end(); I != E; ++I) { + // Don't mangle asm names. + if (!I->hasName() || I->getName()[0] != 1) + I->setName(Mang.getMangledName(I)); + } } /// ExtractLoops - Given a reduced list of functions that still exposed the bug, |