diff options
author | Matthias Braun <matze@braunis.de> | 2016-10-11 04:22:29 +0000 |
---|---|---|
committer | Matthias Braun <matze@braunis.de> | 2016-10-11 04:22:29 +0000 |
commit | 3d85ebe5b1cb211cf97b55c0ae902aefc689306e (patch) | |
tree | cbbd713e572431fd436a5c06fbd8b30ff3acf1d0 | |
parent | 086a78cf23eaec7c7dba9809f80f9e8b495f3589 (diff) | |
download | bcm5719-llvm-3d85ebe5b1cb211cf97b55c0ae902aefc689306e.tar.gz bcm5719-llvm-3d85ebe5b1cb211cf97b55c0ae902aefc689306e.zip |
MIRParser: generic register operands with types
This should fix the fallout of r283848.
llvm-svn: 283850
-rw-r--r-- | llvm/lib/CodeGen/MIRParser/MIParser.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/CodeGen/MachineRegisterInfo.cpp | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/MIRParser/MIParser.cpp b/llvm/lib/CodeGen/MIRParser/MIParser.cpp index 98bc8a1c69f..0f58e617b3e 100644 --- a/llvm/lib/CodeGen/MIRParser/MIParser.cpp +++ b/llvm/lib/CodeGen/MIRParser/MIParser.cpp @@ -990,7 +990,7 @@ bool MIParser::parseRegisterOperand(MachineOperand &Dest, // 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; diff --git a/llvm/lib/CodeGen/MachineRegisterInfo.cpp b/llvm/lib/CodeGen/MachineRegisterInfo.cpp index 5b42cd01efc..96a5888b370 100644 --- a/llvm/lib/CodeGen/MachineRegisterInfo.cpp +++ b/llvm/lib/CodeGen/MachineRegisterInfo.cpp @@ -124,7 +124,8 @@ LLT MachineRegisterInfo::getType(unsigned VReg) const { 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; } |