summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2008-11-26 06:39:12 +0000
committerDan Gohman <gohman@apple.com>2008-11-26 06:39:12 +0000
commit002a2cb207c00e34f5fe48540eeda2dcc0d4d05f (patch)
tree5e996f5b542211bd1aa58a1b5d44e741ac41c0aa
parenta60a6914ccdcd83987e17445e5076556e88af10e (diff)
downloadbcm5719-llvm-002a2cb207c00e34f5fe48540eeda2dcc0d4d05f.tar.gz
bcm5719-llvm-002a2cb207c00e34f5fe48540eeda2dcc0d4d05f.zip
Fish kill flag annotations in PUSH instructions.
llvm-svn: 60095
-rw-r--r--llvm/lib/Target/X86/X86InstrInfo.cpp3
-rw-r--r--llvm/lib/Target/X86/X86RegisterInfo.cpp5
2 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp
index fb7793fdcbe..2e449b99316 100644
--- a/llvm/lib/Target/X86/X86InstrInfo.cpp
+++ b/llvm/lib/Target/X86/X86InstrInfo.cpp
@@ -1880,7 +1880,8 @@ bool X86InstrInfo::spillCalleeSavedRegisters(MachineBasicBlock &MBB,
unsigned Reg = CSI[i-1].getReg();
// Add the callee-saved register as live-in. It's killed at the spill.
MBB.addLiveIn(Reg);
- BuildMI(MBB, MI, get(Opc)).addReg(Reg);
+ BuildMI(MBB, MI, get(Opc))
+ .addReg(Reg, /*isDef=*/false, /*isImp=*/false, /*isKill=*/true);
}
return true;
}
diff --git a/llvm/lib/Target/X86/X86RegisterInfo.cpp b/llvm/lib/Target/X86/X86RegisterInfo.cpp
index 97e1de729a1..85c58d57e9b 100644
--- a/llvm/lib/Target/X86/X86RegisterInfo.cpp
+++ b/llvm/lib/Target/X86/X86RegisterInfo.cpp
@@ -719,7 +719,7 @@ void X86RegisterInfo::emitPrologue(MachineFunction &MF) const {
// Save EBP into the appropriate stack slot...
BuildMI(MBB, MBBI, TII.get(Is64Bit ? X86::PUSH64r : X86::PUSH32r))
- .addReg(FramePtr);
+ .addReg(FramePtr, /*isDef=*/false, /*isImp=*/false, /*isKill=*/true);
if (needsFrameMoves) {
// Mark effective beginning of when frame pointer becomes valid.
@@ -774,7 +774,8 @@ void X86RegisterInfo::emitPrologue(MachineFunction &MF) const {
.addExternalSymbol("_alloca");
} else {
// Save EAX
- BuildMI(MBB, MBBI, TII.get(X86::PUSH32r), X86::EAX);
+ BuildMI(MBB, MBBI, TII.get(X86::PUSH32r))
+ .addReg(X86::EAX, /*isDef=*/false, /*isImp=*/false, /*isKill=*/true);
// Allocate NumBytes-4 bytes on stack. We'll also use 4 already
// allocated bytes for EAX.
BuildMI(MBB, MBBI, TII.get(X86::MOV32ri), X86::EAX).addImm(NumBytes-4);
OpenPOWER on IntegriCloud