[llvm] r194970 - Utils/LoopUnroll.cpp: Tweak (StringRef)OldName to be valid until it is used, since r194601.
NAKAMURA Takumi
geek4civic at gmail.com
Sun Nov 17 10:05:34 PST 2013
Author: chapuni
Date: Sun Nov 17 12:05:34 2013
New Revision: 194970
URL: http://llvm.org/viewvc/llvm-project?rev=194970&view=rev
Log:
Utils/LoopUnroll.cpp: Tweak (StringRef)OldName to be valid until it is used, since r194601.
eraseFromParent() invalidates OldName.
Modified:
llvm/trunk/lib/Transforms/Utils/LoopUnroll.cpp
Modified: llvm/trunk/lib/Transforms/Utils/LoopUnroll.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/LoopUnroll.cpp?rev=194970&r1=194969&r2=194970&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Utils/LoopUnroll.cpp (original)
+++ llvm/trunk/lib/Transforms/Utils/LoopUnroll.cpp Sun Nov 17 12:05:34 2013
@@ -90,6 +90,7 @@ static BasicBlock *FoldBlockIntoPredeces
// Move all definitions in the successor to the predecessor...
OnlyPred->getInstList().splice(OnlyPred->end(), BB->getInstList());
+ // OldName will be valid until erased.
StringRef OldName = BB->getName();
// Erase basic block from the function...
@@ -102,12 +103,13 @@ static BasicBlock *FoldBlockIntoPredeces
}
}
LI->removeBlock(BB);
- BB->eraseFromParent();
// Inherit predecessor's name if it exists...
if (!OldName.empty() && !OnlyPred->hasName())
OnlyPred->setName(OldName);
+ BB->eraseFromParent();
+
return OnlyPred;
}
More information about the llvm-commits
mailing list