diff options
author | Sebastian Pop <sebastian.pop@amd.com> | 2009-11-25 04:54:30 +0000 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2009-11-25 04:54:30 +0000 |
commit | a0dd14403d8cd1bbf4d47eec81b7eae81c9605d3 (patch) | |
tree | b5e1d1cd97c6ef8d389112a92df304c433f8bd89 /gcc/graphite-poly.h | |
parent | db7e948531737bf2998079c58934664977678741 (diff) | |
download | gcc-a0dd14403d8cd1bbf4d47eec81b7eae81c9605d3.tar.gz |
graphite-dependences.c (reduction_ddr): New.
2009-10-05 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (reduction_ddr): New.
(graphite_legal_transform_bb): Call reduction_ddr.
* graphite-poly.c (new_poly_bb): Pass a new bool parameter.
Initialize PBB_IS_REDUCTION.
* graphite-poly.h (struct poly_bb): New bool field is_reduction.
(PBB_IS_REDUCTION): New.
(new_poly_bb): Update declaration.
* graphite-scop-detection.h (build_scop_bbs): Removed.
(nb_reductions_in_loop): Removed.
* graphite-sese-to-poly.c (try_generate_gimple_bb): Pass a sbitmap
parameter for reductions.
(try_generate_gimple_bb): Update call to new_poly_bb.
(build_scop_bbs_1): Same.
(build_scop_bbs): Same.
(gsi_for_phi_node): New.
(scalar_close_phi_node_p): Remove gcc_assert.
(split_reduction_stmt): New.
(is_reduction_operation_p): New.
(phi_contains_arg): New.
(follow_ssa_with_commutative_ops): New.
(detect_commutative_reduction_arg): New.
(detect_commutative_reduction_assign): New.
(follow_inital_value_to_phi): New.
(edge_initial_value_for_loop_phi): New.
(initial_value_for_loop_phi): New.
(detect_commutative_reduction): New.
(translate_scalar_reduction_to_array_for_stmt): New.
(insert_copyout): New.
(insert_copyin): New.
(translate_scalar_reduction_to_array): New.
(rewrite_commutative_reductions_out_of_ssa_close_phi): New.
(rewrite_commutative_reductions_out_of_ssa_loop): New.
(rewrite_commutative_reductions_out_of_ssa): New.
(build_poly_scop): Call rewrite_commutative_reductions_out_of_ssa.
* sese.h (split_region_for_bb): New.
* gcc.dg/graphite/graphite.exp (DEFAULT_CFLAGS_GRAPHITE_BLOCK): Add -ffast-math.
* gcc.dg/graphite/interchange-1.c: Fix format.
* gcc.dg/graphite/interchange-10.c: New.
From-SVN: r154561
Diffstat (limited to 'gcc/graphite-poly.h')
-rw-r--r-- | gcc/graphite-poly.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/graphite-poly.h b/gcc/graphite-poly.h index 955f12f41b7..c397f6ad63c 100644 --- a/gcc/graphite-poly.h +++ b/gcc/graphite-poly.h @@ -306,6 +306,9 @@ struct poly_bb /* True when the PDR duplicates have already been removed. */ bool pdr_duplicates_removed; + + /* True when this PBB contains only a reduction statement. */ + bool is_reduction; }; #define PBB_BLACK_BOX(PBB) ((gimple_bb_p) PBB->black_box) @@ -320,8 +323,9 @@ struct poly_bb #define PBB_NB_LOCAL_VARIABLES(PBB) (PBB->transformed->nb_local_variables) #define PBB_NB_SCATTERING_TRANSFORM(PBB) (PBB->transformed->nb_scattering) #define PBB_PDR_DUPLICATES_REMOVED(PBB) (PBB->pdr_duplicates_removed) +#define PBB_IS_REDUCTION(PBB) (PBB->is_reduction) -extern void new_poly_bb (scop_p, void *); +extern void new_poly_bb (scop_p, void *, bool); extern void free_poly_bb (poly_bb_p); extern void debug_loop_vec (poly_bb_p); extern void schedule_to_scattering (poly_bb_p, int); |