mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-28 21:34:23 +00:00
Fix more of PR8825. Now all of CodeGen/ARM passes with VerifyCoalescing turned on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131578 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
673968ae78
commit
955db42568
@ -1672,10 +1672,14 @@ bool ARMPreAllocLoadStoreOpt::RescheduleOps(MachineBasicBlock *MBB,
|
|||||||
Ops.pop_back();
|
Ops.pop_back();
|
||||||
Ops.pop_back();
|
Ops.pop_back();
|
||||||
|
|
||||||
|
const TargetInstrDesc &TID = TII->get(NewOpc);
|
||||||
|
const TargetRegisterClass *TRC = TID.OpInfo[0].getRegClass(TRI);
|
||||||
|
MRI->constrainRegClass(EvenReg, TRC);
|
||||||
|
MRI->constrainRegClass(OddReg, TRC);
|
||||||
|
|
||||||
// Form the pair instruction.
|
// Form the pair instruction.
|
||||||
if (isLd) {
|
if (isLd) {
|
||||||
MachineInstrBuilder MIB = BuildMI(*MBB, InsertPos,
|
MachineInstrBuilder MIB = BuildMI(*MBB, InsertPos, dl, TID)
|
||||||
dl, TII->get(NewOpc))
|
|
||||||
.addReg(EvenReg, RegState::Define)
|
.addReg(EvenReg, RegState::Define)
|
||||||
.addReg(OddReg, RegState::Define)
|
.addReg(OddReg, RegState::Define)
|
||||||
.addReg(BaseReg);
|
.addReg(BaseReg);
|
||||||
@ -1687,8 +1691,7 @@ bool ARMPreAllocLoadStoreOpt::RescheduleOps(MachineBasicBlock *MBB,
|
|||||||
MIB.addImm(Offset).addImm(Pred).addReg(PredReg);
|
MIB.addImm(Offset).addImm(Pred).addReg(PredReg);
|
||||||
++NumLDRDFormed;
|
++NumLDRDFormed;
|
||||||
} else {
|
} else {
|
||||||
MachineInstrBuilder MIB = BuildMI(*MBB, InsertPos,
|
MachineInstrBuilder MIB = BuildMI(*MBB, InsertPos, dl, TID)
|
||||||
dl, TII->get(NewOpc))
|
|
||||||
.addReg(EvenReg)
|
.addReg(EvenReg)
|
||||||
.addReg(OddReg)
|
.addReg(OddReg)
|
||||||
.addReg(BaseReg);
|
.addReg(BaseReg);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user