mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-12 22:30:12 +00:00
Fish kill flag annotations in PUSH instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60095 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2ad8245566
commit
25a1b47cc3
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user