llvm-6502/test/Transforms/LoopUnswitch
Chen Li 5015f9766b [LoopUnswitch] Code refactoring to separate trivial loop unswitch and non-trivial loop unswitch in processCurrentLoop()
Summary: The current code in LoopUnswtich::processCurrentLoop() mixes trivial loop unswitch and non-trivial loop unswitch together. It goes over all basic blocks in the loop and checks if a condition is trivial or non-trivial unswitch condition. However, trivial unswitch condition can only occur in the loop header basic block (where it controls whether or not the loop does something at all). This refactoring separate trivial loop unswitch and non-trivial loop unswitch. Before going over all basic blocks in the loop, it checks if the loop header contains a trivial unswitch condition. If so, unswitch it. Otherwise, go over all blocks like before but don't check trivial condition any more since they are not possible to be in the other blocks. This code has no functionality change.

Reviewers: meheff, reames, broune

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D11276

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242873 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-22 05:26:29 +00:00
..
2006-06-13-SingleEntryPHI.ll
2006-06-27-DeadSwitchCase.ll
2007-05-09-tl.ll
2007-05-09-Unreachable.ll
2007-07-12-ExitDomInfo.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
2007-07-13-DomInfo.ll
2007-07-18-DomInfo.ll
2007-08-01-Dom.ll
2007-08-01-LCSSA.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
2007-10-04-DomFrontier.ll
2008-06-02-DomInfo.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2008-06-17-DomFrontier.ll
2008-11-03-Invariant.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2010-11-18-LCSSA.ll
2011-06-02-CritSwitch.ll
2011-09-26-EHCrash.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
2011-11-18-SimpleSwitch.ll Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00
2011-11-18-TwoSwitches-Threshold.ll
2011-11-18-TwoSwitches.ll Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00
2012-04-02-IndirectBr.ll
2012-04-30-LoopUnswitch-LPad-Crash.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
2012-05-20-Phi.ll
2015-06-17-Metadata.ll Fix PR13851: Preserve metadata for the unswitched branch 2015-06-23 05:31:09 +00:00
basictest.ll
crash.ll
infinite-loop.ll
LIV-loop-condtion.ll [LoopUnswitch] Code refactoring to separate trivial loop unswitch and non-trivial loop unswitch in processCurrentLoop() 2015-07-22 05:26:29 +00:00
preserve-analyses.ll