From 0d071be474864703a6333132b2df484985a47f3c Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Wed, 15 May 2019 14:00:45 +0000 Subject: [PATCH] [MergeICmps] Fix r360771. Twine references a StringRef by reference, not value... llvm-svn: 360775 --- llvm/lib/Transforms/Scalar/MergeICmps.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/llvm/lib/Transforms/Scalar/MergeICmps.cpp b/llvm/lib/Transforms/Scalar/MergeICmps.cpp index d8baf504..82d1862 100644 --- a/llvm/lib/Transforms/Scalar/MergeICmps.cpp +++ b/llvm/lib/Transforms/Scalar/MergeICmps.cpp @@ -544,11 +544,11 @@ class MergedBlockName { public: explicit MergedBlockName(ArrayRef Comparisons) - : Name(makeTwine(Comparisons)) {} - const Twine Name; + : Name(makeName(Comparisons)) {} + const StringRef Name; private: - Twine makeTwine(ArrayRef Comparisons) { + StringRef makeName(ArrayRef 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 -- 2.7.4