Do not check isPredicated() on non-predicable instructions.
[oota-llvm.git] / lib / Target / TargetInstrInfo.cpp
index 6f6083fb2825612f6f8485d6d4bf99ce2cd8046e..9e706cdcfe640b0a40fc9584ffa373ae02f3602b 100644 (file)
@@ -87,7 +87,10 @@ bool TargetInstrInfo::PredicateInstruction(MachineInstr *MI,
 
 bool TargetInstrInfo::isUnpredicatedTerminator(const MachineInstr *MI) const {
   const TargetInstrDescriptor *TID = MI->getInstrDescriptor();
-  if (TID->Flags & M_TERMINATOR_FLAG)
+  if (TID->Flags & M_TERMINATOR_FLAG) {
+    if ((TID->Flags & M_PREDICABLE) == 0)
+      return true;
     return !isPredicated(MI);
+}
   return false;
 }