llvm-project/llvm/test/Transforms/LoopRotate
Chris Lattner b01c24a945 Teach loop rotate to hoist trivially invariant instructions
in the duplicated block instead of duplicating them.  

Duplicating them into the end of the loop and the preheader 
means that we got a phi node in the header of the loop, 
which prevented LICM from hoisting them.  GVN would
usually come around later and merge the duplicated 
instructions so we'd get reasonable output... except that
anything dependent on the shoulda-been-hoisted value can't
be hoisted.  In PR5319 (which this fixes), a memory value
didn't get promoted.

llvm-svn: 113134
2010-09-06 01:10:22 +00:00
..
2009-01-25-SingleEntryPhi.ll Make these tests more interesting by using 2009-10-24 23:23:04 +00:00
LRCrash-1.ll Make these tests more interesting by using 2009-10-24 23:23:04 +00:00
LRCrash-2.ll Make these tests more interesting by using 2009-10-24 23:23:04 +00:00
LRCrash-3.ll Make these tests more interesting by using 2009-10-24 23:23:04 +00:00
LRCrash-4.ll Make these tests more interesting by using 2009-10-24 23:23:04 +00:00
LRCrash-5.ll Make these tests more interesting by using 2009-10-24 23:23:04 +00:00
PhiRename-1.ll Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
PhiSelfRefernce-1.ll Make these tests more interesting by using 2009-10-24 23:23:04 +00:00
basic.ll Teach loop rotate to hoist trivially invariant instructions 2010-09-06 01:10:22 +00:00
dg.exp sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
indirectbr.ll Make Loop::getLoopLatch() work on loops which don't have preheaders, as 2009-11-20 20:51:18 +00:00
phi-duplicate.ll When rotating loops, put the original header at the bottom of the 2010-08-17 17:39:21 +00:00
pr2639.ll Make these tests more interesting by using 2009-10-24 23:23:04 +00:00
preserve-scev.ll Make these tests more interesting by using 2009-10-24 23:23:04 +00:00