diff options
author | Evan Cheng <evan.cheng@apple.com> | 2009-03-24 20:33:17 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2009-03-24 20:33:17 +0000 |
commit | f413a888398ca28fb69bb02a104cf7e60420db12 (patch) | |
tree | d769a0ac550f57ac885d001ae90e67312ce5883e /llvm/lib/CodeGen/PrologEpilogInserter.cpp | |
parent | 64259f5143b64db9f182a042a5bb7886a3a92ab9 (diff) | |
download | bcm5719-llvm-f413a888398ca28fb69bb02a104cf7e60420db12.tar.gz bcm5719-llvm-f413a888398ca28fb69bb02a104cf7e60420db12.zip |
Fix PR3845: Avoid stale MachineInstruction pointer reference.
llvm-svn: 67649
Diffstat (limited to 'llvm/lib/CodeGen/PrologEpilogInserter.cpp')
-rw-r--r-- | llvm/lib/CodeGen/PrologEpilogInserter.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/PrologEpilogInserter.cpp b/llvm/lib/CodeGen/PrologEpilogInserter.cpp index 322c28bd4dd..564f9a49443 100644 --- a/llvm/lib/CodeGen/PrologEpilogInserter.cpp +++ b/llvm/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 |