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
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
config | Loading commit data... | |
testsuite | Loading commit data... | |
ChangeLog | Loading commit data... | |
Makefile.am | Loading commit data... | |
Makefile.in | Loading commit data... | |
acinclude.m4 | Loading commit data... | |
aclocal.m4 | Loading commit data... | |
alloc.c | Loading commit data... | |
barrier.c | Loading commit data... | |
config.h.in | Loading commit data... | |
configure | Loading commit data... | |
configure.ac | Loading commit data... | |
configure.tgt | Loading commit data... | |
critical.c | Loading commit data... | |
env.c | Loading commit data... | |
error.c | Loading commit data... | |
fortran.c | Loading commit data... | |
iter.c | Loading commit data... | |
iter_ull.c | Loading commit data... | |
libgomp.h | Loading commit data... | |
libgomp.map | Loading commit data... | |
libgomp.spec.in | Loading commit data... | |
libgomp.texi | Loading commit data... | |
libgomp_f.h.in | Loading commit data... | |
libgomp_g.h | Loading commit data... | |
loop.c | Loading commit data... | |
loop_ull.c | Loading commit data... | |
omp.h.in | Loading commit data... | |
omp_lib.f90.in | Loading commit data... | |
omp_lib.h.in | Loading commit data... | |
ordered.c | Loading commit data... | |
parallel.c | Loading commit data... | |
sections.c | Loading commit data... | |
single.c | Loading commit data... | |
task.c | Loading commit data... | |
team.c | Loading commit data... | |
work.c | Loading commit data... |