This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r149044 - in /branches/graphite/gcc: ChangeLog....
- From: lifeng at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Mon, 29 Jun 2009 01:46:52 -0000
- Subject: r149044 - in /branches/graphite/gcc: ChangeLog....
Author: lifeng
Date: Mon Jun 29 01:46:52 2009
New Revision: 149044
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=149044
Log:
Trigger auto-parallel in Graphite by dependency checking.
2009-06-29 Li Feng <nemokingdom@gmail.com>
* Makefile.in (graphite-clast-to-gimple.o): Added graphite-dependences.h.
* graphite-clast-to-gimple.c (new_bb_pbb_def): New.
(mark_bb_with_pbb): New.
(get_stmtfor_depth): New.
(find_pbb_via_hash): New.
(dependency_in_loop_p): New.
(mark_loops_parallel): New.
(free_aux_in_new_loops): New.
(translate_clast): Add parameter BB_PBB_MAPPING. Mark newly created
bb with it's relevant pbb. Mark newly created loops. Remove mark innermost
loop parallel without checking.
(gloog): Add parameter BB_PBB_MAPPING.
* graphite-clast-to-gimple.h (struct bb_pbb_def): New.
(gloog): Change declaration.
(mark_loop_parallel): Make extern.
(free_aux_in_new_loops): Declare.
(bb_pbb_map_hash): New.
(eq_bb_pbb_map): New.
* graphite.c (graphite_transform_loops): Added BB_PBB_MAPPING. Trigger
auto parallelization when flag_graphite_force_parallel is set.
(graphite_finalize): Added free_aux_in_new_loops.
* tree-parloops.c (parallelize_loops): Only generate parallel code for
the innermost loop that marked parallel. Use flag_graphite_force_parallel
instead of loop->can_be_parallel.
(loop_parallel_p): Move inner most checking out of function.
Modified:
branches/graphite/gcc/ChangeLog.graphite
branches/graphite/gcc/Makefile.in
branches/graphite/gcc/graphite-clast-to-gimple.c
branches/graphite/gcc/graphite-clast-to-gimple.h
branches/graphite/gcc/graphite.c
branches/graphite/gcc/tree-parloops.c