mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
In Thumb mode, the frame register must be R7.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36512 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -85,7 +85,7 @@ ARMRegisterInfo::ARMRegisterInfo(const TargetInstrInfo &tii,
|
||||
const ARMSubtarget &sti)
|
||||
: ARMGenRegisterInfo(ARM::ADJCALLSTACKDOWN, ARM::ADJCALLSTACKUP),
|
||||
TII(tii), STI(sti),
|
||||
FramePtr(STI.useThumbBacktraces() ? ARM::R7 : ARM::R11) {
|
||||
FramePtr(STI.useThumbBacktraces() || STI.isThumb() ? ARM::R7 : ARM::R11) {
|
||||
}
|
||||
|
||||
bool ARMRegisterInfo::spillCalleeSavedRegisters(MachineBasicBlock &MBB,
|
||||
@@ -1472,7 +1472,7 @@ unsigned ARMRegisterInfo::getRARegister() const {
|
||||
|
||||
unsigned ARMRegisterInfo::getFrameRegister(MachineFunction &MF) const {
|
||||
if (STI.isTargetDarwin() || hasFP(MF))
|
||||
return STI.useThumbBacktraces() ? ARM::R7 : ARM::R11;
|
||||
return STI.useThumbBacktraces() || STI.isThumb() ? ARM::R7 : ARM::R11;
|
||||
else
|
||||
return ARM::SP;
|
||||
}
|
||||
|
Reference in New Issue
Block a user