[SchedModel] Avoid std::string creation for instregex patterns that don't contain...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 24 Mar 2018 21:04:20 +0000 (21:04 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 24 Mar 2018 21:04:20 +0000 (21:04 +0000)
llvm-svn: 328436

llvm/utils/TableGen/CodeGenSchedule.cpp

index 1b516c1..b73e076 100644 (file)
@@ -95,9 +95,10 @@ struct InstRegexOp : public SetTheory::Operator {
 
       Optional<Regex> Regexpr = None;
       StringRef Prefix = Original.substr(0, FirstMeta);
-      std::string pat = Original.substr(FirstMeta);
-      if (!pat.empty()) {
+      StringRef PatStr = Original.substr(FirstMeta);
+      if (!PatStr.empty()) {
         // For the rest use a python-style prefix match.
+        std::string pat = PatStr;
         if (pat[0] != '^') {
           pat.insert(0, "^(");
           pat.insert(pat.end(), ')');