2013-10-25 Richard Biener <rguenther@suse.de>
commit7103facc65f999274883bdfd6781d6e2f0ff6f97
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 25 Oct 2013 11:51:11 +0000 (25 11:51 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 25 Oct 2013 11:51:11 +0000 (25 11:51 +0000)
tree92a4f2d75d7f8468ac5e0aa42e73009a8b78c97c
parentc5a34a69f5f32d40cbbb76e8c5bdc97f3aa55cee
2013-10-25  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58626
* tree-loop-distribution.c (enum rdg_dep_type): Remove
anti_dd, output_dd and input_dd.
(struct rdg_edge): Remove level and relation members.
(RDGE_LEVEL, RDGE_RELATION): Remove.
(dot_rdg_1): Adjust.
(create_rdg_edge_for_ddr): Remove.
(create_rdg_edges_for_scalar): Adjust.
(create_edge_for_control_dependence): Likewise.
(create_rdg_edges): Split into ...
(create_rdg_flow_edges): ... this
(create_rdg_cd_edges): ... and this.
(free_rdg): Adjust.
(build_rdg): Likewise, do not compute data dependences or
add edges for them.
(pg_add_dependence_edges): New function.
(pgcmp): Likewise.
(distribute_loop): First apply all non-dependence based
partition mergings.  Then compute dependences between partitions
and merge and order partitions according to them.

* gcc.dg/torture/pr58626.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204062 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr58626.c [new file with mode: 0644]
gcc/tree-loop-distribution.c