OSDN Git Service

* print-tree.c (print_node): Print in-constant-pool.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog.graphite
index 6ce22cb..e43d2ce 100644 (file)
@@ -1,3 +1,877 @@
+2010-07-29  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add back
+       the case removed in the previous patch, when the only phi argument
+       is defined in the same loop as the phi node itself.  Handle it
+       separately from the invariant case by both propagating it outside
+       the region and replacing the phi node with an assign.
+
+2010-07-28  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): The only
+       constant phi nodes with one argument are is_gimple_min_invariant
+       and SSA_NAME_IS_DEFAULT_DEF.
+
+       * gfortran.dg/graphite/id-22.f: New.
+
+2010-07-27  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
+
+       * graphite.c (graphite_initialize): Do not initialize
+       CLooG and initialize the Parma Polyhedra Library
+       manually when using CLOOG_ORG.
+       (graphite_finalize): Do not finalize CLooG and finalize
+       the Parma Polyhedra Library manually when using CLOOG_ORG.
+       * graphite-cloog-compat.h (cloog_initialize): Hide function
+       when using CLOOG_ORG.
+       (cloog_finalize): Same.
+
+2010-07-27  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
+
+       * graphite-clast-to-gimple.c (free_scattering): Change
+       CloogDomainList/CloogDomain to CloogScatteringList/CloogScattering
+       (CLOOG_ORG).
+       (build_cloog_prog): Same.
+       * graphite-cloog-compat.h (cloog_domain): Removed.
+       (cloog_scattering): New.
+       (cloog_set_domain): Removed.
+       (cloog_set_scattering): New.
+       (cloog_next_domain): Removed.
+       (cloog_next_scattering): New.
+       (cloog_set_next_domain): Removed.
+       (cloog_set_next_scattering): New.
+       (CloogScatteringList): New.
+       (CloogScattering): New.
+       (cloog_scattering_free): New.
+       (new_Cloog_Scattering_from_ppl_Polyhedron): New.
+       * graphite-cloog-util.c (new_Cloog_Scattering_from_ppl_Polyhedron):
+       New.
+
+2010-07-27  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
+
+       * graphite-clast-to-gimple.c (build_cloog_prog): Extend with
+       CloogState.
+       (set_cloog_options): Same.
+       (print_clast_stmt): Same.
+       (scop_to_clast): Same.
+       (print_generated_program): Same.
+       (gloog): Same.
+       * graphite-clast-to-gimple.h: Include graphite-cloog-util.h.
+       (scop_to_clast): Extend with CloogState.
+       * graphite-cloog-util.c: Include graphite-cloog-compat.h
+       (new_Cloog_Domain_from_ppl_Polyhedron):
+       Extend with CloogState.  Use cloog_domain_from_cloog_matrix (CLOOG_ORG).
+       (new_Cloog_Domain_from_ppl_Pointset_Powerset): Extend with CloogState.
+       (new_Cloog_Domain_from_ppl_Polyhedron): Same.
+       * graphite-cloog-util.h (build_cloog_prog): Same.
+       * graphite-cloog-copat.h (build_cloog_prog): New.
+       (CloogState): New.
+       (cloog_state_malloc): New.
+       (cloog_state_free): New.
+       (cloog_loop_malloc): New.
+       (cloog_options_malloc): New.
+       (cloog_statement_alloc): New.
+       (cloog_domain_from_cloog_matrix): New.
+       (new_Cloog_Domain_from_ppl_Pointset_Powerset): New.
+       (new_Cloog_Domain_from_ppl_Polyhedron): New.
+
+2010-07-27  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
+
+       * graphite-clast-to-gimple.c (clast_name_to_gcc): Parameter
+       type of NAME now depends on used CLooG version.
+       (clast_to_gcc_expression): Replace expr_* with clast_expr_*.
+       (gcc_type_for_clast_expr): Same.
+       (print_clast_stmt): Replace pprint with clast_pprint.
+       * graphite-cloog-compat.h: Provide compatibility macros for
+       CLooG Legacy.
+       (clast_name_p): New.
+       (clast_expr_term): New.
+       (clast_expr_red): New.
+       (clast_expr_bin): New.
+       (clast_pprint): New.
+
+2010-07-27  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
+
+       * graphite-clast-to-gimple.c (set_cloog_options): Make CLooG options
+       compatible to newer CLooG releases (CLOOG_ORG).
+       (build_cloog_prog): Pass CloogOptions to more functions (CLOOG_ORG).
+       (scop_to_clast): Pass CloogOptions to build_cloog_prog (CLOOG_ORG).
+       * graphite-cloog-compat.h: Add compatibility macros for CLooG Legacy.
+       (build_cloog_prog) : New.
+       (cloog_program_extract_scalars): New.
+       (cloog_program_scatter): New.
+
+2010-07-27  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
+
+       * graphite-clast-to-gimple.c: Include graphite-cloog-compat.h
+       conditionally (CLOOG_ORG).
+       * graphite-cloog-compat.h: New.  Include graphite-cloog-compat.h.
+       (cloog_statement_usr): New.
+       (cloog_domain): Same.
+       (cloog_set_domain): Same.
+       (cloog_next_domain): Same.
+       (cloog_set_next_domain): Same.
+       (cloog_program_nb_scattdims): Same.
+       (cloog_program_set_nb_scattdims): Same.
+       (cloog_program_names): Same.
+       (cloog_program_set_names): Same.
+       (cloog_program_set_context): Same.
+       (cloog_program_set_loop): Same.
+       (cloog_program_blocklist): Same.
+       (cloog_program_set_blocklist): Same.
+       (cloog_program_scaldims): Same.
+       (cloog_program_set_scaldims): Same.
+       (cloog_names_nb_parameters): Same.
+       (cloog_names_set_nb_parameters): Same.
+       (cloog_names_parameters): Same.
+       (cloog_names_set_parameters): Same.
+       (cloog_names_set_nb_iterators): Same.
+       (cloog_names_set_iterators): Same.
+       (cloog_names_set_nb_scattering): Same.
+       (cloog_names_set_scattering): Same.
+       (cloog_statement_set_usr): Same.
+       (cloog_loop_set_next): Same.
+       (cloog_loop_set_domain): Same.
+       (cloog_loop_set_block): Same.
+       (cloog_block_list_next): Same.
+       (cloog_block_list_set_next):
+       (cloog_block_list_set_block): Same.
+
+2010-07-27  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Returns
+       a bool.
+       (rewrite_commutative_reductions_out_of_ssa_close_phi): Same.
+       (rewrite_commutative_reductions_out_of_ssa_loop): Same.
+       (rewrite_cross_bb_scalar_deps_out_of_ssa): Call scev_reset_htab
+       when something has been changed.
+       (rewrite_commutative_reductions_out_of_ssa): Same.
+
+       * gcc.dg/graphite/id-26.c: New.
+
+2010-07-26  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (propagate_expr_outside_region): Also
+       handle the case when def is in the sese region.
+       (rewrite_close_phi_out_of_ssa): Call propagate_expr_outside_region
+       for invariant expressions.
+       (rewrite_cross_bb_phi_deps): Removed.
+       (rewrite_cross_bb_scalar_deps): Also handle GIMPLE_PHI nodes.
+       (rewrite_cross_bb_scalar_deps_out_of_ssa): Do not call
+       rewrite_cross_bb_phi_deps.
+
+2010-07-26  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c
+       (rewrite_commutative_reductions_out_of_ssa_loop): Call
+       scev_analyzable_p only on is_gimple_reg
+
+       * gcc.dg/graphite/id-25.c: New.
+
+2010-07-22  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (propagate_expr_outside_region): New.
+       (rewrite_close_phi_out_of_ssa): Propagate constant values or
+       parametric expressions outside the scop region.
+       (rewrite_cross_bb_scalar_deps): Same.
+       * sese.c (rename_uses): Use NULL_TREE instead of NULL for trees.
+
+       * gcc.dg/graphite/run-id-5.c: New.
+       * gcc.dg/graphite/run-id-6.c: New.
+       * gfortran.dg/graphite/id-21.f: New.
+
+2010-07-22  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Use
+       SSA_NAME_DEF_STMT only on SSA_NAMEs.
+
+       * gcc.dg/graphite/id-24.c: New.
+
+2010-07-22  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-scalar-evolution.c (instantiate_scev_name): Do not
+       instantiate default definitions.
+
+2010-07-20  Vladimir Kargov  <kargov@gmail.com>
+
+       * graphite-scop-detection.c (is_valid_stmt_p): New.
+       (is_valid_bb_p): New.
+
+2010-07-20  Vladimir Kargov  <kargov@gmail.com>
+           Sebastian Pop  <sebastian.pop@amd.com>
+
+       * cfgloop.c (is_loop_exit): Renamed loop_exits_to_bb_p.
+       (loop_exits_from_bb_p): New.
+       * cfgloop.h (is_loop_exit): Renamed loop_exits_to_bb_p.
+       (loop_exits_from_bb_p): Declared.
+       * graphite-scop-detection.c (scopdet_basic_block_info): Call
+       loop_exits_to_bb_p.
+
+2010-07-20  Vladimir Kargov  <kargov@gmail.com>
+
+       * refined-regions.c: Include tree-pass.h, cfgloop.h, gimple.h, and
+       tree-data-ref.h.
+       (dot_regions_1): New.
+       (dot_regions): New.
+       * refined-regions.h (dot_regions): Declared.
+       * Makefile.in (refined-regions.o): Update dependences.
+
+2010-07-20  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add an
+       extra parameter for the region.  Call scev_analyzable_p.
+       (rewrite_reductions_out_of_ssa): Update call to
+       rewrite_close_phi_out_of_ssa.
+       (rewrite_cross_bb_phi_deps): Same.
+       (rewrite_commutative_reductions_out_of_ssa_loop): Add an extra
+       parameter for the region.  Call scev_analyzable_p.
+       (rewrite_commutative_reductions_out_of_ssa): Update call to
+       rewrite_commutative_reductions_out_of_ssa_loop.
+
+2010-07-20  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * gcc.dg/tree-ssa/pr20742.c: New.
+
+2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * sese.c (rename_uses): Call unshare_expr before force_gimple_operand.
+
+       * gcc.dg/graphite/id-23.c: New.
+
+2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (reduction_phi_p): Do not rewrite out of
+       SSA scalar phi nodes that can be scev_analyzable_p.
+
+       * gfortran.dg/graphite/id-20.f: Adjust testcase.
+
+2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Correctly
+       handle SSA_NAME_IS_DEFAULT_DEF.
+
+2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * sese.c (rename_uses): Handl unconditionally gimple_debug statements.
+
+       * gcc.dg/graphite/pr42729.c: New.
+
+2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Special
+       case non close-phi nodes with one argument.
+
+2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * sese.h (scev_analyzable_p): Scevs could be expressions without
+       chrecs and still be scev_analyzable_p.
+
+2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
+
+2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * cfgloop.c (alloc_loop): Remove initialization of loop->single_iv.
+       * cfgloop.h (struct loop): Remove single_iv field.
+       * graphite-sese-to-poly.c (graphite_loop_normal_form): Removed.
+       (scop_canonicalize_loops): Removed.
+       (scop_ivs_can_be_represented): Do not use loop->single_iv.  Iterate
+       over all the loop phi nodes in loop->header.
+       (build_poly_scop): Remove use of scop_canonicalize_loops.
+
+2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Also
+       handle GIMPLE_CALL.
+
+2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-chrec.c (chrec_apply): Should only apply to the specified
+       variable.  Also handle multivariate chains of recurrences that
+       satisfy evolution_function_is_affine_p.  Also handle CASE_CONVERT.
+
+2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (debug_clast_name_index): Removed.
+       (debug_clast_name_indexes_1): Removed.
+       (debug_clast_name_indexes): Removed.
+       (pbb_to_depth_to_oldiv): Removed.
+       (build_iv_mapping): Replace the use of rename_map with iv_map.
+       (translate_clast_user): Remove uses of rename_map.  Allocate and
+       free iv_map.
+       (translate_clast_for_loop): Remove uses of rename_map.
+       (translate_clast_for): Same.
+       (translate_clast_guard): Same.
+       (translate_clast): Same.
+       (gloog): Same.
+       * graphite-clast-to-gimple.h (debug_clast_name_indexes): Removed.
+       * graphite-sese-to-poly.c (scev_analyzable_p): Moved...
+       * sese.c (set_rename): Now static.
+       (rename_variables_in_stmt): Removed.
+       (rename_uses): New.
+       (is_parameter): Removed.
+       (is_iv): Removed.
+       (expand_scalar_variables_call): Removed.
+       (expand_scalar_variables_ssa_name): Removed.
+       (expand_scalar_variables_expr): Removed.
+       (expand_scalar_variables_stmt): Removed.
+       (expand_scalar_variables): Removed.
+       (rename_variables): Removed.
+       (remove_condition): Removed.
+       (get_true_edge_from_guard_bb): Removed.
+       (get_false_edge_from_guard_bb): Removed.
+       (struct igp): Removed.
+       (default_before_guard): Removed.
+       (convert_for_phi_arg): Removed.
+       (add_guard_exit_phis): Removed.
+       (insert_guard_phis): Removed.
+       (graphite_copy_stmts_from_block): Now also uses iv_map and a
+       region.  Do not copy conditions.  Do not copy induction variables.
+       Call rename_uses.
+       (copy_bb_and_scalar_dependences): Allocate a local rename_map for
+       the translated statement.  Use the iv_map for the induction
+       variable renaming.
+       * sese.h (copy_bb_and_scalar_dependences): Update declaration.
+       (set_rename): Removed declaration.
+       (scev_analyzable_p): ...here.
+       * tree-chrec.c (chrec_apply_map): New.
+       * tree-chrec.h (chrec_apply_map): Declared.
+
+2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (translate_clast_for_loop): Do not call
+       insert_loop_close_phis.
+       * sese.c (name_defined_in_loop_p): Removed.
+       (expr_defined_in_loop_p): Removed.
+       (alive_after_loop): Removed.
+       (close_phi_not_yet_inserted_p): Removed.
+       (struct alep): Removed.
+       (add_loop_exit_phis): Removed.
+       (insert_loop_close_phis): Removed.
+
+2010-07-15  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
+
+       * graphite-cloog-util.c (cloog_matrix_to_ppl_constraint): Fix flipped
+       condition.
+       * graphite-poly.c (psct_scattering_dim_for_loop_depth): Same.
+
+2010-07-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * gfortran.dg/graphite/id-20.f: New.
+
+2010-07-05  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
+
+       * graphite-cloog-util.h: Added cloog.h.
+       * graphite-blocking.c: Removed cloog.h.
+       * graphite-dependences.c: Same.
+       * graphite-interchange.c: Same.
+       * graphite-poly.c: Same.
+       * graphite-ppl.c: Same.
+       * graphite-scop-detection.c: Same.
+       * graphite-sese-to-poly.c:
+       Removed cloog.h.
+       Removed graphite-clast-to-gimple.h.
+       (check_poly_representation): Removed (unused).
+       * graphite-sese-to-poly.h
+       (check_poly_representation): Removed (unused).
+
+2010-07-05  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
+
+       * Makefile.in
+       (OBJS-common): Added graphite-cloog-util.o.
+       (graphite-clast-to-gimple.o): Added graphite-cloog-util.h.
+       (graphite-cloog-util.o): New.
+       (graphite-ppl.o): Added graphite-cloog-util.h.
+       * graphite-clast-to-gimple.c:
+       Added graphite-cloog-util.h to include statements.
+       * graphite-cloog-util.c: New.
+       (new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.c.
+       (new_Cloog_Domain_from_ppl_Polyhedron): Same.
+       (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
+       (new_C_Polyhedron_from_Cloog_Matrix): Same.
+       (ppl_Constrain_System_number_of_constraints): Same.
+       (new_Cloog_Matrix_from_ppl_Constraint_System): Same.
+       (oppose_constraint): Same.
+       (cloog_matrix_to_ppl_constraint): Same.
+       (new_Constraint_System_from_Cloog_Matrix): Same.
+       (insert_constraint_into_matrix): Same. Declared static.
+       * graphite-cloog-util.h: New.
+       (new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.h.
+       (new_Cloog_Domain_from_ppl_Polyhedron): Same.
+       (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
+       (new_C_Polyhedron_from_Cloog_Matrix): Same.
+       (insert_constraint_into_matrix): Same.
+       * graphite-ppl.c:
+       Added graphite-cloog-util.h to include statements.
+       (new_Cloog_Matrix_from_ppl_Polyhedron): Moved to graphite-cloog-util.c.
+       (new_Cloog_Domain_from_ppl_Polyhedron): Same.
+       (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
+       (new_C_Polyhedron_from_Cloog_Matrix): Same.
+       (insert_constraint_into_matrix): Same.
+       (ppl_Constrain_System_number_of_constraints): Same.
+       (new_Cloog_Matrix_from_ppl_Constraint_System): Same.
+       (oppose_constraint): Same.
+       (cloog_matrix_to_ppl_constraint): Same.
+       (new_Constraint_System_from_Cloog_Matrix): Same.
+       * graphite-ppl.h:
+       (new_Cloog_Matrix_from_ppl_Polyhedron): Moved to
+       graphite-cloog-util.h.
+       (new_Cloog_Domain_from_ppl_Polyhedron): Same.
+       (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
+       (new_C_Polyhedron_from_Cloog_Matrix): Same.
+       (insert_constraint_into_matrix): Removed.
+
+2010-07-04  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
+
+       * graphite-clast-to-gimple.c
+       (precision_for_value): Resolve value_* calls to matching mpz_* calls.
+       (precision_for_interval): Same.
+       (gcc_type_for_interval): Same.
+       (compute_type_for_level): Same.
+       * graphite-interchange.c
+       (lst_interchange_profitable_p): Same.
+       * graphite-poly.c
+       (psct_scattering_dim_for_loop_depth): Same.
+       * graphite-ppl.c
+       (ppl_max_for_le_pointset): Same.
+       (ppl_min_for_le_pointset): Same.
+
+2010-06-25  Vladimir Kargov  <kargov@gmail.com>
+
+       * refined-regions.c (bb_index_compare): New.
+       (get_bbs_in_region): New.
+       (print_bbs_in_region): New.
+       (print_refined_region): Add an argument that allows to print
+       all basic blocks contained in regions.
+       (debug_refined_region): Update call to print_refined_region.
+       * refined-regions.h (print_refined_region): Update declaration.
+       (get_bbs_in_region): Declared.
+       * graphite-scop-detection.c (build_scops_new): Print the refined
+       region tree into the Grahite dump file.
+
+2010-06-24  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (rewrite_degenerate_phi): New.
+       (rewrite_reductions_out_of_ssa): Call it for degenerate_phi_result.
+
+2010-06-24  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (rewrite_cross_bb_phi_deps): Call
+       rewrite_close_phi_out_of_ssa.
+
+       * gcc.dg/graphite/id-22.c: New.
+
+2010-06-24  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (rewrite_cross_bb_phi_deps): Remove dead code.
+
+2010-06-24  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (build_iv_mapping): Rename map with
+       rename_map.
+       * sese.c (debug_rename_map): Same.
+       (get_rename): Same.
+       (set_rename): Same.
+       (rename_variables_in_stmt): Same.
+       (expand_scalar_variables_call): Same.
+       (expand_scalar_variables_ssa_name): Same.
+       (expand_scalar_variables_expr): Same.
+       (expand_scalar_variables_stmt): Same.
+       (expand_scalar_variables): Same.
+       (rename_variables): Same.
+       (graphite_copy_stmts_from_block): Same.
+       (copy_bb_and_scalar_dependences): Same.
+
+2010-06-24  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (copy_renames): Removed.
+       (translate_clast_for): Do not call copy_renames.
+       (translate_clast_guard): Same.
+
+2010-06-23  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Moved up.
+       (rewrite_cross_bb_phi_deps): Split out of rewrite_cross_bb_scalar_deps.
+       (rewrite_cross_bb_scalar_deps_out_of_ssa): Run rewrite_cross_bb_phi_deps
+       before rewrite_cross_bb_scalar_deps.
+
+2010-06-23  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (rewrite_commutative_reductions_out_of_ssa):
+       Early return in when flag_associative_math is not set.
+
+2010-06-23  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * gcc.dg/graphite/run-id-2.c: Call abort.
+
+2010-06-23  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Always insert out
+       of SSA copies on edges except for loop->latch.
+
+2010-06-23  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps_out_of_ssa):
+       Split out of rewrite_reductions_out_of_ssa.
+       * graphite-sese-to-poly.h (rewrite_cross_bb_scalar_deps_out_of_ssa):
+       Declared.
+       * graphite.c (graphite_transform_loops): Call it.
+
+2010-06-23  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite.c (graphite_transform_loops): Add two more dbg_cnt calls.
+
+2010-06-15  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * passes.c (init_optimization_passes): Add pass_graphite.
+       Schedule a pass_copy_prop before pass_graphite_transforms.
+       * timevar.def (TV_GRAPHITE): Declared.
+       * tree-pass.h (pass_graphite): Declared.
+       * tree-ssa-loop.c (pass_graphite): New.
+
+       * gcc.dg/graphite/id-20.c: New.
+
+2010-06-12  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (gloog): Do not pass scops in parameter.
+       Remove calls to rename_nb_iterations and rename_sese_parameters.
+       * graphite-clast-to-gimple.h (gloog): Update declaration.
+       * graphite.c (graphite_transform_loops): Update call to gloog.
+       * sese.c (rename_variables_in_expr): Removed.
+       (rename_nb_iterations): Removed.
+       (rename_sese_parameters): Removed.
+       * sese.h (rename_nb_iterations): Removed.
+       (rename_sese_parameters): Removed.
+
+2010-06-12  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (gloog): Remove call to
+       sese_adjust_liveout_phis.
+       * graphite-sese-to-poly.c (scev_analyzable_p): When scev returns an
+       SSA_NAME, allow it to be handled by rewrite_cross_bb_scalar_deps.
+       (rewrite_cross_bb_scalar_deps): Handle GIMPLE_PHI nodes: call
+       rewrite_phi_out_of_ssa.
+       * sese.c (get_vdef_before_sese): Removed.
+       (sese_adjust_vphi): Removed.
+       (sese_adjust_liveout_phis): Removed.
+       * sese.h (sese_adjust_liveout_phis): Removed.
+
+2010-06-12  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Pass an extra
+       argument for the place after which to insert the out of SSA copy.
+       (rewrite_close_phi_out_of_ssa): Update calls to insert_out_of_ssa_copy.
+       (rewrite_phi_out_of_ssa): Same.
+       (rewrite_cross_bb_scalar_deps): Same.
+       (insert_copyout): Removed.
+       (insert_copyin): Removed.
+       (translate_scalar_reduction_to_array): Call insert_out_of_ssa_copy and
+       insert_out_of_ssa_copy_on_edge instead of insert_copyout and
+       insert_copyin.
+
+2010-06-12  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (build_scop_bbs): Not static anymore.
+       (rewrite_reductions_out_of_ssa): Same.
+       (rewrite_commutative_reductions_out_of_ssa): Same.
+       (build_poly_scop): Do not call these functions.
+       * graphite-sese-to-poly.h (build_poly_scop): Declared.
+       (rewrite_reductions_out_of_ssa): Declared.
+       (rewrite_commutative_reductions_out_of_ssa): Declared.
+       * graphite.c (graphite_transform_loops): Call on every scop
+       rewrite_commutative_reductions_out_of_ssa before calling
+       rewrite_reductions_out_of_ssa and build_scop_bbs.
+
+2010-06-12  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-dependences.c (dot_deps): Make system call to dotty run
+       in background.
+       (dot_deps_stmt): Same.
+       * graphite-poly.c (dot_lst): Same.
+
+2010-06-11  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (gcc_type_for_interval): Do not pass
+       old_type in parameter.
+       (gcc_type_for_value): Update call to gcc_type_for_interval.
+       (compute_type_for_level_1): Renamed compute_type_for_level.
+       Update call to gcc_type_for_interval.
+
+2010-06-09  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-scalar-evolution.c (instantiate_scev_name): Do not fail
+       the scev analysis when the variable is not used outside the loop
+       in a close phi node: call compute_overall_effect_of_inner_loop.
+
+2010-06-09  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (single_pred_cond): Renamed
+       single_pred_cond_non_loop_exit.  Return NULL for loop exit edges.
+       (build_sese_conditions_before): Renamed call to single_pred_cond.
+       (build_sese_conditions_after): Same.
+
+2010-06-09  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-poly.h: Fix comments and indentation.
+       * graphite-sese-to-poly.c: Same.
+       (build_sese_conditions_before): Compute stmt and gbb only when needed.
+       * tree-chrec.c: Fix comments and indentation.
+       (tree-ssa-loop-niter.c): Same.
+
+2010-06-08  Tobias Grosser  <grosser@fim.uni-passau.de>
+
+       * refined-regions.c (create_region): Only initialize the region.
+       (find_regions_with_entry): Initialize parent relation and bbmap
+       correctly.
+       (build_regions_tree): Set outermost_region to region instead of
+       topmost_region.
+       (calculate_region_tree): Remove unneeded parameters.
+
+2010-06-02  Tobias Grosser  <grosser@fim.uni-passau.de>
+
+       * graphite-scop-detection.c (is_scop_p): New.
+       (build_scops_new): New. A skeleton for the new scop detection.
+       (build_scops_old): Renamed from build_scops.
+       (build_scops): New version. Call the new and the old scop
+       detection.
+
+2010-05-27  Tobias Grosser  <grosser@fim.uni-passau.de>
+           Antoniu Pop  <antoniu.pop@gmail.com>
+
+       * Makefile.in (OBJS-common): Add refined-regions.o.
+       (refined-regions.o): New.
+       (graphite-scop-detection.o): Use refined-regions.h.
+       * graphite-scop-detection.c: Include refined-regions.h
+       (build_scops): Also build the refined region tree.
+       * refined-regions.c: New. Adds an algorithm to detect refined
+       regions.
+       (print_refined_region): New.
+       (debug_refined_region): New.
+       (refined_region_contains_bb_p): New.
+       (refined_region_contains_region_p): New.
+       (is_common_df): New.
+       (struct find_regions_global_data): New.
+       (is_region): New.
+       (typedef struct bb_bb_def): New.
+       (new_bb_bb_def): New.
+       (bb_bb_map_hash): New.
+       (eq_bb_bb_map): New.
+       (find_new_bb): New.
+       (bb_reg_def): New.
+       (new_bb_reg_def): New.
+       (bb_reg_map_hash): New.
+       (eq_bb_reg_map): New.
+       (find_new_region): New.
+       (insert_new_reg): New.
+       (insert_new_bb): New.
+       (insert_shortcut): New.
+       (get_next_postdom): New.
+       (create_region): New.
+       (find_regions_with_entry): New.
+       (find_regions_adc): New.
+       (find_regions): New.
+       (get_topmost_parent): New.
+       (build_regions_tree): New.
+       (calculate_region_tree): New.
+       (free_region_tree): New.
+       * refined-regions.h: New.
+       (struct refined_region): New.
+       (calculate_region_tree): New.
+       (free_region_tree): New.
+       (refined_region_contains_bb_p): New.
+       (refined_region_contains_region_p): New.
+       (print_refined_region): New.
+       (debug_refined_region): New.
+
+2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
+       size_one_node.
+
+2010-05-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Fix
+       type of integer_one_node for fold_build of POINTER_PLUS_EXPR.
+
+2010-05-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (loop_entry_phi_arg): Renamed
+       phi_arg_in_outermost_loop.
+       (remove_simple_copy_phi): Call phi_arg_in_outermost_loop.
+       (remove_invariant_phi): Same.
+
+2010-04-12  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
+
+       * graphite-blocking.c
+       (pbb_strip_mine_profitable_p): Replace Value with mpz_t.
+       * graphite-clast-to-gimple.c
+       (clast_to_gcc_expression): Same.
+       (precision_for_value): Same.
+       (precision_for_interval): Same.
+       (gcc_type_for_interval): Same.
+       (graphite_create_new_guard): Same.
+       (compute_bounds_for_level): Same.
+       (graphite_create_new_loop_guard): Same.
+       * graphite-interchange.c
+       (build_linearized_memory_access): Same.
+       (pdr_stride_in_loop): Same.
+       (memory_strides_in_loop_1): Same.
+       (memory_strides_in_loop): Same.
+       (extend_scattering): Same.
+       (psct_scattering_dim_for_loop_depth): Same.
+       (pbb_number_of_iterations): Same.
+       * graphite-poly.h
+       (debug_iteration_domains): Same.
+       * graphite-ppl.c
+       (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
+       (ppl_set_inhomogeneous_gmp): Same.
+       (ppl_strip_loop): Same.
+       (ppl_lexico_compare_linear_expressions): Same.
+       (ppl_read_polyhedron_matrix): Same.
+       (ppl_max_for_le_pointset): Same.
+       * graphite-ppl.h
+       (ppl_read_polyhedron_matrix): Same.
+       (tree_int_to_gmp): Same.
+       (gmp_cst_to_tree): Same.
+       (ppl_set_inhomogeneous): Same.
+       (ppl_set_inhomogeneous_tree): Same.
+       (ppl_set_coef): Same.
+       (ppl_set_coef_tree): Same.
+       * graphite-sese-to-poly.c
+       (build_pbb_scattering_polyhedrons): Same.
+       (build_scop_scattering): Same.
+       (scan_tree_for_params_right_scev): Same.
+       (scan_tree_for_params): Same.
+       (find_params_in_bb): Same.
+       (find_scop_parameters): Same.
+       (add_upper_bounds_from_estimated_nit): Same.
+       (build_loop_iteration_domains): Same.
+       (add_condition_to_domain): Same.
+       (pdr_add_memory_accesses): Same.
+
+2010-04-11  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
+
+       * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve
+       CLooG's value_* macros to their respective mpz_* counterparts.
+       * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same.
+       (graphite_create_new_loop_guard): Same.
+       * graphite-interchange.c (build_linearized_memory_access): Same.
+       (pdr_stride_in_loop): Same.
+       (memory_strides_in_loop_1): Same.
+       (1st_interchange_profitable_p): Same.
+       * graphite-poly.c (extend_scattering): Same.
+       (psct_scattering_dim_for_loop_depth): Same.
+       (pbb_number_of_iterations): Same.
+       (pbb_number_of_iterations_at_time): Same.
+       * graphite-poly.h (new_1st_loop): Same.
+       * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same.
+       (oppose_constraint): Same.
+       (insert_constraint_into_matrix): Same.
+       (ppl_set_inhomogeneous_gmp): Same.
+       (ppl_set_coef_gmp): Same.
+       (ppl_strip_loop): Same.
+       (ppl_lexico_compare_linear_expressions): Same.
+       (ppl_max_for_le_pointset): Same.
+       (ppl_min_for_le_pointset): Same.
+       (ppl_build_realtion): Same.
+       * graphite-ppl.h (gmp_cst_to_tree): Same.
+       (ppl_set_inhomogeneous): Same.
+       (ppl_set_inhomogeneous_tree): Same.
+       (ppl_set_coef): Same.
+       (ppl_set_coef_tree): Same.
+       * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
+       (build_scop_scattering): Same.
+       (add_value_to_dim): Same.
+       (scan_tree_for_params_right_scev): Same.
+       (scan_tree_for_params_int): Same.
+       (scan_tree_for_params): Same.
+       (find_params_in_bb): Same.
+       (find_scop_parameters): Same.
+       (add_upper_bounds_from_estimated_nit): Same.
+       (build_loop_iteration_domains): Same.
+       (create_linear_expr_from_tree): Same.
+       (add_condition_to_domain): Same.
+       (pdr_add_memory_accesses): Same.
+
+2010-04-05  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43519
+       * graphite-clast-to-gimple.c (max_signed_precision_type): Use
+       lang_hooks.types.type_for_size instead of build_nonstandard_integer_type.
+       When converting an unsigned type to signed, double its precision.
+       (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
+       (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
+       (graphite_create_new_loop_guard): When ub + 1 wraps around, use lb <= ub.
+
+2010-04-05  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43519
+       * graphite-clast-to-gimple.c (max_signed_precision_type): Use
+       build_nonstandard_integer_type.
+       (gcc_type_for_interval): Same.
+
+2010-04-05  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43519
+       * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
+       POINTER_PLUS_EXPR for pointer types.
+
+       * gcc.dg/graphite/id-19.c: New.
+
+2010-04-04  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43519
+       * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
+       * graphite-clast-to-gimple.c: Include langhooks.h.
+       (max_signed_precision_type): New.
+       (max_precision_type): Takes two types as arguments.
+       (precision_for_value): New.
+       (precision_for_interval): New.
+       (gcc_type_for_interval): New.
+       (gcc_type_for_value): New.
+       (gcc_type_for_clast_term): New.
+       (gcc_type_for_clast_red): New.
+       (gcc_type_for_clast_bin): New.
+       (gcc_type_for_clast_expr): Split up into several functions.
+       (gcc_type_for_clast_eq): Rewritten.
+       (compute_bounds_for_level): New.
+       (compute_type_for_level_1): New.
+       (compute_type_for_level): New.
+       (gcc_type_for_cloog_iv): Removed.
+       (gcc_type_for_iv_of_clast_loop): Rewritten.
+       (graphite_create_new_loop): Compute the lower and upper bound types
+       with gcc_type_for_clast_expr.
+       (graphite_create_new_loop_guard): Same.
+       (find_cloog_iv_in_expr): Removed.
+       (compute_cloog_iv_types_1): Removed.
+       (compute_cloog_iv_types): Removed.
+       (gloog): Do not call compute_cloog_iv_types.
+       * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
+       GBB_CLOOG_IV_TYPES.
+       (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
+       * sese.h (struct gimple_bb): Removed field cloog_iv_types.
+       (GBB_CLOOG_IV_TYPES): Removed.
+
+       * gcc.dg/graphite/run-id-pr42644.c: Call abort.
+
+2010-04-02  Sebastian Pop  <sebastian.pop@amd.com>
+
+       Reverted this commit: as at this point the loop closed SSA form
+       is under a canonical form respecting the single argument condition.
+       * graphite-sese-to-poly.c (scalar_close_phi_node_p): Loop
+       close phi nodes may have more than one argument.
+
+2010-04-01  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
+       gimple_phi_num_args of the loop close SSA phi node is equal to 1.
+       (detect_commutative_reduction): Same.
+
+2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (scalar_close_phi_node_p): Loop
+       close phi nodes may have more than one argument.
+
 2010-03-30  Richard Guenther  <rguenther@suse.de>
            Zdenek Dvorak  <ook@ucw.cz>
            Sebastian Pop  <sebastian.pop@amd.com>