aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms/Scalar/LoopRotation.cpp
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2010-09-01 10:29:33 +0000
committerDuncan Sands <baldrick@free.fr>2010-09-01 10:29:33 +0000
commitbd41b09bdc6acd14c1f2add60ecb7b1af77b5925 (patch)
treeb146e38731affa01ddc2147fcde8b1caea7657f2 /lib/Transforms/Scalar/LoopRotation.cpp
parentcf34f77fefe6b259c783146ae96a8852cd8f82ef (diff)
downloadexternal_llvm-bd41b09bdc6acd14c1f2add60ecb7b1af77b5925.zip
external_llvm-bd41b09bdc6acd14c1f2add60ecb7b1af77b5925.tar.gz
external_llvm-bd41b09bdc6acd14c1f2add60ecb7b1af77b5925.tar.bz2
If PrototypeValue is erased in the middle of using the SSAUpdator
then the SSAUpdator may access freed memory. Instead, simply pass in the type and name explicitly, which is all that was used anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112699 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Scalar/LoopRotation.cpp')
-rw-r--r--lib/Transforms/Scalar/LoopRotation.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Transforms/Scalar/LoopRotation.cpp b/lib/Transforms/Scalar/LoopRotation.cpp
index 31957dd..65acc1d 100644
--- a/lib/Transforms/Scalar/LoopRotation.cpp
+++ b/lib/Transforms/Scalar/LoopRotation.cpp
@@ -221,7 +221,7 @@ bool LoopRotate::rotateLoop(Loop *Lp, LPPassManager &LPM) {
// The value now exits in two versions: the initial value in the preheader
// and the loop "next" value in the original header.
- SSA.Initialize(OrigHeaderVal);
+ SSA.Initialize(OrigHeaderVal->getType(), OrigHeaderVal->getName());
SSA.AddAvailableValue(OrigHeader, OrigHeaderVal);
SSA.AddAvailableValue(OrigPreHeader, OrigPreHeaderVal);