forked from OSchip/llvm-project
[SimplifyCFG] Move a portion of an if statement that should already be implied to an assert
Summary: In this code we got to Dom by following the predecessor link of BB. So it stands to reason that BB should also show up as a successor of Dom's terminator right? There isn't a way to have the CFG connect in only one direction is there? Reviewers: jmolloy, davide, mcrosier Reviewed By: mcrosier Subscribers: mcrosier, llvm-commits Differential Revision: https://reviews.llvm.org/D35025 llvm-svn: 307276
This commit is contained in:
parent
95e4142f94
commit
dfd01ea9ed
|
@ -5754,8 +5754,8 @@ bool SimplifyCFGOpt::SimplifyCondBranch(BranchInst *BI, IRBuilder<> &Builder) {
|
|||
if (BasicBlock *Dom = BB->getSinglePredecessor()) {
|
||||
auto *PBI = dyn_cast_or_null<BranchInst>(Dom->getTerminator());
|
||||
if (PBI && PBI->isConditional() &&
|
||||
PBI->getSuccessor(0) != PBI->getSuccessor(1) &&
|
||||
(PBI->getSuccessor(0) == BB || PBI->getSuccessor(1) == BB)) {
|
||||
PBI->getSuccessor(0) != PBI->getSuccessor(1)) {
|
||||
assert(PBI->getSuccessor(0) == BB || PBI->getSuccessor(1) == BB);
|
||||
bool CondIsFalse = PBI->getSuccessor(1) == BB;
|
||||
Optional<bool> Implication = isImpliedCondition(
|
||||
PBI->getCondition(), BI->getCondition(), DL, CondIsFalse);
|
||||
|
|
Loading…
Reference in New Issue