mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-26 07:34:14 +00:00
isLowRegister() expects input is a physical register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34013 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f2e292ce58
commit
bd8251a9a6
@ -218,14 +218,14 @@ MachineInstr *ARMRegisterInfo::foldMemoryOperand(MachineInstr *MI,
|
|||||||
case ARM::tMOVrr: {
|
case ARM::tMOVrr: {
|
||||||
if (OpNum == 0) { // move -> store
|
if (OpNum == 0) { // move -> store
|
||||||
unsigned SrcReg = MI->getOperand(1).getReg();
|
unsigned SrcReg = MI->getOperand(1).getReg();
|
||||||
if (!isLowRegister(SrcReg))
|
if (isPhysicalRegister(SrcReg) && !isLowRegister(SrcReg))
|
||||||
// tSpill cannot take a high register operand.
|
// tSpill cannot take a high register operand.
|
||||||
break;
|
break;
|
||||||
NewMI = BuildMI(TII.get(ARM::tSpill)).addReg(SrcReg).addFrameIndex(FI)
|
NewMI = BuildMI(TII.get(ARM::tSpill)).addReg(SrcReg).addFrameIndex(FI)
|
||||||
.addImm(0);
|
.addImm(0);
|
||||||
} else { // move -> load
|
} else { // move -> load
|
||||||
unsigned DstReg = MI->getOperand(0).getReg();
|
unsigned DstReg = MI->getOperand(0).getReg();
|
||||||
if (!isLowRegister(DstReg))
|
if (isPhysicalRegister(DstReg) && !isLowRegister(DstReg))
|
||||||
// tRestore cannot target a high register operand.
|
// tRestore cannot target a high register operand.
|
||||||
break;
|
break;
|
||||||
NewMI = BuildMI(TII.get(ARM::tRestore), DstReg).addFrameIndex(FI)
|
NewMI = BuildMI(TII.get(ARM::tRestore), DstReg).addFrameIndex(FI)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user