Avoid buffer copies when a Twine already is a StringRef.
authorDavid Blaikie <dblaikie@gmail.com>
Tue, 3 Dec 2013 18:18:28 +0000 (18:18 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Tue, 3 Dec 2013 18:18:28 +0000 (18:18 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196301 91177308-0d34-0410-b5e6-96231b3b80d8

lib/MC/MCContext.cpp
lib/Option/ArgList.cpp

index 3b45d1670d2c6440e112fc9a1b931635823d5974..7e4cdf98eef7f68e5033a391d2f5c014eb35779c 100644 (file)
@@ -157,8 +157,7 @@ MCSymbol *MCContext::CreateSymbol(StringRef Name) {
 
 MCSymbol *MCContext::GetOrCreateSymbol(const Twine &Name) {
   SmallString<128> NameSV;
-  Name.toVector(NameSV);
-  return GetOrCreateSymbol(NameSV.str());
+  return GetOrCreateSymbol(Name.toStringRef(NameSV));
 }
 
 MCSymbol *MCContext::CreateTempSymbol() {
index 15f7e8bf4b8262c50389914f72d49a0d6427515f..fecd2371735922e6fb73016f9121b65dea9ed2a4 100644 (file)
@@ -291,8 +291,7 @@ void ArgList::ClaimAllArgs() const {
 
 const char *ArgList::MakeArgString(const Twine &T) const {
   SmallString<256> Str;
-  T.toVector(Str);
-  return MakeArgString(Str.str());
+  return MakeArgString(T.toStringRef(Str));
 }
 
 const char *ArgList::GetOrMakeJoinedArgString(unsigned Index,