From 0a341a1edad9c9a19d0bd885e78fa4731a2f94cf Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Sun, 26 Feb 2023 19:36:34 -0800 Subject: [PATCH] [TableGen] Use raw_svector_ostream and ListSeparator to simplify some code. NFC --- llvm/utils/TableGen/CodeGenDAGPatterns.cpp | 15 +++++---------- 1 file 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); } -- 2.7.4