ARM64: format register strings without creating a local Twine.
authorTim Northover <tnorthover@apple.com>
Sat, 29 Mar 2014 15:35:57 +0000 (15:35 +0000)
committerTim Northover <tnorthover@apple.com>
Sat, 29 Mar 2014 15:35:57 +0000 (15:35 +0000)
It was causing horrible failures on some build-bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205105 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM64/InstPrinter/ARM64InstPrinter.cpp

index 6304a0fdf05504ad43619094d5dd3d588149632b..bb9070798a8d3f03e14368e678487253061bd551 100644 (file)
@@ -16,6 +16,7 @@
 #include "MCTargetDesc/ARM64AddressingModes.h"
 #include "MCTargetDesc/ARM64BaseInfo.h"
 #include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/StringExtras.h"
 #include "llvm/MC/MCInst.h"
 #include "llvm/MC/MCExpr.h"
 #include "llvm/MC/MCRegisterInfo.h"
@@ -1329,14 +1330,13 @@ void ARM64InstPrinter::printImplicitlyTypedVectorList(const MCInst *MI,
 template <unsigned NumLanes, char LaneKind>
 void ARM64InstPrinter::printTypedVectorList(const MCInst *MI, unsigned OpNum,
                                             raw_ostream &O) {
-  Twine Suffix;
+  std::string Suffix(".");
   if (NumLanes)
-    Suffix = Twine('.') + Twine(NumLanes) + Twine(LaneKind);
+    Suffix += itostr(NumLanes) + LaneKind;
   else
-    Suffix = Twine('.') + Twine(LaneKind);
+    Suffix += LaneKind;
 
-  SmallString<8> Buf;
-  printVectorList(MI, OpNum, O, Suffix.toStringRef(Buf));
+  printVectorList(MI, OpNum, O, Suffix);
 }
 
 void ARM64InstPrinter::printVectorIndex(const MCInst *MI, unsigned OpNum,