aboutsummaryrefslogtreecommitdiff
path: root/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2023-02-26 19:36:34 -0800
committerCraig Topper <craig.topper@sifive.com>2023-02-26 19:36:34 -0800
commit0a341a1edad9c9a19d0bd885e78fa4731a2f94cf (patch)
tree33188e8c4b92ff3d4bbd34b0a9866888ecaa4288 /llvm/utils/TableGen/CodeGenDAGPatterns.cpp
parentf335e3c34e09a0f2de8da90ce7602d6f6de6cfb7 (diff)
downloadllvm-0a341a1edad9c9a19d0bd885e78fa4731a2f94cf.zip
llvm-0a341a1edad9c9a19d0bd885e78fa4731a2f94cf.tar.gz
llvm-0a341a1edad9c9a19d0bd885e78fa4731a2f94cf.tar.bz2
[TableGen] Use raw_svector_ostream and ListSeparator to simplify some code. NFC
Diffstat (limited to 'llvm/utils/TableGen/CodeGenDAGPatterns.cpp')
-rw-r--r--llvm/utils/TableGen/CodeGenDAGPatterns.cpp15
1 files changed, 5 insertions, 10 deletions
diff --git a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
index fe5766f..56cf9c7 100644
--- a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
+++ b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
@@ -1523,22 +1523,17 @@ std::string PatternToMatch::getPredicateCheck() const {
getPredicateRecords(PredicateRecs);
SmallString<128> PredicateCheck;
+ raw_svector_ostream OS(PredicateCheck);
+ ListSeparator LS(" && ");
for (Record *Pred : PredicateRecs) {
StringRef CondString = Pred->getValueAsString("CondString");
if (CondString.empty())
continue;
- if (!PredicateCheck.empty())
- PredicateCheck += " && ";
- PredicateCheck += "(";
- PredicateCheck += CondString;
- PredicateCheck += ")";
+ OS << LS << '(' << CondString << ')';
}
- if (!HwModeFeatures.empty()) {
- if (!PredicateCheck.empty())
- PredicateCheck += " && ";
- PredicateCheck += HwModeFeatures;
- }
+ if (!HwModeFeatures.empty())
+ OS << LS << HwModeFeatures;
return std::string(PredicateCheck);
}