llvm-6502/test/Transforms/JumpThreading
Chris Lattner 69e067fdd8 Make jump threading substantially more powerful, in the following ways:
1. Make it fold blocks separated by an unconditional branch.  This enables
   jump threading to see a broader scope.
2. Make jump threading able to eliminate locally redundant loads when they
   feed the branch condition of a block.  This frequently occurs due to
   reg2mem running.
3. Make jump threading able to eliminate *partially redundant* loads when
   they feed the branch condition of a block.  This is common in code with
   lots of loads and stores like C++ code and 255.vortex.

This implements thread-loads.ll and rdar://6402033.

Per the fixme's, several pieces of this should be moved into Transforms/Utils.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60148 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-27 05:07:53 +00:00
..
2008-04-24-InfLoop.ll Don't infininitely thread branches when a threaded edge 2008-04-25 04:12:29 +00:00
2008-05-05-MRV-Crash.ll Fix a crash when threading a block that includes a MRV call result. 2008-05-05 20:21:22 +00:00
and-and-cond.ll Dig through multiple levels of AND to thread jumps if needed. 2008-04-22 20:46:09 +00:00
and-cond.ll Teach jump threading to thread through blocks like: 2008-04-22 07:05:46 +00:00
basic.ll
compare.ll Start doing the significantly useful part of jump threading: handle cases 2008-04-22 21:40:39 +00:00
dg.exp
thread-loads.ll Make jump threading substantially more powerful, in the following ways: 2008-11-27 05:07:53 +00:00