summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2014-12-03 05:22:38 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2014-12-03 05:22:38 +0000
commit88652a009bce5ed91645261f5ae6fef3451e4f50 (patch)
tree3ef765845bad9e8c494424ce1ff70c331ba42d8d /llvm
parentbecd656c7caf68d443dc721ae01590d200beed9c (diff)
downloadbcm5719-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.cpp10
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) {
OpenPOWER on IntegriCloud