aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Scalar/LoopUnswitch.cpp
AgeCommit message (Expand)Author
2006-06-28Switch to a very conservative heuristic for determining when loop-unswitchingOwen Anderson
2006-06-28Don't unswitch really large loops even if they are mostly filled with emptyChris Lattner
2006-06-27Fix for 2006-06-27-DeadSwitchCase.llOwen Anderson
2006-06-26Make LoopUnswitch able to unswitch loops with live-out values by taking advan...Owen Anderson
2006-06-14Fix Transforms/LoopUnswitch/2006-06-13-SingleEntryPHI.ll, a loop unswitchChris Lattner
2006-06-12Reapply my 6/9 changes. The bug Evan saw no longer occurs.Owen Anderson
2006-06-11Back out Owen's 6/9 changes. They broke MultiSource/Benchmarks/Prolangs-C/bis...Evan Cheng
2006-06-09Add LCSSA as a requirement for LoopUnswitch, and assert that LoopUnswitch pre...Owen Anderson
2006-03-24add the actual cost to the debug infoChris Lattner
2006-02-22Fix Regression/Transforms/LoopUnswitch/2006-02-22-UnswitchCrash.ll, whichChris Lattner
2006-02-22Add some comments, simplify some code, and fix a bug that caused rewritingChris Lattner
2006-02-18improved support for branch folding, still not enabled.Chris Lattner
2006-02-18Implement deletion of dead blocks, currently disabled.Chris Lattner
2006-02-18a previous patch completely disabled trivial unswitching, this fixees it.Chris Lattner
2006-02-18initial trivial support for folding branches that have now-constant destinati...Chris Lattner
2006-02-18When unswitching a loop, make sure to update loop info with exit blocks inChris Lattner
2006-02-17Fix loops where the header has an exit, fixing a loop-unswitch crash on craftyChris Lattner
2006-02-17start of some new simplification code, not thoroughly tested, use at your ownChris Lattner
2006-02-16Change SplitBlock to increment a BasicBlock::iterator, not an Instruction*. ...Chris Lattner
2006-02-16Fix VC++ warning.Jeff Cohen
2006-02-16fix a bug where we unswitched the wrong wayChris Lattner
2006-02-15Implement trivial unswitching for switch stmts. This allows us to trivialChris Lattner
2006-02-15make "trivial" unswitching significantly more general. It can now handleChris Lattner
2006-02-15Checking the wrong value. This caused us to emit silly code likeChris Lattner
2006-02-15more refactoring, no functionality change.Chris Lattner
2006-02-15pull some code out into a functionChris Lattner
2006-02-14Use statistics to keep track of what flavors of loops we are unswitchingChris Lattner
2006-02-11implement unswitching of loops with switch stmts and selects in themChris Lattner
2006-02-10Update PHI nodes in successors of exit blocks.Chris Lattner
2006-02-10Reform the unswitching code in terms of edge splitting, not block splitting.Chris Lattner
2006-02-10Fix a case where UnswitchTrivialCondition broke critical edges withChris Lattner
2006-02-10add some notes, move some code around. Implement unswitching of loopsChris Lattner
2006-02-10Move code around to be more logical, no functionality change.Chris Lattner
2006-02-10When unswitching a trivial loop, do admit we are doing it! :)Chris Lattner
2006-02-10Implement unconditional unswitching of 'trivial' loops, those loops that containChris Lattner
2006-02-09Simplify control flow a bit, note that unswitch preserves canonical loop formChris Lattner
2006-02-09Make the threshold a parameterChris Lattner
2006-02-09Simplify the loop-unswitch pass, by not even trying to unswitch loops withChris Lattner
2006-01-22Make iostream #inclusion explicitChris Lattner
2005-04-21Remove trailing whitespaceMisha Brukman
2005-01-06Put createLoopUnswitchPass() into proper namespaceJeff Cohen
2004-09-03Fixes to make LLVM compile with vc7.1.Alkis Evlogimenos
2004-09-01Changes For Bug 352Reid Spencer
2004-04-19Initial checkin of a simple loop unswitching pass. It still needs work,Chris Lattner