summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips
diff options
context:
space:
mode:
authorDaniel Sanders <daniel.sanders@imgtec.com>2016-07-05 10:44:24 +0000
committerDaniel Sanders <daniel.sanders@imgtec.com>2016-07-05 10:44:24 +0000
commit7b361a2cc3f99aa4fd4f2b6800a8880ee4d23bfd (patch)
treeb569c58a2e8b08b490c5183749de4270f9c0afad /llvm/lib/Target/Mips
parent20ede63a33e03c238291d68c30c87a28109ccc2c (diff)
downloadbcm5719-llvm-7b361a2cc3f99aa4fd4f2b6800a8880ee4d23bfd.tar.gz
bcm5719-llvm-7b361a2cc3f99aa4fd4f2b6800a8880ee4d23bfd.zip
Revert r274536: [mips][ias] Don't break apart and reconstruct StringRef's for k_Token. NFC.
It turns out that MSVC requires this. llvm-svn: 274538
Diffstat (limited to 'llvm/lib/Target/Mips')
-rw-r--r--llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp b/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
index 3cfc46939bd..7a48ad627c2 100644
--- a/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
+++ b/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
@@ -599,7 +599,8 @@ private:
MipsAsmParser &AsmParser;
struct Token {
- StringRef Str;
+ const char *Data;
+ unsigned Length;
};
struct PhysRegOp {
@@ -1165,7 +1166,7 @@ public:
StringRef getToken() const {
assert(Kind == k_Token && "Invalid access!");
- return Tok.Str;
+ return StringRef(Tok.Data, Tok.Length);
}
bool isRegPair() const {
return Kind == k_RegPair && RegIdx.Index <= 30;
@@ -1219,7 +1220,8 @@ public:
static std::unique_ptr<MipsOperand> CreateToken(StringRef Str, SMLoc S,
MipsAsmParser &Parser) {
auto Op = make_unique<MipsOperand>(k_Token, Parser);
- Op->Tok.Str = Str;
+ Op->Tok.Data = Str.data();
+ Op->Tok.Length = Str.size();
Op->StartLoc = S;
Op->EndLoc = S;
return Op;
@@ -1435,7 +1437,7 @@ public:
OS << "RegIdx<" << RegIdx.Index << ":" << RegIdx.Kind << ">";
break;
case k_Token:
- OS << Tok.Str;
+ OS << Tok.Data;
break;
case k_RegList:
OS << "RegList< ";
OpenPOWER on IntegriCloud