]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/tree-ssa-loop-ch.c
2018-12-19 Richard Biener <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 Dec 2018 11:10:08 +0000 (11:10 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 Dec 2018 11:10:08 +0000 (11:10 +0000)
commitca6f7741c53cc7dde2b357a786f5c3a2006538e0
treee0a904ac5d8b5b15f57fd336b91c9ecaf822dcaa
parent59419823153f3ff04ad443e1cb97b797f6ea1caf
2018-12-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/88533
Revert
2018-04-30  Richard Biener  <rguenther@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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267262 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/copy-headers-6.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/copy-headers-7.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ivopt_mult_1.c
gcc/testsuite/gcc.dg/tree-ssa/ivopt_mult_2.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c
gcc/tree-ssa-loop-ch.c