diff options
-rw-r--r-- | lib/Target/X86/X86RegisterInfo.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/Target/X86/X86RegisterInfo.cpp b/lib/Target/X86/X86RegisterInfo.cpp index 89d9f9b939..59e49eaf4f 100644 --- a/lib/Target/X86/X86RegisterInfo.cpp +++ b/lib/Target/X86/X86RegisterInfo.cpp @@ -412,11 +412,13 @@ eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB, } } - // The EFLAGS implicit def is dead. - New->getOperand(3).setIsDead(); + if (New) { + // The EFLAGS implicit def is dead. + New->getOperand(3).setIsDead(); - // Replace the pseudo instruction with a new instruction... - if (New) MBB.insert(I, New); + // Replace the pseudo instruction with a new instruction... + MBB.insert(I, New); + } } } else if (I->getOpcode() == getCallFrameDestroyOpcode()) { // If we are performing frame pointer elimination and if the callee pops |