re PR tree-optimization/23855 (loop header should also be pulled out of the inner...
authorRichard Biener <rguenther@suse.de>
Wed, 17 Aug 2016 08:11:32 +0000 (08:11 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 17 Aug 2016 08:11:32 +0000 (08:11 +0000)
commit622d8b69482a3c8f2a0df0324033719a771932fd
tree68cacd35181faa08cb0557b268b448c1241f5d1d
parent892a653cc93da08467301e5cc18ddec7c85462f2
re PR tree-optimization/23855 (loop header should also be pulled out of the inner loop too)

2016-08-17  Richard Biener  <rguenther@suse.de>

PR tree-optimization/23855
* tree-ssa-loop-unswitch.c: Include tree-ssa-loop-manip.h.
(tree_unswitch_outer_loop): Iterate find_loop_guard as long as we
find guards to hoist.  Do not update SSA form but rewrite virtuals
into loop closed SSA.
(find_loop_guard): Adjust to skip already hoisted guards.  Do
not mark virtuals for renaming or update SSA form.

* gcc.dg/loop-unswitch-2.c: Adjust.

From-SVN: r239523
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/loop-unswitch-2.c
gcc/tree-ssa-loop-unswitch.c