diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2010-01-13 12:45:23 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2010-01-13 12:45:23 +0000 |
commit | 2e06b93f43f79f018d10b982980199ca526d2739 (patch) | |
tree | e2c9170da1938986cd2dbc5ee25ca23122cf7552 /llvm/lib/VMCore/Mangler.cpp | |
parent | 6a61b5203dc68982f547cff3d6cd068066417703 (diff) | |
download | bcm5719-llvm-2e06b93f43f79f018d10b982980199ca526d2739.tar.gz bcm5719-llvm-2e06b93f43f79f018d10b982980199ca526d2739.zip |
Introduce Twine::toStringRef, a variant of toVector which avoids the copy if the
twine can be represented as a single StringRef. Use the new methode to simplify
some twine users.
llvm-svn: 93317
Diffstat (limited to 'llvm/lib/VMCore/Mangler.cpp')
-rw-r--r-- | llvm/lib/VMCore/Mangler.cpp | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/llvm/lib/VMCore/Mangler.cpp b/llvm/lib/VMCore/Mangler.cpp index 69a24a0bc28..7d9f330f4c4 100644 --- a/llvm/lib/VMCore/Mangler.cpp +++ b/llvm/lib/VMCore/Mangler.cpp @@ -41,8 +41,7 @@ void Mangler::makeNameProper(SmallVectorImpl<char> &OutName, const Twine &TheName, ManglerPrefixTy PrefixTy) { SmallString<256> TmpData; - TheName.toVector(TmpData); - StringRef X = TmpData.str(); + StringRef X = TheName.toStringRef(TmpData); assert(!X.empty() && "Cannot mangle empty strings"); if (!UseQuotes) { @@ -188,13 +187,7 @@ std::string Mangler::getMangledName(const GlobalValue *GV, const char *Suffix, void Mangler::getNameWithPrefix(SmallVectorImpl<char> &OutName, const Twine &GVName, ManglerPrefixTy PrefixTy) { SmallString<256> TmpData; - StringRef Name; - if (GVName.isSingleStringRef()) - Name = GVName.getSingleStringRef(); - else { - GVName.toVector(TmpData); - Name = TmpData.str(); - } + StringRef Name = GVName.toStringRef(TmpData); assert(!Name.empty() && "getNameWithPrefix requires non-empty name"); // If the global name is not led with \1, add the appropriate prefixes. |