From 20b0754c414546b9a06a74d409160ebc4a473aab Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 4 Oct 2005 00:44:01 +0000 Subject: Fix DemoteRegToStack on an invoke. This fixes PR634. llvm-svn: 23618 --- llvm/lib/Transforms/Utils/DemoteRegToStack.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'llvm/lib/Transforms/Utils/DemoteRegToStack.cpp') diff --git a/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp b/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp index bbf998d..3eadfa7 100644 --- a/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp +++ b/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp @@ -77,6 +77,7 @@ AllocaInst* llvm::DemoteRegToStack(Instruction &I, bool VolatileLoads) { BasicBlock::iterator InsertPt; if (!isa(I)) { InsertPt = &I; + ++InsertPt; } else { // We cannot demote invoke instructions to the stack if their normal edge // is critical. @@ -86,7 +87,7 @@ AllocaInst* llvm::DemoteRegToStack(Instruction &I, bool VolatileLoads) { InsertPt = II.getNormalDest()->begin(); } - for (++InsertPt; isa(InsertPt); ++InsertPt) + for (; isa(InsertPt); ++InsertPt) /* empty */; // Don't insert before any PHI nodes. new StoreInst(&I, Slot, InsertPt); -- cgit v1.1