+2009-10-07 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (reduction_phi_p): Call remove_invariant_phi
+ when the loop stride is zero.
+
+ * gcc.dg/graphite/id-16.c: New.
+
+2009-10-06 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-dependences.c (reduction_dr_1): New.
+ (reduction_dr_p): New.
+ (graphite_legal_transform_dr): Call reduction_dr_p.
+ (reduction_ddr): Renamed reduction_ddr_p.
+ * graphite-poly.h (same_pdr_p): New.
+ (number_of_write_pdrs): New.
+ * graphite-sese-to-poly.c (nb_data_writes_in_bb): New.
+ (split_reduction_stmt): Do not split reduction statements
+ when there are no writes to memory.
+ (translate_scalar_reduction_to_array_for_stmt): Insert the
+ memory reduction statement just after the scalar reduction statement.
+
+ * gcc.dg/graphite/interchange-10.c: Updated to differ from interchange-4.c.
+ Un-XFAIL-ed.
+ * gcc.dg/graphite/interchange-3.c: Un-XFAIL-ed.
+ * gcc.dg/graphite/interchange-4.c: Un-XFAIL-ed.
+
+2009-10-06 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-interchange.c (lst_apply_interchange): New.
+ (lst_interchange_profitable_p): New.
+ (lst_try_interchange_loops): New.
+ (lst_try_interchange): New.
+ (lst_do_interchange): New.
+ (pbb_do_interchange): Removed.
+ (scop_do_interchange): Call lst_do_interchange.
+
+2009-10-06 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.c (print_scop): Print SCOP_ORIGINAL_SCHEDULE and
+ SCOP_TRANSFORMED_SCHEDULE.
+ (loop_to_lst): New.
+ (scop_to_lst): New.
+ (print_lst): New.
+ (debug_lst): New.
+ * graphite-poly.h (lst_p): New.
+ (struct lst): New.
+ (LST_LOOP_P): New.
+ (LST_LOOP_FATHER): New.
+ (LST_PBB): New.
+ (LST_SEQ): New.
+ (scop_to_lst): Declared.
+ (print_lst): Declared.
+ (debug_lst): Declared.
+ (new_lst_loop): New.
+ (new_lst_stmt): New.
+ (copy_lst): New.
+ (lst_depth): New.
+ (lst_dewey_number): New.
+ (struct scop): Add original_schedule and transformed_schedule fields.
+ (SCOP_ORIGINAL_SCHEDULE): New.
+ (SCOP_TRANSFORMED_SCHEDULE): New.
+ * graphite-sese-to-poly.c (build_poly_scop): Call scop_to_lst.
+
+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.
+
2009-10-05 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (insert_out_of_ssa_copy): Remove