+2009-10-14 Sebastian Pop <sebastian.pop@amd.com>
+
+ * gcc.dg/graphite/interchange-11.c: New.
+
+2009-10-14 Sebastian Pop <sebastian.pop@amd.com>
+
+ * gcc.dg/graphite/interchange-8.c: Enable loop interchange.
+
+2009-10-14 Sebastian Pop <sebastian.pop@amd.com>
+
+ * gcc.dg/graphite/graphite.exp (DEFAULT_CFLAGS_GRAPHITE_BLOCK):
+ Add -fno-loop-strip-mine and -fno-loop-interchange.
+ (DEFAULT_FLAGS_GRAPHITE_INTERCHANGE): Add -fno-loop-block and
+ -fno-loop-strip-mine.
+ * gfortran.dg/graphite/graphite.exp: Same.
+
+2009-10-14 Sebastian Pop <sebastian.pop@amd.com>
+
+ * gcc.dg/graphite/graphite.exp (DEFAULT_CFLAGS_GRAPHITE_BLOCK):
+ Renamed DEFAULT_FLAGS_GRAPHITE_BLOCK.
+ (DEFAULT_CFLAGS_GRAPHITE_IDENTITY): Renamed
+ DEFAULT_FLAGS_GRAPHITE_IDENTITY.
+ (DEFAULT_CFLAGS_GRAPHITE_INTERCHANGE): Renamed
+ DEFAULT_FLAGS_GRAPHITE_INTERCHANGE.
+ (DEFAULT_CFLAGS_GRAPHITE_SCOP): Renamed
+ DEFAULT_FLAGS_GRAPHITE_SCOP.
+ (DEFAULT_CFLAGS_RUN_ID): Renamed DEFAULT_FLAGS_RUN_ID.
+ (DEFAULT_CFLAGS_GRAPHITE): Renamed DEFAULT_FLAGS_GRAPHITE.
+
+2009-10-14 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.c (pbb_number_of_iterations_at_time): Cleanup comments.
+
+2009-10-14 Konrad Trifunovic <konrad.trifunovic@gmail.com>
+ Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-interchange.c (build_linearized_memory_access): Pass an
+ offset as parameter.
+ (memory_stride_in_loop): Include transform scattering in the
+ access functions to be able to querry the strides in the
+ transformed loops.
+ (pbb_interchange_loop_depths): Interchange the psct_dynamic_dim,
+ not the psct_iterator_dim.
+
+2009-10-14 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-blocking.c (pbb_do_strip_mine): Removed.
+ (lst_do_strip_mine_loop): New.
+ (lst_do_strip_mine): New.
+ (scop_do_strip_mine): Call lst_do_strip_mine.
+ * graphite-poly.h (lst_add_loop_under_loop): New.
+ (lst_find_first_pbb): New.
+
+2009-10-14 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.c (loop_to_lst): Fix LST creation.
+
+2009-10-14 Tobias Grosser <grosser@fim.uni-passau.de>
+
+ * testsuite/gcc.dg/graphite/id-15.c: (8 * 8) replaced with
+ sizeof(unsigned long) to make it run on 32bit systems.
+
+2009-10-14 Tobias Grosser <grosser@fim.uni-passau.de>
+
+ * testsuite/gcc.dg/graphite/run-id-1.c: Use smaller matrix to not
+ SEGFAULT on 32bit.
+
+2009-10-14 Ramakrishna Upadrasta <Ramakrishna.Upadrasta@inria.fr>
+
+ * graphite-sese-to-poly.c (write_alias_graph_to_ascii_dimacs): Fix
+ Comment.
+ (write_alias_graph_to_ascii_dot): New.
+ (write_alias_graph_to_ascii_ecc): Ditto.
+ (partition_drs_to_sets): Add testing of optimality of current method
+ which assigns alias numbers according to DFS Comopnent number. used
+ as heuristic for the upcoming ECC algorithm.
+ (build_scop_drs): Write to file also with the ecc and dot format.
+
+2009-10-13 Sebastian Pop <sebastian.pop@amd.com>
+
+ * gfortran.dg/graphite/interchange-1.f: XFail.
+
+2009-10-13 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite.c (graphite_initialize): Do not handle functions with
+ more than 100 basic blocks.
+
+2009-10-13 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-blocking.c (pbb_do_strip_mine): Use
+ PARAM_LOOP_BLOCK_TILE_SIZE.
+
+2009-10-13 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.c (dot_lst_1): New.
+ (dot_lst): New.
+ * graphite-poly.h (dot_lst): Declared.
+
+2009-10-13 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-dependences.c (dot_deps_stmt_1): New.
+ (dot_deps_stmt): New.
+ * graphite-dependences.h (dot_deps_stmt): Declared.
+
+2009-10-09 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_dependence): Do
+ not replace cross BB scalar dependences ending on PHI nodes.
+ (rewrite_cross_bb_scalar_deps): Filter out GIMPLE_PHI nodes.
+
+2009-10-09 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.c (apply_poly_transforms): Implement the high
+ level driver for flag_loop_block.
+ * tree-ssa-loop.c (gate_graphite_transforms): Remove call to sorry for
+ flag_loop_block.
+
+ * gcc.dg/graphite/graphite.exp (DEFAULT_CFLAGS_GRAPHITE_BLOCK): Add
+ -floop-block.
+ * gfortran.dg/graphite/graphite.exp (DEFAULT_CFLAGS_GRAPHITE_BLOCK):
+ Add -floop-block.
+
+2009-10-09 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.h (lst_find_pbb): New.
+ (find_lst_loop): New.
+
+2009-10-09 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.c (new_scop): Remove init of SCOP_DEP_GRAPH.
+ * graphite-poly.h (struct scop): Remove dep_graph field.
+ (SCOP_DEP_GRAPH): Removed.
+
+2009-10-09 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.h (copy_lst): Do full copy of LST.
+
+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
+ buggy assert.
+
+2009-10-05 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (scev_analyzable_p): New.
+ (rewrite_cross_bb_scalar_dependence): New.
+ (rewrite_cross_bb_scalar_deps): New.
+ (rewrite_reductions_out_of_ssa): Use bb_in_sese_p.
+ Call rewrite_cross_bb_scalar_deps.
+
+2009-10-05 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (gsi_for_ssa_name_def): Removed.
+ (insert_out_of_ssa_copy): Directly use gsi_after_labels and
+ gsi_for_stmt.
+
+2009-10-05 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (build_cloog_prog): Use pbb_index.
+ * graphite-interchange.c (pbb_do_interchange): Same.
+ * graphite-poly.c (print_scattering_function): Same.
+ (debug_pdrs): Same.
+ * graphite-poly.h (pbb_loop): New.
+ * graphite-sese-to-poly.c (create_linear_expr_from_tree): Use pbb_loop.
+
+2009-09-27 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-scop-detection.c (limit_scops): Do not build poly_bbs.
+
+2009-09-27 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (partition_drs_to_sets): Drs is not modified,
+ so don't pass a pointer to it.
+ (build_alias_set_for_drs): Same.
+ (build_base_obj_set_for_drs): Same.
+ (build_scop_drs): Same.
+
+2009-09-26 Li Feng <nemokingdom@gmail.com>
+
+ * graphite-sese-to-poly.c (build_scop_drs): Disable writing to file
+ the alias graph of data references.
+
+2009-09-25 Li Feng <nemokingdom@gmail.com>
+
+ * graphite-sese-to-poly.c (write_alias_graph_to_ascii_dimacs): New.
+ (build_scop_drs): When debugging, write the alias graph to file,
+ otherwise, should be disabled.
+
+2009-09-17 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-scop-detection.c (stmt_simple_memref_p): Removed.
+ (is_simple_operand): Remove call to stmt_simple_memref_p.
+ (stmt_simple_for_scop_p): Update call to is_simple_operand.
+
+2009-09-17 David Edelsohn <edelsohn@gnu.org>
+
+ * testsuite/gcc.dg/graphite/interchange-mvt.c: New File.
+ * testsuite/gcc.dg/graphite/scop-dsyrk.c: New File.
+ * testsuite/gcc.dg/graphite/scop-dsyr2k.c: New File.
+ * testsuite/gcc.dg/graphite/scop-mvt.c: New File.
+ * testsuite/gcc.dg/graphite/scop-sor.c: New File.
+
+2009-09-17 Li Feng <nemokingdom@gmail.com>
+
+ PR middle-end/41118
+ * graphite-dependences.c (poly_drs_may_alias_p): Adjust definition.
+ (pddr_original_scattering): Make sure 2 pdr2 in the same base object set.
+ (graphite_carried_dependence_level_k): Ditto.
+ * graphite-poly.c (new_poly_dr): Add init of PDR_BASE_OBJECT_SET.
+ * graphite-poly.h (struct poly_dr): Add member dr_base_object_set.
+ (new_poly_dr): Adjust declaration.
+ * graphite-sese-to-poly.c (free_data_refs_aux): New.
+ (free_gimple_bb): Added free_data_refs_aux.
+ (build_poly_dr): Add dr_base_object_set.
+ (partition_drs_to_sets): New.
+ (dr_same_base_object_p): New.
+ (build_alias_set_for_drs): New.
+ (build_base_object_set_for_drs): New.
+ (build_scop_drs): Add build_base_obj_set_for_drs.
+ * graphite-sese-to-poly.h: Added #define for alias set number index and
+ base object set index.
+ * libgomp/testsuite/libgomp.graphite/force-parallel-6.c: Refine tests.
+ * libgomp/testsuite/libgomp.graphite/pr4118.c: New.
+
+2009-09-16 Alexander Monakov <amonakov@ispras.ru>
+
+ * graphite-sese-to-poly.c (pdr_add_data_dimensions): Add bounds only
+ for ARRAY_REFs. Use array_ref_{low,up}_bound to determine bounds.
+
+2009-09-14 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (struct irp_data): Removed.
+ (idx_record_params): Removed.
+ (find_params_in_bb): Scan for parameters the access functions; don't
+ parse the tree representation.
+
+2009-09-14 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-ssa-loop.c (gate_graphite_transforms): Disable Graphite
+ passes at -O1 and below.
+
+2009-09-14 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-blocking.c: Fix order of includes: tree-chrec.h, then
+ tree-scalar-evolution.h, and then tree-data-ref.h.
+ * graphite-clast-to-gimple.c: Same.
+ * graphite-dependences.c: Same.
+ * graphite-interchange.c: Same.
+ * graphite-poly.c: Same.
+ * graphite-scop-detection.c: Same.
+ * graphite-sese-to-poly.c: Same.
+ * graphite.c: Same.
+ * lambda-code.c: Same.
+ * matrix-reorg.c: Same.
+ * tree-data-ref.c: Same.
+ * tree-if-conv.c: Same.
+ * tree-loop-distribu: Same.: Same.
+ * tree-loop-linear.c: Same.
+ * tree-parloops.c: Same.
+ * tree-predcom.c: Same.
+ * tree-vect-patterns.c: Same.
+
+2009-09-02 Sebastian Pop <sebastian.pop@amd.com>
+
+ Partially revert the previous patch, except the following.
+ * tree-scalar-evolution.c (instantiate_scev_not): Adapted to pass
+ as parameters the operands of the not expression.
+
+2009-09-01 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-scalar-evolution.c (instantiate_scev_assign): New.
+ Do not call analyze_scalar_evolution on assignments.
+ (instantiate_scev_phi): Call analyze_scalar_evolution.
+ (instantiate_scev_name): Call instantiate_scev_assign and
+ instantiate_scev_phi.
+ (instantiate_scev_not): Adapted to pass as parameters the operands
+ of the not expression.
+
+2009-09-01 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-scalar-evolution.c (instantiate_scev_binary): Adapted
+ to pass as parameters the operands of the binary expression.
+
+2009-09-01 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-scalar-evolution.c (instantiate_scev_bitnot): Renamed
+ instantiate_scev_not. Handle NEGATE_EXPR.
+ (instantiate_scev_r): Handle NEGATE_EXPR.
+
2009-09-01 Sebastian Pop <sebastian.pop@amd.com>
* tree-scalar-evolution.c (instantiate_scev_1): Renamed