aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/CBackend
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-01-17 19:23:46 +0000
committerChris Lattner <sabre@nondot.org>2010-01-17 19:23:46 +0000
commite295e5540c3c71a913547b80348a9646f64d9464 (patch)
treee6d0919df01249161c80b675e0d9a1e5f091e350 /lib/Target/CBackend
parenta3ca9a5082b45b0bac14ebfcea1cff75ca6bf748 (diff)
downloadexternal_llvm-e295e5540c3c71a913547b80348a9646f64d9464.zip
external_llvm-e295e5540c3c71a913547b80348a9646f64d9464.tar.gz
external_llvm-e295e5540c3c71a913547b80348a9646f64d9464.tar.bz2
Get MCSymbol out of the mangling business, and move all the logic
to Mangler. Now MCSymbol just decides whether to slap quotes around a symbol when printing it. This also fixes some weirdness where two MCSymbols could be created for the same symbol, if one needed to be mangled and got mangled to the other one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93690 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/CBackend')
-rw-r--r--lib/Target/CBackend/CBackend.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp
index 7fd54ad..6a7643a 100644
--- a/lib/Target/CBackend/CBackend.cpp
+++ b/lib/Target/CBackend/CBackend.cpp
@@ -352,10 +352,9 @@ char CWriter::ID = 0;
static std::string Mangle(const std::string &S) {
- std::string Result;
- raw_string_ostream OS(Result);
- MCSymbol::printMangledName(S, OS, 0);
- return OS.str();
+ SmallString<52> Result;
+ Mangler::appendMangledName(Result, S, 0);
+ return std::string(Result.begin(), Result.end());
}
@@ -1452,7 +1451,7 @@ std::string CWriter::GetValueName(const Value *Operand) {
if (const GlobalValue *GV = dyn_cast<GlobalValue>(Operand)) {
SmallString<128> Str;
Mang->getNameWithPrefix(Str, GV, false);
- return Mangle(Str.str().str());
+ return Str.str().str();
}
std::string Name = Operand->getName();