From b51ae5ef110e8cee43a28e207ffdbd1c681699ac Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Sat, 28 Nov 2015 08:23:02 +0000 Subject: [PATCH 1/1] [TableGen] Use SmallString instead of std::string to build up a string to avoid heap allocations. NFC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254221 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/TableGen/CodeGenDAGPatterns.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/utils/TableGen/CodeGenDAGPatterns.cpp b/utils/TableGen/CodeGenDAGPatterns.cpp index 6ba4a8dbda7..3f74a9999c9 100644 --- a/utils/TableGen/CodeGenDAGPatterns.cpp +++ b/utils/TableGen/CodeGenDAGPatterns.cpp @@ -14,6 +14,7 @@ #include "CodeGenDAGPatterns.h" #include "llvm/ADT/STLExtras.h" +#include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/Twine.h" #include "llvm/Support/Debug.h" @@ -873,14 +874,14 @@ std::string PatternToMatch::getPredicateCheck() const { // Sort so that different orders get canonicalized to the same string. std::sort(PredicateRecs.begin(), PredicateRecs.end(), LessRecord()); - std::string PredicateCheck; + SmallString<128> PredicateCheck; for (Record *Pred : PredicateRecs) { if (!PredicateCheck.empty()) PredicateCheck += " && "; PredicateCheck += "(" + Pred->getValueAsString("CondString") + ")"; } - return PredicateCheck; + return PredicateCheck.str(); } //===----------------------------------------------------------------------===// -- 2.34.1