aboutsummaryrefslogtreecommitdiff
path: root/llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
diff options
context:
space:
mode:
authorRahul Joshi <rjoshi@nvidia.com>2025-05-12 15:41:27 -0700
committerGitHub <noreply@github.com>2025-05-12 15:41:27 -0700
commit9981afc5f9d1bb84e35d562f2a1d0f6bf56fcb58 (patch)
tree35da2a34a23166d6d9a849271fc8695f7859e1e0 /llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
parent227328f6f6d32e93a6c3c0d3c82a7601f92f9abb (diff)
downloadllvm-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.cpp17
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())