diff options
author | Matthias Braun <matze@braunis.de> | 2016-12-05 06:00:41 +0000 |
---|---|---|
committer | Matthias Braun <matze@braunis.de> | 2016-12-05 06:00:41 +0000 |
commit | 205e9501a0d4e20c01ab6c4ce7e963eb40299859 (patch) | |
tree | 71248baff283a20a0f50cbfa5ce5a84b6e2ad6f1 /lib/TableGen | |
parent | 1ecbef9056a05a2846e285a43ac6f3d60ebc2321 (diff) |
TableGen: Use StringInit instead of std::string for DagInit name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288643 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/TableGen')
-rw-r--r-- | lib/TableGen/Record.cpp | 16 | ||||
-rw-r--r-- | lib/TableGen/TGParser.cpp | 4 |
2 files changed, 10 insertions, 10 deletions
diff --git a/lib/TableGen/Record.cpp b/lib/TableGen/Record.cpp index f84a917de79..2744d4f656f 100644 --- a/lib/TableGen/Record.cpp +++ b/lib/TableGen/Record.cpp @@ -838,7 +838,7 @@ Init *BinOpInit::Fold(Record *CurRec, MultiClass *CurMultiClass) const { Args.push_back(RHSs->getArg(i)); ArgNames.push_back(RHSs->getArgName(i)); } - return DagInit::get(LHSs->getOperator(), "", Args, ArgNames); + return DagInit::get(LHSs->getOperator(), nullptr, Args, ArgNames); } break; } @@ -1035,7 +1035,7 @@ static Init *ForeachHelper(Init *LHS, Init *MHS, Init *RHS, RecTy *Type, args.push_back(std::make_pair(Arg, ArgName)); } - return DagInit::get(Val, "", args); + return DagInit::get(Val, nullptr, args); } ListInit *MHSl = dyn_cast<ListInit>(MHS); @@ -1523,11 +1523,11 @@ Init *FieldInit::resolveReferences(Record &R, const RecordVal *RV) const { return const_cast<FieldInit *>(this); } -static void ProfileDagInit(FoldingSetNodeID &ID, Init *V, StringRef VN, +static void ProfileDagInit(FoldingSetNodeID &ID, Init *V, StringInit *VN, ArrayRef<Init *> ArgRange, ArrayRef<std::string> NameRange) { ID.AddPointer(V); - ID.AddString(VN); + ID.AddPointer(VN); ArrayRef<Init *>::iterator Arg = ArgRange.begin(); ArrayRef<std::string>::iterator Name = NameRange.begin(); @@ -1540,7 +1540,7 @@ static void ProfileDagInit(FoldingSetNodeID &ID, Init *V, StringRef VN, } DagInit * -DagInit::get(Init *V, StringRef VN, ArrayRef<Init *> ArgRange, +DagInit::get(Init *V, StringInit *VN, ArrayRef<Init *> ArgRange, ArrayRef<std::string> NameRange) { static FoldingSet<DagInit> ThePool; static std::vector<DagInit*> TheActualPool; @@ -1559,7 +1559,7 @@ DagInit::get(Init *V, StringRef VN, ArrayRef<Init *> ArgRange, } DagInit * -DagInit::get(Init *V, StringRef VN, +DagInit::get(Init *V, StringInit *VN, const std::vector<std::pair<Init*, std::string> > &args) { std::vector<Init *> Args; std::vector<std::string> Names; @@ -1598,8 +1598,8 @@ Init *DagInit::resolveReferences(Record &R, const RecordVal *RV) const { std::string DagInit::getAsString() const { std::string Result = "(" + Val->getAsString(); - if (!ValName.empty()) - Result += ":" + ValName; + if (ValName) + Result += ":" + ValName->getAsUnquotedString(); if (!Args.empty()) { Result += " " + Args[0]->getAsString(); if (!ArgNames[0].empty()) Result += ":$" + ArgNames[0]; diff --git a/lib/TableGen/TGParser.cpp b/lib/TableGen/TGParser.cpp index 5b8d730942b..cbee2e3289b 100644 --- a/lib/TableGen/TGParser.cpp +++ b/lib/TableGen/TGParser.cpp @@ -1418,13 +1418,13 @@ Init *TGParser::ParseSimpleValue(Record *CurRec, RecTy *ItemType, if (!Operator) return nullptr; // If the operator name is present, parse it. - std::string OperatorName; + StringInit *OperatorName = nullptr; if (Lex.getCode() == tgtok::colon) { if (Lex.Lex() != tgtok::VarName) { // eat the ':' TokError("expected variable name in dag operator"); return nullptr; } - OperatorName = Lex.getCurStrVal(); + OperatorName = StringInit::get(Lex.getCurStrVal()); Lex.Lex(); // eat the VarName. } |