]> granicus.if.org Git - llvm/commitdiff
[MergeICmps] Fix r360771.
authorClement Courbet <courbet@google.com>
Wed, 15 May 2019 14:00:45 +0000 (14:00 +0000)
committerClement Courbet <courbet@google.com>
Wed, 15 May 2019 14:00:45 +0000 (14:00 +0000)
Twine references a StringRef by reference, not value...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360775 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/MergeICmps.cpp

index d8baf504f4f1727ab57caefddf054b9bbc48fc03..82d186250df206906972d1d869ce869f7d1a7b5b 100644 (file)
@@ -544,11 +544,11 @@ class MergedBlockName {
 
 public:
   explicit MergedBlockName(ArrayRef<BCECmpBlock> Comparisons)
-      : Name(makeTwine(Comparisons)) {}
-  const Twine Name;
+      : Name(makeName(Comparisons)) {}
+  const StringRef Name;
 
 private:
-  Twine makeTwine(ArrayRef<BCECmpBlock> Comparisons) {
+  StringRef makeName(ArrayRef<BCECmpBlock> Comparisons) {
     assert(!Comparisons.empty() && "no basic block");
     // Fast path: only one block, or no names at all.
     if (Comparisons.size() == 1)
@@ -558,7 +558,7 @@ private:
                                        return i + Cmp.BB->getName().size();
                                      });
     if (size == 0)
-      return Twine();
+      return StringRef("", 0);
 
     // Slow path: at least two blocks, at least one block with a name.
     Scratch.clear();
@@ -576,7 +576,7 @@ private:
         append(BB->getName());
       }
     }
-    return Twine(Scratch);
+    return StringRef(Scratch);
   }
 };
 } // namespace