diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-11-25 10:22:57 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-11-25 10:22:57 +0000 |
commit | b1759f481badaf7cb219797391ca44d5b858b211 (patch) | |
tree | 55f77a216d9ec3e9a34f6aafdd73a26855b05273 /gcc/passes.def | |
parent | 9f04f8147f9c8f453d55d16b2a1989b7f3fceee0 (diff) | |
download | gcc-b1759f481badaf7cb219797391ca44d5b858b211.tar.gz |
2016-11-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/78343
* passes.def: Add CD-DCE pass after loop splitting.
* tree-ssa-dce.c (find_obviously_necessary_stmts): Move
SCEV init/finalize ...
(perform_tree_ssa_dce): ... here. Deal with being
executed inside the loop pipeline in aggressive mode.
* gcc.dg/tree-ssa/sccp-2.c: New testcase.
* gcc.dg/autopar/uns-outer-6.c: Adjust.
* gcc.dg/tree-ssa/20030808-1.c: Likewise.
* gcc.dg/tree-ssa/20040305-1.c: Likewise.
* gcc.dg/vect/pr38529.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@242872 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/passes.def')
-rw-r--r-- | gcc/passes.def | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/passes.def b/gcc/passes.def index b73000923b6..1117b8b112b 100644 --- a/gcc/passes.def +++ b/gcc/passes.def @@ -272,6 +272,9 @@ along with GCC; see the file COPYING3. If not see NEXT_PASS (pass_tree_unswitch); NEXT_PASS (pass_scev_cprop); NEXT_PASS (pass_loop_split); + /* All unswitching, final value replacement and splitting can expose + empty loops. Remove them now. */ + NEXT_PASS (pass_cd_dce); NEXT_PASS (pass_record_bounds); NEXT_PASS (pass_loop_distribution); NEXT_PASS (pass_copy_prop); |