[SystemZ] Optimize sign-extends of vector setccs
[oota-llvm.git] / lib / CodeGen / RegisterScavenging.cpp
index d1a945df81a2332e96c895b02cf7543c2140d47a..75ebdaa357f789754ba6a96999b4f103c26644eb 100644 (file)
@@ -368,7 +368,7 @@ unsigned RegScavenger::scavengeRegister(const TargetRegisterClass *RC,
   // Exclude all the registers being used by the instruction.
   for (unsigned i = 0, e = I->getNumOperands(); i != e; ++i) {
     MachineOperand &MO = I->getOperand(i);
-    if (MO.isReg() && MO.getReg() != 0 &&
+    if (MO.isReg() && MO.getReg() != 0 && !(MO.isUse() && MO.isUndef()) &&
         !TargetRegisterInfo::isVirtualRegister(MO.getReg()))
       Candidates.reset(MO.getReg());
   }