Index: lib/Target/AMDGPU/SIRegisterInfo.cpp =================================================================== --- lib/Target/AMDGPU/SIRegisterInfo.cpp +++ lib/Target/AMDGPU/SIRegisterInfo.cpp @@ -1215,6 +1215,10 @@ &AMDGPU::VReg_512RegClass, &AMDGPU::SReg_512RegClass, &AMDGPU::SCC_CLASSRegClass, + &AMDGPU::R600_Reg32RegClass, + &AMDGPU::R600_PredicateRegClass, + &AMDGPU::Pseudo_SReg_32RegClass, + &AMDGPU::Pseudo_SReg_128RegClass, }; for (const TargetRegisterClass *BaseClass : BaseClasses) { @@ -1479,7 +1483,9 @@ bool SIRegisterInfo::isVGPR(const MachineRegisterInfo &MRI, unsigned Reg) const { - return hasVGPRs(getRegClassForReg(MRI, Reg)); + const TargetRegisterClass * RC = getRegClassForReg(MRI, Reg); + assert(nullptr != RC && "Register class for the reg not found"); + return hasVGPRs(RC); } bool SIRegisterInfo::shouldCoalesce(MachineInstr *MI,