diff options
author | Razya Ladelsky <razya@il.ibm.com> | 2009-10-22 14:43:40 +0000 |
---|---|---|
committer | Razya Ladelsky <razya@gcc.gnu.org> | 2009-10-22 14:43:40 +0000 |
commit | 487102294c3844ed86ff8689a55b7931608b9170 (patch) | |
tree | e5cbd164c16ea25532929cae67f57059ca137cd2 /gcc/cfgloopmanip.c | |
parent | 0d4958d02272d61ab5e6e331d171ecc52de82b07 (diff) | |
download | gcc-487102294c3844ed86ff8689a55b7931608b9170.tar.gz |
cfgloopmanip.c (duplicate_subloops): Export.
2009-10-22 Razya Ladelsky <razya@il.ibm.com>
* cfgloopmanip.c (duplicate_subloops): Export.
* tree-parloops.c (loop_parallel_p): Dump if loop is innermost.
(transform_to_exit_first_loop): Duplicate bbs starting from
header up to loop->latch instead of exit->src.
Initialize control variable to the correct number of iterations.
(gather_scalar_reductions): Do not register double reductions.
(parallelize_loops): Dump which loop is tested.
Indicate whether the parallelized loop is inner or not.
Remove the innermost-loop requirement.
* cfgloop.h (duplicate_subloops): Export.
* tree-cfg.c (add_phi_args_after_redirect): New function.
(gimple_duplicate_sese_tail): Remove the no-subloops constraint.
Call duplicate_subloops.
Update number of iterations at the exit condition.
Don't redirect nexits always to the loop exit.
Redirect copied edges from latch to the loop exit.
* testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
* testsuite/gcc.dg/autopar/outer-1.c: New testcase.
* testsuite/gcc.dg/autopar/outer-2.c: New testcase.
* testsuite/gcc.dg/autopar/outer-3.c: New testcase.
* testsuite/gcc.dg/autopar/outer-4.c: New testcase.
* testsuite/gcc.dg/autopar/outer-5.c: New testcase.
* testsuite/gcc.dg/autopar/outer-6.c: New testcase.
From-SVN: r153457
Diffstat (limited to 'gcc/cfgloopmanip.c')
-rw-r--r-- | gcc/cfgloopmanip.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/cfgloopmanip.c b/gcc/cfgloopmanip.c index a357a2fd77a..6f24415a72d 100644 --- a/gcc/cfgloopmanip.c +++ b/gcc/cfgloopmanip.c @@ -32,7 +32,6 @@ along with GCC; see the file COPYING3. If not see #include "output.h" #include "tree-flow.h" -static void duplicate_subloops (struct loop *, struct loop *); static void copy_loops_to (struct loop **, int, struct loop *); static void loop_redirect_edge (edge, basic_block); @@ -886,7 +885,7 @@ duplicate_loop (struct loop *loop, struct loop *target) /* Copies structure of subloops of LOOP into TARGET loop, placing newly created loops into loop tree. */ -static void +void duplicate_subloops (struct loop *loop, struct loop *target) { struct loop *aloop, *cloop; |