aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/TargetInstrInfo.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Target/TargetInstrInfo.cpp b/lib/Target/TargetInstrInfo.cpp
index 6f6083fb28..9e706cdcfe 100644
--- a/lib/Target/TargetInstrInfo.cpp
+++ b/lib/Target/TargetInstrInfo.cpp
@@ -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;
}