diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-12-03 05:22:38 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-12-03 05:22:38 +0000 |
commit | 88652a009bce5ed91645261f5ae6fef3451e4f50 (patch) | |
tree | 3ef765845bad9e8c494424ce1ff70c331ba42d8d /llvm | |
parent | becd656c7caf68d443dc721ae01590d200beed9c (diff) | |
download | bcm5719-llvm-88652a009bce5ed91645261f5ae6fef3451e4f50.tar.gz bcm5719-llvm-88652a009bce5ed91645261f5ae6fef3451e4f50.zip |
R600/SI: Remove incorrect assertion
This can be a COPY to a physical register, such as VCC
llvm-svn: 223207
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/lib/Target/R600/SIFixSGPRCopies.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/lib/Target/R600/SIFixSGPRCopies.cpp b/llvm/lib/Target/R600/SIFixSGPRCopies.cpp index d90f09d3cd6..82969f682b5 100644 --- a/llvm/lib/Target/R600/SIFixSGPRCopies.cpp +++ b/llvm/lib/Target/R600/SIFixSGPRCopies.cpp @@ -136,12 +136,12 @@ const TargetRegisterClass *SIFixSGPRCopies::inferRegClassFromUses( const MachineRegisterInfo &MRI, unsigned Reg, unsigned SubReg) const { - // The Reg parameter to the function must always be defined by either a PHI - // or a COPY, therefore it cannot be a physical register. - assert(TargetRegisterInfo::isVirtualRegister(Reg) && - "Reg cannot be a physical register"); - const TargetRegisterClass *RC = MRI.getRegClass(Reg); + const TargetRegisterClass *RC + = TargetRegisterInfo::isVirtualRegister(Reg) ? + MRI.getRegClass(Reg) : + TRI->getRegClass(Reg); + RC = TRI->getSubRegClass(RC, SubReg); for (MachineRegisterInfo::use_instr_iterator I = MRI.use_instr_begin(Reg), E = MRI.use_instr_end(); I != E; ++I) { |