RegisterCoalescer: implicit phsreg uses are fine when rematerializing
authorMatthias Braun <matze@braunis.de>
Fri, 24 Apr 2015 00:01:37 +0000 (00:01 +0000)
committerMatthias Braun <matze@braunis.de>
Fri, 24 Apr 2015 00:01:37 +0000 (00:01 +0000)
The target hooks should have already checked them. This change is
necessary to enable the remateriailzation on R600.

llvm-svn: 235673

llvm/lib/CodeGen/RegisterCoalescer.cpp

index a8fcd95..ee0877e 100644 (file)
@@ -963,8 +963,8 @@ bool RegisterCoalescer::reMaterializeTrivialDef(const CoalescerPair &CP,
   for (unsigned i = NewMI->getDesc().getNumOperands(),
          e = NewMI->getNumOperands(); i != e; ++i) {
     MachineOperand &MO = NewMI->getOperand(i);
-    if (MO.isReg()) {
-      assert(MO.isDef() && MO.isImplicit() && MO.isDead() &&
+    if (MO.isReg() && MO.isDef()) {
+      assert(MO.isImplicit() && MO.isDead() &&
              TargetRegisterInfo::isPhysicalRegister(MO.getReg()));
       NewMIImplDefs.push_back(MO.getReg());
     }