summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils
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
parent09d3af4c2b8e1bb96d4898638b4a14a59cc6d305 (diff)
downloadbcm5719-llvm-7496461f44e26ebba6d69e0a74d1628dafcb7e48.tar.gz
bcm5719-llvm-7496461f44e26ebba6d69e0a74d1628dafcb7e48.zip
Make sure we don't insert instructions before a landingpad instruction.
<rdar://problem/10405911> llvm-svn: 144000
Diffstat (limited to 'llvm/lib/Transforms/Utils')
-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 8cc26492c29..3ef6b018bf8 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;
OpenPOWER on IntegriCloud