From: Evan Cheng Date: Tue, 24 Mar 2009 20:33:17 +0000 (+0000) Subject: Fix PR3845: Avoid stale MachineInstruction pointer reference. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=78a5bd5dbd4d99d916c69d89ceaabd83c0e52469;p=oota-llvm.git Fix PR3845: Avoid stale MachineInstruction pointer reference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67649 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/PrologEpilogInserter.cpp b/lib/CodeGen/PrologEpilogInserter.cpp index 322c28bd4dd..564f9a49443 100644 --- a/lib/CodeGen/PrologEpilogInserter.cpp +++ b/lib/CodeGen/PrologEpilogInserter.cpp @@ -513,8 +513,6 @@ void PEI::replaceFrameIndices(MachineFunction &Fn) { int SPAdj = 0; // SP offset due to call frame setup / destroy. if (RS) RS->enterBasicBlock(BB); for (MachineBasicBlock::iterator I = BB->begin(); I != BB->end(); ) { - MachineInstr *MI = I; - if (I->getOpcode() == TargetInstrInfo::DECLARE) { // Ignore it. ++I; @@ -545,8 +543,8 @@ void PEI::replaceFrameIndices(MachineFunction &Fn) { continue; } + MachineInstr *MI = I; bool DoIncr = true; - for (unsigned i = 0, e = MI->getNumOperands(); i != e; ++i) if (MI->getOperand(i).isFI()) { // Some instructions (e.g. inline asm instructions) can have