diff options
| author | Daniel Sanders <daniel.sanders@imgtec.com> | 2016-07-05 10:44:24 +0000 | 
|---|---|---|
| committer | Daniel Sanders <daniel.sanders@imgtec.com> | 2016-07-05 10:44:24 +0000 | 
| commit | 7b361a2cc3f99aa4fd4f2b6800a8880ee4d23bfd (patch) | |
| tree | b569c58a2e8b08b490c5183749de4270f9c0afad /llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp | |
| parent | 20ede63a33e03c238291d68c30c87a28109ccc2c (diff) | |
| download | bcm5719-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/AsmParser/MipsAsmParser.cpp')
| -rw-r--r-- | llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp | 10 | 
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< "; | 

