tree-loop-distribution.c (enum rdg_dep_type): Add control_dd.
authorRichard Biener <rguenther@suse.de>
Mon, 16 Sep 2013 08:10:28 +0000 (08:10 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 16 Sep 2013 08:10:28 +0000 (08:10 +0000)
commit36875e8f6d06fa647a540264befd109479cdea43
tree717caeea9aacb4b8aad809724ea63220920e6d8c
parent62e42210ef0f4c2d80a542cb676b663f4df2bb88
tree-loop-distribution.c (enum rdg_dep_type): Add control_dd.

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.

From-SVN: r202619
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/ldist-22.c [new file with mode: 0644]
gcc/tree-loop-distribution.c