mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-09 01:38:03 +00:00
ARMBaseRegisterInfo::hasFP() has been broken for a while now. :-(
This will always be false before PEI: (DisableFramePointerElim(MF) && MFI->adjustsStack()) Which means it's going to make r11 available as a general purpose register even if -disable-fp-elim is specified. It's working on Darwin only because r7 is always reserved. But it's obviously broken for other targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110614 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
93f6c1ec6e
commit
b000d683c8
@ -611,7 +611,8 @@ ARMBaseRegisterInfo::UpdateRegAllocHint(unsigned Reg, unsigned NewReg,
|
||||
///
|
||||
bool ARMBaseRegisterInfo::hasFP(const MachineFunction &MF) const {
|
||||
const MachineFrameInfo *MFI = MF.getFrameInfo();
|
||||
return ((DisableFramePointerElim(MF) && MFI->adjustsStack())||
|
||||
// Always eliminate non-leaf frame pointers.
|
||||
return ((DisableFramePointerElim(MF) && MFI->hasCalls()) ||
|
||||
needsStackRealignment(MF) ||
|
||||
MFI->hasVarSizedObjects() ||
|
||||
MFI->isFrameAddressTaken());
|
||||
|
Loading…
x
Reference in New Issue
Block a user