forked from OSchip/llvm-project
We already have reserved call frame regardless whether variable sized frame objects were present or not
llvm-svn: 75987
This commit is contained in:
parent
43d33bd6d2
commit
432d4cd915
|
@ -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