forked from OSchip/llvm-project
fix a bug where we unswitched the wrong way
llvm-svn: 26225
This commit is contained in:
parent
03c1e6f48e
commit
ff42e81028
|
@ -197,9 +197,9 @@ static bool IsTrivialUnswitchCondition(Loop *L, Value *Cond,
|
|||
// side-effects. If so, determine the value of Cond that causes it to do
|
||||
// this.
|
||||
if ((LoopExitBB = isTrivialLoopExitBlock(L, BI->getSuccessor(0)))) {
|
||||
if (Val) *Val = ConstantBool::True;
|
||||
} else if ((LoopExitBB = isTrivialLoopExitBlock(L, BI->getSuccessor(1)))) {
|
||||
if (Val) *Val = ConstantBool::False;
|
||||
} else if ((LoopExitBB = isTrivialLoopExitBlock(L, BI->getSuccessor(1)))) {
|
||||
if (Val) *Val = ConstantBool::True;
|
||||
}
|
||||
} else if (SwitchInst *SI = dyn_cast<SwitchInst>(HeaderTerm)) {
|
||||
// If this isn't a switch on Cond, we can't handle it.
|
||||
|
|
Loading…
Reference in New Issue