https://gcc.gnu.org/bugzilla/show_bug.cgi?id=23855
--- Comment #31 from Richard Biener <rguenth at gcc dot gnu.org> --- Author: rguenth Date: Wed Aug 17 08:11:32 2016 New Revision: 239523 URL: https://gcc.gnu.org/viewcvs?rev=239523&root=gcc&view=rev Log: 2016-08-17 Richard Biener <rguent...@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. Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/loop-unswitch-2.c trunk/gcc/tree-ssa-loop-unswitch.c