mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-15 02:29:07 +00:00
Filter loops where split condition's false branch is not empty. For example
for (int i = 0; i < N; ++i) { if (i == somevalue) dosomething(); else dosomethingelse(); } git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42121 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
84ef08bfee
commit
968eee2aa7
@ -528,6 +528,10 @@ bool LoopIndexSplit::processOneIterationLoop(SplitInfo &SD) {
|
||||
if (!safeExitingBlock(SD, ExitCondition->getParent()))
|
||||
return false;
|
||||
|
||||
// Filter loops where split condition's false branch is not empty.
|
||||
if (ExitCondition->getParent() != Header->getTerminator()->getSuccessor(1))
|
||||
return false;
|
||||
|
||||
// If split condition is not safe then do not process this loop.
|
||||
// For example,
|
||||
// for(int i = 0; i < N; i++) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user