2013-09-16 Richard Biener <rguenther@suse.de>
commitf1ce84d97f1a389c0b5f906fd7138d379c61a99e
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 16 Sep 2013 08:10:28 +0000 (16 08:10 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 16 Sep 2013 08:10:28 +0000 (16 08:10 +0000)
tree717caeea9aacb4b8aad809724ea63220920e6d8c
parent1639ae4b96a8843ac872dca00da571abc78385c1
2013-09-16  Richard Biener  <rguenther@suse.de>

* tree-loop-distribution.c (enum rdg_dep_type): Add control_dd.
(dot_rdg_1): Handle control_dd.
(create_edge_for_control_dependence): New function.
(create_rdg_edges): Add control dependences if asked for.
(build_rdg): Likewise.
(generate_loops_for_partition): If there are not necessary
control stmts remove all their dependencies.
(collect_condition_stmts, rdg_flag_loop_exits): Remove.
(distribute_loop): Pass on control dependences.
(tree_loop_distribution): Compute control dependences and remove
restriction on number of loop nodes.

* gcc.dg/tree-ssa/ldist-22.c: New testcase.

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