mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
- Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo and
sink them into MC layer. - Added MCInstrInfo, which captures the tablegen generated static data. Chang TargetInstrInfo so it's based off MCInstrInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134021 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1461,19 +1461,19 @@ static bool IsSafeAndProfitableToMove(bool isLd, unsigned Base,
|
||||
while (++I != E) {
|
||||
if (I->isDebugValue() || MemOps.count(&*I))
|
||||
continue;
|
||||
const TargetInstrDesc &TID = I->getDesc();
|
||||
if (TID.isCall() || TID.isTerminator() || I->hasUnmodeledSideEffects())
|
||||
const MCInstrDesc &MCID = I->getDesc();
|
||||
if (MCID.isCall() || MCID.isTerminator() || I->hasUnmodeledSideEffects())
|
||||
return false;
|
||||
if (isLd && TID.mayStore())
|
||||
if (isLd && MCID.mayStore())
|
||||
return false;
|
||||
if (!isLd) {
|
||||
if (TID.mayLoad())
|
||||
if (MCID.mayLoad())
|
||||
return false;
|
||||
// It's not safe to move the first 'str' down.
|
||||
// str r1, [r0]
|
||||
// strh r5, [r0]
|
||||
// str r4, [r0, #+4]
|
||||
if (TID.mayStore())
|
||||
if (MCID.mayStore())
|
||||
return false;
|
||||
}
|
||||
for (unsigned j = 0, NumOps = I->getNumOperands(); j != NumOps; ++j) {
|
||||
@@ -1672,14 +1672,14 @@ bool ARMPreAllocLoadStoreOpt::RescheduleOps(MachineBasicBlock *MBB,
|
||||
Ops.pop_back();
|
||||
Ops.pop_back();
|
||||
|
||||
const TargetInstrDesc &TID = TII->get(NewOpc);
|
||||
const TargetRegisterClass *TRC = TII->getRegClass(TID, 0, TRI);
|
||||
const MCInstrDesc &MCID = TII->get(NewOpc);
|
||||
const TargetRegisterClass *TRC = TII->getRegClass(MCID, 0, TRI);
|
||||
MRI->constrainRegClass(EvenReg, TRC);
|
||||
MRI->constrainRegClass(OddReg, TRC);
|
||||
|
||||
// Form the pair instruction.
|
||||
if (isLd) {
|
||||
MachineInstrBuilder MIB = BuildMI(*MBB, InsertPos, dl, TID)
|
||||
MachineInstrBuilder MIB = BuildMI(*MBB, InsertPos, dl, MCID)
|
||||
.addReg(EvenReg, RegState::Define)
|
||||
.addReg(OddReg, RegState::Define)
|
||||
.addReg(BaseReg);
|
||||
@@ -1691,7 +1691,7 @@ bool ARMPreAllocLoadStoreOpt::RescheduleOps(MachineBasicBlock *MBB,
|
||||
MIB.addImm(Offset).addImm(Pred).addReg(PredReg);
|
||||
++NumLDRDFormed;
|
||||
} else {
|
||||
MachineInstrBuilder MIB = BuildMI(*MBB, InsertPos, dl, TID)
|
||||
MachineInstrBuilder MIB = BuildMI(*MBB, InsertPos, dl, MCID)
|
||||
.addReg(EvenReg)
|
||||
.addReg(OddReg)
|
||||
.addReg(BaseReg);
|
||||
@@ -1742,8 +1742,8 @@ ARMPreAllocLoadStoreOpt::RescheduleLoadStoreInstrs(MachineBasicBlock *MBB) {
|
||||
while (MBBI != E) {
|
||||
for (; MBBI != E; ++MBBI) {
|
||||
MachineInstr *MI = MBBI;
|
||||
const TargetInstrDesc &TID = MI->getDesc();
|
||||
if (TID.isCall() || TID.isTerminator()) {
|
||||
const MCInstrDesc &MCID = MI->getDesc();
|
||||
if (MCID.isCall() || MCID.isTerminator()) {
|
||||
// Stop at barriers.
|
||||
++MBBI;
|
||||
break;
|
||||
|
Reference in New Issue
Block a user