OSDN Git Service

Add a stride parameter to scop_do_strip_mine.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog.graphite
index a93e035..a205928 100644 (file)
@@ -1,3 +1,589 @@
+2010-10-20  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-blocking.c (lst_do_strip_mine_loop): Extra parameter
+       for the stride.
+       (lst_do_strip_mine): Same.
+       (scop_do_strip_mine): Same.
+       * graphite-poly.c (apply_poly_transforms): Update call to
+       scop_do_strip_mine.
+       * graphite-poly.h (scop_do_strip_mine): Update declaration.
+
+2010-09-24  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/45758
+       * graphite.c (graphite_initialize): Call scev_reset.
+
+2010-09-23  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * sese.h (scev_analyzable_p): Return false for real or floating
+       point.  Only handle INTEGRAL_TYPE_P and POINTER_TYPE_P.
+
+2010-09-23  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/45758
+       * gfortran.dg/graphite/pr45758.f90: New.
+
+2010-09-23  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-scop-detection.c (is_scop_p): Free bblist.
+
+2010-09-23  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (compute_bounds_for_level): Free le
+       and ps.
+       * graphite-poly.c (pbb_number_of_iterations_at_time): Free le and
+       domain.
+       * graphite-sese-to-poly.c (add_upper_bounds_from_estimated_nit):
+       Do not allocate ub_expr, it is passed in initialized.
+
+2010-09-21  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
+
+       * common.opt (fgraphite-dump-cloog): New flag.
+       * doc/invoke.texi (-fgraphite-dump-cloog): Documented.
+       * graphite-clast-to-gimple.c (init_cloog_input_file): New.
+       (build_cloog_prog): Dump CLooG input file when
+       flag_graphite_dump_cloog is set.
+       * graphite-cloog-compat.h (cloog_program_dump_cloog): New.
+
+2010-09-20  Sebastian Pop  <sebastian.pop@amd.com>
+
+       Revert previous patch "New flag: -fgraphite-dump-cloog."
+
+2010-09-20  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
+
+       * common.opt (fgraphite-dump-cloog): New flag.
+       * doc/invoke.texi (-fgraphite-dump-cloog): Documented.
+       * graphite-clast-to-gimple.c (init_cloog_input_file): New.
+       (build_cloog_prog): Dump CLooG input file when
+       flag_graphite_dump_cloog is set.
+
+2010-09-20  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (graphite_verify): Remove call to
+       verify_dominators for CDI_POST_DOMINATORS.
+       * sese.h: Remove comment about CDI_POST_DOMINATORS.
+       (recompute_all_dominators): Remove call to free_dominance_info
+       for CDI_POST_DOMINATORS.  Remove call to calculate_dominance_info
+       for CDI_POST_DOMINATORS.
+
+2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-poly.c (pbb_number_of_iterations_at_time): Only iterate
+       over pbb_dim_iter_domain.
+
+2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-flattening.c: Fix comments.
+
+2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * Makefile.in (OBJS-common): Add graphite-flattening.o.
+       (graphite-flattening.o): New rule.
+       * common.opt (floop-flatten): New flag.
+       * doc/invoke.texi (-floop-flatten): Documented.
+       * graphite-flattening.c: New.
+       * graphite-poly.c (apply_poly_transforms): Call flatten_all_loops.
+       * graphite-poly.h (flatten_all_loops): Declared.
+       (lst_remove_loop_and_inline_stmts_in_loop_father): New.
+       * tree-ssa-loop.c (gate_graphite_transforms): When flag_loop_flatten
+       is set, also set flag_graphite.
+
+2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-poly.c (cloog_checksum): New.
+       * graphite-poly.h (cloog_checksum): Declared.
+
+2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-poly.c (pbb_number_of_iterations): Removed.
+       (pbb_number_of_iterations_at_time): Correctly compute the number
+       of iterations in the transformed loop.
+       * graphite-poly.h (pbb_number_of_iterations): Removed.
+
+2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-poly.h (lst_update_scattering_seq): Removed.
+       (lst_update_scattering): Correctly handle outermost loop dewey
+       renumbering.
+
+2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-blocking.c (pbb_strip_mine_profitable_p): Renamed
+       lst_strip_mine_profitable_p.  Call lst_niter_for_loop.
+       * graphite-poly.h (lst_niter_for_loop): New.
+
+2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-poly.c (apply_poly_transforms): Do not abort when the
+       transform read from disk is not legal.  Call fatal_error instead.
+
+2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-poly.c (print_pbb_body): Add missing closing parenthesis.
+       (print_scop_header): Removed.  Inlined in the only call place...
+       (print_scop): ... here.
+
+2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-poly.h (lst_dewey_number): Use FOR_EACH_VEC_ELT.
+
+2010-09-02  Vladimir Kargov  <kargov@gmail.com>
+
+       * graphite-scop-detection.c (is_valid_expr_p, is_valid_loop_p): New.
+       (is_valid_stmt_p): Add data reference and operation-specific checks.
+       (is_valid_bb_p): Change structure, add loop validity check.
+       (is_scop_p): Move the TODO list
+       (find_scops_new): New.
+       (build_scops_new): Move part of functionality to find_scops_new and
+       build_scops.  Add necessary steps for successful SCoP construction.
+       (build_scops): Compute SCoP sets for both detection algorithms, choose
+       the resulting one depending on static condition.
+
+2010-08-24  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-poly.c (graphite_read_scop_file): Fix uninitialize warning.
+
+2010-08-24  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-dependences.c (dot_deps): Avoid set but not used warning.
+       (dot_deps_stmt): Same.
+       * graphite-poly.c (dot_lst): Same.
+
+2010-08-23  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-blocking.c (scop_do_strip_mine): Do not call
+       graphite_legal_transform.
+       (scop_do_block): Same.
+
+2010-08-20  Vladimir Kargov  <kargov@gmail.com>
+
+       * graphite-scop-detection.c (graphite_can_represent_loop): Correct the
+       description.
+
+2010-08-20  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/45230
+       * gcc.dg/graphite/id-pr45230.c: New.
+
+2010-08-20  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-scalar-evolution.c (instantiate_array_ref): New.
+       (instantiate_scev_r): Also handle ARRAY_REFs.
+
+2010-08-20  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
+       Do not check for VAR_DECL, PARM_DECL, FUNCTION_DECL, LABEL_DECL,
+       RESULT_DECL, and FIELD_DECL.  Return false for an
+       SSA_NAME_IS_DEFAULT_DEF.
+       (compute_scalar_evolution_in_loop): Do not further analyze the
+       scalar evolution when no_evolution_in_loop_p returns true.
+
+2010-08-20  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-chrec.h (evolution_function_is_affine_p): Do not check
+       whether CHREC_LEFT is invariant.  A function is affine when
+       CHREC_RIGHT is invariant.
+
+2010-08-20  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (reduction_phi_p): Remove check for
+       is_gimple_reg.
+       (rewrite_degenerate_phi): Same.
+       (rewrite_reductions_out_of_ssa): Add check for is_gimple_reg.
+
+2010-08-18  Vladimir Kargov  <kargov@gmail.com>
+
+       * graphite-scop-detection.c (graphite_can_represent_scev,
+       graphite_can_represent_expr, stmt_has_simple_data_refs_p,
+       graphite_can_represent_loop): Remove outermost_loop.
+
+2010-08-17  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/45229
+       * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Do not
+       handle GIMPLE_CALLs with no LHS.
+
+2010-08-17  Riyadh Baghdadi  <baghdadi.mr@gmail.com>
+           Sebastian Pop  <sebastian.pop@amd.com>
+
+       * gcc.dg/graphite/graphite.exp: Add test rules for openscop read/write.
+       Call remove-build-file to clean up the generated *.graphite files.
+
+2010-08-17  Riyadh Baghdadi <baghdadi.mr@gmail.com>
+
+       * doc/invoke.texi (debugging options): Update documentation.
+       (-floop-interchange): Same.
+       (-flopp-strip-mine): Same.
+       (-floop-block): Same.
+       (-fgraphite-read): Add documentation.
+       (-fgraphite-write): Same.
+
+2010-08-17  Riyadh Baghdadi <baghdadi.mr@gmail.com>
+
+       * toplev.c (process_options): Disable graphite loop optimization
+       options when -fgraphite-read flag is used.
+
+2010-08-17  Riyadh Baghdadi <baghdadi.mr@gmail.com>
+
+       * graphite-poly.c (init_graphite_out_file): New.
+       (init_graphite_in_file): New.
+       (apply_poly_transforms): Updated to enable reading and writing of
+       multiple scop files.
+       * toplev.c (init_asm_output): Remove graphite in/out file initialization.
+
+2010-08-17  Tobias Grosser  <grosser@fim.uni-passau.de>
+
+       * graphite-scop-detection.c (graphite_can_represent_scev): Remove
+       redundant checks.
+
+2010-08-12  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (precision_for_value): Adjust
+       computation of precision by 1.
+
+2010-08-12  Riyadh Baghdadi <baghdadi.mr@gmail.com>
+
+       * graphite-cloog-util.c (openscop_read_cloog_matrix): New.
+       (openscop_read_polyhedron_matrix): New.
+       * graphite-cloog-util.h (openscop_read_polyhedron_matrix): Declared.
+       (openscop_read_N_int): Same.
+       * graphite-poly.c (openscop_read_N_int): New.
+       (openscop_read_one_int): New.
+       (openscop_read_N_string): New.
+       (openscop_read_one_string): New.
+       (openscop_read_powerset_matrix): New.
+       (graphite_read_transforms): Remove.
+       (graphite_read_scatt): New.
+       (graphite_read_scop_file): New.
+       (apply_poly_transforms): Updated to call graphite_read_scop_file.
+
+2010-08-11  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
+
+       * graphite-poly.c: Change include order.
+
+2010-08-11  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
+
+       * graphite-cloog-compat.h (cloog_matrix_ncolumns): New.
+       (cloog_matrix_nrows): New.
+
+2010-08-11  Riyadh Baghdadi <baghdadi.mr@gmail.com>
+
+       * graphite-cloog-util.c (openscop_print_cloog_matrix): Remove spaces
+       from matrix lines.
+       * graphite-poly.c (openscop_print_scattering_function_1): Same.
+       (print_scattering_function_1): Same.
+       (openscop_print_pbb_domain): Same.
+       (openscop_print_scop_context): Same.
+       (print_scop_context): Same.
+
+2010-08-11  Riyadh Baghdadi <baghdadi.mr@gmail.com>
+
+       * graphite-poly.c (openscop_print_pdr_polyhedron): Fix indentation.
+       (openscop_print_pdr_polyhedron): Print pph.
+
+2010-07-29  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * gcc.dg/graphite/graphite.exp: Add compile rules for vect-* files.
+       * gfortran.dg/graphite/graphite.exp: Same.
+       * gcc.dg/graphite/vect-pr43423.c: New.
+
+2010-07-29  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (gcc_type_for_interval): Generate in
+       priority signed types.
+
+2010-07-29  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (max_signed_precision_type): Remove the call
+       to lang_hooks.types.type_for_size.  Call build_nonstandard_integer_type.
+
+2010-07-29  Riyadh Baghdadi <baghdadi.mr@gmail.com>
+
+       * graphite-cloog-util.c (openscop_print_cloog_matrix): New.
+       (openscop_print_polyhedron_matrix): New.
+       * graphite-cloog-util.h (openscop_print_polyhedron_matrix): Declared.
+       * graphite-poly.c (openscop_print_pdr_polyhedron): Same.
+       (openscop_print_pdr_powerset): New.
+       (openscop_print_powerset_matrix): New.
+       (openscop_print_scattering_function_1): New.
+       (print_scattering_function): Add support for scattering names and
+       OpenScop format.
+       (graphite_write_transforms): Remove.
+       (apply_poly_transforms): Updated to call print_scop.
+       (print_pdr_access_layout): Updated to support OpenScop format.
+       (print_pdr): Same.
+       (openscop_print_pbb_domain): New.
+       (print_pbb_body): Added a parameter to allow indicating that pbb_body is
+       not provided.
+       (print_pbb): Updated to call the new print_pbb_body.
+       (openscop_print_scop_context): New.
+       (print_scop_header): New.
+       (print_scop): Updated to call print_scop_header.
+       * graphite-poly.h: Document OpenScop format.
+
+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
 
 2010-04-11  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
 
-       * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve 
+       * 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.