This should fix the fallout of r283848.
llvm-svn: 283850
// Virtual registers may have a size with GlobalISel.
if (!TargetRegisterInfo::isVirtualRegister(Reg))
return error("unexpected size on physical register");
- if (MRI.getRegClassOrRegBank(Reg).is<const TargetRegisterClass *>())
+ if (RegInfo->Kind != VRegInfo::GENERIC)
return error("unexpected size on non-generic virtual register");
LLT Ty;
void MachineRegisterInfo::setType(unsigned VReg, LLT Ty) {
// Check that VReg doesn't have a class.
- assert(!getRegClassOrRegBank(VReg).is<const TargetRegisterClass *>() &&
+ assert(getRegClassOrRegBank(VReg).isNull() ||
+ !getRegClassOrRegBank(VReg).is<const TargetRegisterClass *>() &&
"Can't set the size of a non-generic virtual register");
getVRegToType()[VReg] = Ty;
}