https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88533
--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> --- Author: rguenth Date: Wed Dec 19 11:10:08 2018 New Revision: 267262 URL: https://gcc.gnu.org/viewcvs?rev=267262&root=gcc&view=rev Log: 2018-12-19 Richard Biener <rguent...@suse.de> PR tree-optimization/88533 Revert 2018-04-30 Richard Biener <rguent...@suse.de> PR tree-optimization/28364 PR tree-optimization/85275 * tree-ssa-loop-ch.c (ch_base::copy_headers): Stop after copying first exit test. * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust. * tree-ssa-loop-ch.c: Include tree-phinodes.h and ssa-iterators.h. (should_duplicate_loop_header_p): Track whether stmt compute loop invariants or values based on IVs. Apart from the original loop header only duplicate blocks with exit tests that are based on IVs or invariants. * gcc.dg/tree-ssa/copy-headers-6.c: New testcase. * gcc.dg/tree-ssa/copy-headers-7.c: Likewise. * gcc.dg/tree-ssa/ivopt_mult_1.c: Un-XFAIL. * gcc.dg/tree-ssa/ivopt_mult_2.c: Likewise. Added: trunk/gcc/testsuite/gcc.dg/tree-ssa/copy-headers-6.c trunk/gcc/testsuite/gcc.dg/tree-ssa/copy-headers-7.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/tree-ssa/ivopt_mult_1.c trunk/gcc/testsuite/gcc.dg/tree-ssa/ivopt_mult_2.c trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c trunk/gcc/tree-ssa-loop-ch.c