aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-parloops.c
diff options
context:
space:
mode:
authorSebastian Pop <sebastian.pop@amd.com>2009-08-12 14:18:17 +0000
committerSebastian Pop <spop@gcc.gnu.org>2009-08-12 14:18:17 +0000
commit87d4d0ee2504d5350b1b355366cff7ea095b10fc (patch)
tree6b171a09f1f0e1fe21c1ad4c5fc567c8569f70fe /gcc/tree-parloops.c
parent4c7af939453060ac5129e08c7a527556500620b6 (diff)
downloadgcc-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.c20
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;