aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2011-11-07 19:38:34 +0000
committerBill Wendling <isanbard@gmail.com>2011-11-07 19:38:34 +0000
commit7496461f44e26ebba6d69e0a74d1628dafcb7e48 (patch)
treea61c39f6e482f178a6fc503b9d172619c4b30820 /llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
parent09d3af4c2b8e1bb96d4898638b4a14a59cc6d305 (diff)
downloadllvm-7496461f44e26ebba6d69e0a74d1628dafcb7e48.zip
llvm-7496461f44e26ebba6d69e0a74d1628dafcb7e48.tar.gz
llvm-7496461f44e26ebba6d69e0a74d1628dafcb7e48.tar.bz2
Make sure we don't insert instructions before a landingpad instruction.
<rdar://problem/10405911> llvm-svn: 144000
Diffstat (limited to 'llvm/lib/Transforms/Utils/DemoteRegToStack.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/DemoteRegToStack.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp b/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
index 8cc2649..3ef6b01 100644
--- a/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
+++ b/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
@@ -97,8 +97,8 @@ AllocaInst* llvm::DemoteRegToStack(Instruction &I, bool VolatileLoads,
InsertPt = II.getNormalDest()->begin();
}
- for (; isa<PHINode>(InsertPt); ++InsertPt)
- /* empty */; // Don't insert before any PHI nodes.
+ for (; isa<PHINode>(InsertPt) || isa<LandingPadInst>(InsertPt); ++InsertPt)
+ /* empty */; // Don't insert before any PHI nodes or landingpad instrs.
new StoreInst(&I, Slot, InsertPt);
return Slot;