From 2e06b93f43f79f018d10b982980199ca526d2739 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Wed, 13 Jan 2010 12:45:23 +0000 Subject: 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 --- llvm/lib/VMCore/Mangler.cpp | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'llvm/lib/VMCore/Mangler.cpp') 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 &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 &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. -- cgit v1.2.3