summaryrefslogtreecommitdiff
path: root/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
commitac101e584873d72715b4fc4d2e35e3ba0ec8217b (patch)
tree23312a01e41cfe8140509fbdb46fe1cd9d159cfd /lib/Transforms/Utils/DemoteRegToStack.cpp
parent3e5d5c53a03e4a08cdb67f8a7f44567f925be9a5 (diff)
downloadllvm-ac101e584873d72715b4fc4d2e35e3ba0ec8217b.tar.gz
llvm-ac101e584873d72715b4fc4d2e35e3ba0ec8217b.tar.bz2
llvm-ac101e584873d72715b4fc4d2e35e3ba0ec8217b.tar.xz
Make sure we don't insert instructions before a landingpad instruction.
<rdar://problem/10405911> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144000 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/DemoteRegToStack.cpp')
-rw-r--r--lib/Transforms/Utils/DemoteRegToStack.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Transforms/Utils/DemoteRegToStack.cpp b/lib/Transforms/Utils/DemoteRegToStack.cpp
index 8cc26492c2..3ef6b018bf 100644
--- a/lib/Transforms/Utils/DemoteRegToStack.cpp
+++ b/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;