diff options
author | Craig Topper <craig.topper@sifive.com> | 2023-02-26 19:36:34 -0800 |
---|---|---|
committer | Craig Topper <craig.topper@sifive.com> | 2023-02-26 19:36:34 -0800 |
commit | 0a341a1edad9c9a19d0bd885e78fa4731a2f94cf (patch) | |
tree | 33188e8c4b92ff3d4bbd34b0a9866888ecaa4288 /llvm/utils/TableGen/CodeGenDAGPatterns.cpp | |
parent | f335e3c34e09a0f2de8da90ce7602d6f6de6cfb7 (diff) | |
download | llvm-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.cpp | 15 |
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); } |