diff options
author | Sebastian Pop <sebastian.pop@amd.com> | 2009-08-12 14:18:17 +0000 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2009-08-12 14:18:17 +0000 |
commit | 87d4d0ee2504d5350b1b355366cff7ea095b10fc (patch) | |
tree | 6b171a09f1f0e1fe21c1ad4c5fc567c8569f70fe /gcc/tree-parloops.c | |
parent | 4c7af939453060ac5129e08c7a527556500620b6 (diff) | |
download | gcc-87d4d0ee2504d5350b1b355366cff7ea095b10fc.zip gcc-87d4d0ee2504d5350b1b355366cff7ea095b10fc.tar.gz gcc-87d4d0ee2504d5350b1b355366cff7ea095b10fc.tar.bz2 |
Measure time spent in DD analysis and in code gen.
2009-08-05 Sebastian Pop <sebastian.pop@amd.com>
* graphite-clast-to-gimple.c (gloog): Add time to TV_GRAPHITE_CODE_GEN.
* graphite-dependences.c (graphite_legal_transform): Add time to
TV_GRAPHITE_DATA_DEPS.
(dependency_between_pbbs_p): Same.
* timevar.def (TV_GRAPHITE_DATA_DEPS, TV_GRAPHITE_CODE_GEN): New.
From-SVN: r150683
Diffstat (limited to 'gcc/tree-parloops.c')
-rw-r--r-- | gcc/tree-parloops.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c index 9acf0ff..9b9ac75 100644 --- a/gcc/tree-parloops.c +++ b/gcc/tree-parloops.c @@ -1801,6 +1801,11 @@ parallelize_loops (void) { htab_empty (reduction_list); + /* If we use autopar in graphite pass, we use it's marked dependency + checking results. */ + if (flag_loop_parallelize_all && !loop->can_be_parallel) + continue; + /* FIXME: Only consider innermost loops with just one exit. */ if (loop->inner || !single_dom_exit (loop)) continue; @@ -1811,19 +1816,22 @@ parallelize_loops (void) /* FIXME: the check for vector phi nodes could be removed. */ || loop_has_vector_phi_nodes (loop)) continue; - - if (/* Do not bother with loops in cold areas. */ - optimize_loop_nest_for_size_p (loop) - /* Or loops that roll too little. */ - || expected_loop_iterations (loop) <= n_threads) + + /* FIXME: Bypass this check as graphite doesn't update the + count and frequency correctly now. */ + if (!flag_loop_parallelize_all + && (expected_loop_iterations (loop) <= n_threads + /* Do not bother with loops in cold areas. */ + || optimize_loop_nest_for_size_p (loop))) continue; + if (!try_get_loop_niter (loop, &niter_desc)) continue; if (!try_create_reduction_list (loop, reduction_list)) continue; - if (!loop_parallel_p (loop)) + if (!flag_loop_parallelize_all && !loop_parallel_p (loop)) continue; changed = true; |