mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-25 10:27:04 +00:00
Move getPointerRegClass from TargetInstrInfo to TargetRegisterInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63938 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -2270,7 +2270,7 @@ bool X86InstrInfo::unfoldMemoryOperand(MachineFunction &MF, MachineInstr *MI,
|
||||
const TargetInstrDesc &TID = get(Opc);
|
||||
const TargetOperandInfo &TOI = TID.OpInfo[Index];
|
||||
const TargetRegisterClass *RC = TOI.isLookupPtrRegClass()
|
||||
? getPointerRegClass() : RI.getRegClass(TOI.RegClass);
|
||||
? RI.getPointerRegClass() : RI.getRegClass(TOI.RegClass);
|
||||
SmallVector<MachineOperand,4> AddrOps;
|
||||
SmallVector<MachineOperand,2> BeforeOps;
|
||||
SmallVector<MachineOperand,2> AfterOps;
|
||||
@@ -2345,7 +2345,7 @@ bool X86InstrInfo::unfoldMemoryOperand(MachineFunction &MF, MachineInstr *MI,
|
||||
if (UnfoldStore) {
|
||||
const TargetOperandInfo &DstTOI = TID.OpInfo[0];
|
||||
const TargetRegisterClass *DstRC = DstTOI.isLookupPtrRegClass()
|
||||
? getPointerRegClass() : RI.getRegClass(DstTOI.RegClass);
|
||||
? RI.getPointerRegClass() : RI.getRegClass(DstTOI.RegClass);
|
||||
storeRegToAddr(MF, Reg, true, AddrOps, DstRC, NewMIs);
|
||||
}
|
||||
|
||||
@@ -2369,7 +2369,7 @@ X86InstrInfo::unfoldMemoryOperand(SelectionDAG &DAG, SDNode *N,
|
||||
const TargetInstrDesc &TID = get(Opc);
|
||||
const TargetOperandInfo &TOI = TID.OpInfo[Index];
|
||||
const TargetRegisterClass *RC = TOI.isLookupPtrRegClass()
|
||||
? getPointerRegClass() : RI.getRegClass(TOI.RegClass);
|
||||
? RI.getPointerRegClass() : RI.getRegClass(TOI.RegClass);
|
||||
std::vector<SDValue> AddrOps;
|
||||
std::vector<SDValue> BeforeOps;
|
||||
std::vector<SDValue> AfterOps;
|
||||
@@ -2406,7 +2406,7 @@ X86InstrInfo::unfoldMemoryOperand(SelectionDAG &DAG, SDNode *N,
|
||||
if (TID.getNumDefs() > 0) {
|
||||
const TargetOperandInfo &DstTOI = TID.OpInfo[0];
|
||||
DstRC = DstTOI.isLookupPtrRegClass()
|
||||
? getPointerRegClass() : RI.getRegClass(DstTOI.RegClass);
|
||||
? RI.getPointerRegClass() : RI.getRegClass(DstTOI.RegClass);
|
||||
VTs.push_back(*DstRC->vt_begin());
|
||||
}
|
||||
for (unsigned i = 0, e = N->getNumValues(); i != e; ++i) {
|
||||
@@ -2490,14 +2490,6 @@ isSafeToMoveRegClassDefs(const TargetRegisterClass *RC) const {
|
||||
RC == &X86::RFP64RegClass || RC == &X86::RFP80RegClass);
|
||||
}
|
||||
|
||||
const TargetRegisterClass *X86InstrInfo::getPointerRegClass() const {
|
||||
const X86Subtarget *Subtarget = &TM.getSubtarget<X86Subtarget>();
|
||||
if (Subtarget->is64Bit())
|
||||
return &X86::GR64RegClass;
|
||||
else
|
||||
return &X86::GR32RegClass;
|
||||
}
|
||||
|
||||
unsigned X86InstrInfo::sizeOfImm(const TargetInstrDesc *Desc) {
|
||||
switch (Desc->TSFlags & X86II::ImmMask) {
|
||||
case X86II::Imm8: return 1;
|
||||
|
||||
Reference in New Issue
Block a user