diff options
Diffstat (limited to 'contrib/llvm/lib/Transforms/Utils/PredicateInfo.cpp')
| -rw-r--r-- | contrib/llvm/lib/Transforms/Utils/PredicateInfo.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/contrib/llvm/lib/Transforms/Utils/PredicateInfo.cpp b/contrib/llvm/lib/Transforms/Utils/PredicateInfo.cpp index 9e71cba4f1b7..1260e35e934d 100644 --- a/contrib/llvm/lib/Transforms/Utils/PredicateInfo.cpp +++ b/contrib/llvm/lib/Transforms/Utils/PredicateInfo.cpp @@ -460,6 +460,9 @@ void PredicateInfo::buildPredicateInfo() { if (auto *BI = dyn_cast<BranchInst>(BranchBB->getTerminator())) { if (!BI->isConditional()) continue; + // Can't insert conditional information if they all go to the same place. + if (BI->getSuccessor(0) == BI->getSuccessor(1)) + continue; processBranch(BI, BranchBB, OpsToRename); } else if (auto *SI = dyn_cast<SwitchInst>(BranchBB->getTerminator())) { processSwitch(SI, BranchBB, OpsToRename); |
