mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-20 02:58:10 +00:00
We already have reserved call frame regardless whether variable sized frame objects were present or not
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75987 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
980d5503c3
commit
078e007c07
@ -76,24 +76,9 @@ bool SystemZRegisterInfo::hasFP(const MachineFunction &MF) const {
|
||||
return NoFramePointerElim || MFI->hasVarSizedObjects();
|
||||
}
|
||||
|
||||
bool SystemZRegisterInfo::hasReservedCallFrame(MachineFunction &MF) const {
|
||||
// FIXME: Should we always have reserved call frame?
|
||||
return !MF.getFrameInfo()->hasVarSizedObjects();
|
||||
}
|
||||
|
||||
void SystemZRegisterInfo::
|
||||
eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB,
|
||||
MachineBasicBlock::iterator I) const {
|
||||
if (!hasReservedCallFrame(MF)) {
|
||||
// If the stack pointer can be changed after prologue, turn the
|
||||
// adjcallstackup instruction into a 'sub R15, <amt>' and the
|
||||
// adjcallstackdown instruction into 'add R15, <amt>'
|
||||
MachineInstr *Old = I;
|
||||
uint64_t Amount = Old->getOperand(0).getImm();
|
||||
|
||||
assert((Amount == 0) && "Not implemented yet!");
|
||||
}
|
||||
|
||||
MBB.erase(I);
|
||||
}
|
||||
|
||||
|
@ -46,7 +46,7 @@ struct SystemZRegisterInfo : public SystemZGenRegisterInfo {
|
||||
|
||||
BitVector getReservedRegs(const MachineFunction &MF) const;
|
||||
|
||||
bool hasReservedCallFrame(MachineFunction &MF) const;
|
||||
bool hasReservedCallFrame(MachineFunction &MF) const { return true; }
|
||||
bool hasFP(const MachineFunction &MF) const;
|
||||
|
||||
int getFrameIndexOffset(MachineFunction &MF, int FI) const;
|
||||
|
Loading…
Reference in New Issue
Block a user