mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
1. Introduce a new TargetOperandInfo::getRegClass() helper method
and convert code to using it, instead of having lots of things poke the isLookupPtrRegClass() method directly. 2. Make PointerLikeRegClass contain a 'kind' int, and store it in the existing regclass field of TargetOperandInfo when the isLookupPtrRegClass() predicate is set. Make getRegClass pass this into TargetRegisterInfo::getPointerRegClass(), allowing targets to have multiple ptr_rc things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77504 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -408,8 +408,7 @@ MachineVerifier::visitMachineOperand(const MachineOperand *MO, unsigned MONum)
|
||||
}
|
||||
sr = s;
|
||||
}
|
||||
if (TOI.RegClass) {
|
||||
const TargetRegisterClass *DRC = TRI->getRegClass(TOI.RegClass);
|
||||
if (const TargetRegisterClass *DRC = TOI.getRegClass(TRI)) {
|
||||
if (!DRC->contains(sr)) {
|
||||
report("Illegal physical register for instruction", MO, MONum);
|
||||
*OS << TRI->getName(sr) << " is not a "
|
||||
@@ -426,8 +425,7 @@ MachineVerifier::visitMachineOperand(const MachineOperand *MO, unsigned MONum)
|
||||
}
|
||||
RC = *(RC->subregclasses_begin()+SubIdx);
|
||||
}
|
||||
if (TOI.RegClass) {
|
||||
const TargetRegisterClass *DRC = TRI->getRegClass(TOI.RegClass);
|
||||
if (const TargetRegisterClass *DRC = TOI.getRegClass(TRI)) {
|
||||
if (RC != DRC && !RC->hasSuperClass(DRC)) {
|
||||
report("Illegal virtual register for instruction", MO, MONum);
|
||||
*OS << "Expected a " << DRC->getName() << " register, but got a "
|
||||
|
Reference in New Issue
Block a user