Be less conservative about forming IT blocks.
[oota-llvm.git] / lib / Target / ARM / ARMBaseInstrInfo.cpp
index 9f43e732bd73ba2ace53226ef7895331ad86a110..3eb21ad70775dbbdeff4508a2449ffc9422d322a 100644 (file)
@@ -518,7 +518,7 @@ bool ARMBaseInstrInfo::DefinesPredicate(MachineInstr *MI,
 
 static bool isCPSRDefined(const MachineInstr *MI) {
   for (const auto &MO : MI->operands())
-    if (MO.isReg() && MO.getReg() == ARM::CPSR && MO.isDef())
+    if (MO.isReg() && MO.getReg() == ARM::CPSR && MO.isDef() && !MO.isDead())
       return true;
   return false;
 }