Reduce usage of MRegisterInfo::getRegClass

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17238 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2004-10-26 05:29:18 +00:00
parent 4a0de07e78
commit ad3c74fc9b

View File

@ -658,15 +658,16 @@ void LiveIntervals::joinIntervals() {
/// classes. The registers may be either phys or virt regs. /// classes. The registers may be either phys or virt regs.
bool LiveIntervals::differingRegisterClasses(unsigned RegA, bool LiveIntervals::differingRegisterClasses(unsigned RegA,
unsigned RegB) const { unsigned RegB) const {
const TargetRegisterClass *RegClass;
// Get the register classes for the first reg. // Get the register classes for the first reg.
if (MRegisterInfo::isVirtualRegister(RegA)) if (MRegisterInfo::isPhysicalRegister(RegA)) {
RegClass = mf_->getSSARegMap()->getRegClass(RegA); assert(MRegisterInfo::isVirtualRegister(RegB) &&
else "Shouldn't consider two physregs!");
RegClass = mri_->getRegClass(RegA); return !mf_->getSSARegMap()->getRegClass(RegB)->contains(RegA);
}
// Compare against the regclass for the second reg. // Compare against the regclass for the second reg.
const TargetRegisterClass *RegClass = mf_->getSSARegMap()->getRegClass(RegA);
if (MRegisterInfo::isVirtualRegister(RegB)) if (MRegisterInfo::isVirtualRegister(RegB))
return RegClass != mf_->getSSARegMap()->getRegClass(RegB); return RegClass != mf_->getSSARegMap()->getRegClass(RegB);
else else