diff options
author | Rahul Joshi <rjoshi@nvidia.com> | 2025-05-12 15:41:27 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-12 15:41:27 -0700 |
commit | 9981afc5f9d1bb84e35d562f2a1d0f6bf56fcb58 (patch) | |
tree | 35da2a34a23166d6d9a849271fc8695f7859e1e0 /llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp | |
parent | 227328f6f6d32e93a6c3c0d3c82a7601f92f9abb (diff) | |
download | llvm-9981afc5f9d1bb84e35d562f2a1d0f6bf56fcb58.zip llvm-9981afc5f9d1bb84e35d562f2a1d0f6bf56fcb58.tar.gz llvm-9981afc5f9d1bb84e35d562f2a1d0f6bf56fcb58.tar.bz2 |
[NFC][TableGen] Use StringRef::str() instead of casting (#139332)
- Also eliminate unneeded std::string() around some literal strings.
Diffstat (limited to 'llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp')
-rw-r--r-- | llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp b/llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp index 5d60de7..b6bc528 100644 --- a/llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp +++ b/llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp @@ -1149,7 +1149,7 @@ std::string TreePredicateFn::getPredCode() const { Code += "if (!N->hasNUsesOfValue(1, 0)) return false;\n"; std::string PredicateCode = - std::string(PatFragRec->getRecord()->getValueAsString("PredicateCode")); + PatFragRec->getRecord()->getValueAsString("PredicateCode").str(); Code += PredicateCode; @@ -1164,8 +1164,7 @@ bool TreePredicateFn::hasImmCode() const { } std::string TreePredicateFn::getImmCode() const { - return std::string( - PatFragRec->getRecord()->getValueAsString("ImmediateCode")); + return PatFragRec->getRecord()->getValueAsString("ImmediateCode").str(); } bool TreePredicateFn::immCodeUsesAPInt() const { @@ -1286,11 +1285,13 @@ const Record *TreePredicateFn::getScalarMemoryVT() const { return nullptr; return R->getValueAsDef("ScalarMemoryVT"); } + bool TreePredicateFn::hasGISelPredicateCode() const { return !PatFragRec->getRecord() ->getValueAsString("GISelPredicateCode") .empty(); } + std::string TreePredicateFn::getGISelPredicateCode() const { return std::string( PatFragRec->getRecord()->getValueAsString("GISelPredicateCode")); @@ -2916,7 +2917,7 @@ TreePatternNodePtr TreePattern::ParseTreePattern(const Init *TheInit, if (R->getName() == "node" && !OpName.empty()) { if (OpName.empty()) error("'node' argument requires a name to match with operand list"); - Args.push_back(std::string(OpName)); + Args.push_back(OpName.str()); } Res->setName(OpName); @@ -2928,7 +2929,7 @@ TreePatternNodePtr TreePattern::ParseTreePattern(const Init *TheInit, if (OpName.empty()) error("'?' argument requires a name to match with operand list"); TreePatternNodePtr Res = makeIntrusiveRefCnt<TreePatternNode>(TheInit, 1); - Args.push_back(std::string(OpName)); + Args.push_back(OpName.str()); Res->setName(OpName); return Res; } @@ -3168,7 +3169,7 @@ bool TreePattern::InferAllTypes( if (InNamedTypes) { auto InIter = InNamedTypes->find(Entry.getKey()); if (InIter == InNamedTypes->end()) { - error("Node '" + std::string(Entry.getKey()) + + error("Node '" + Entry.getKey().str() + "' in output pattern but not input pattern"); return true; } @@ -3300,7 +3301,7 @@ void CodeGenDAGPatterns::ParseNodeTransforms() { reverse(Records.getAllDerivedDefinitions("SDNodeXForm"))) { const Record *SDNode = XFormNode->getValueAsDef("Opcode"); StringRef Code = XFormNode->getValueAsString("XFormFunction"); - SDNodeXForms.insert({XFormNode, NodeXForm(SDNode, std::string(Code))}); + SDNodeXForms.insert({XFormNode, NodeXForm(SDNode, Code.str())}); } } @@ -3359,7 +3360,7 @@ void CodeGenDAGPatterns::ParsePatternFragments(bool OutFrags) { if (!OperandsSet.erase(ArgNameStr)) P->error("'" + ArgNameStr + "' does not occur in pattern or was multiply specified!"); - Args.push_back(std::string(ArgNameStr)); + Args.push_back(ArgNameStr.str()); } if (!OperandsSet.empty()) |