+2010-11-22 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/45297
+ * graphite-poly.c (new_poly_bb): Returns a poly_bb_p. Do not take
+ the reduction bool in parameter. Clear PBB_IS_REDUCTION. Set GBB_PBB.
+ * graphite-poly.h (new_poly_bb): Update declaration.
+ (gbb_from_bb): Moved here...
+ (pbb_from_bb): New.
+ * graphite-sese-to-poly.c (var_used_in_not_loop_header_phi_node):
+ Removed.
+ (graphite_stmt_p): Removed.
+ (try_generate_gimple_bb): Returns a gimple_bb_p. Do not pass in
+ sbitmap reductions. Always build a gimple_bb_p. Do not call
+ new_poly_bb.
+ (build_scop_bbs_1): Do not pass in sbitmap reductions.
+ (build_scop_bbs): Same.
+ (gbb_from_bb): ... from here.
+ (add_conditions_to_constraints): Moved up.
+ (analyze_drs): New.
+ (build_scop_drs): Call analyze_drs. Remove all the PBBs that do
+ not contain data references.
+ (new_pbb_from_pbb): New.
+ (insert_out_of_ssa_copy_on_edge): Call new_pbb_from_pbb after a
+ block is split.
+ (rewrite_close_phi_out_of_ssa): Update call to
+ insert_out_of_ssa_copy_on_edge.
+ (rewrite_reductions_out_of_ssa): Now static.
+ (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
+ (split_pbb): New.
+ (split_reduction_stmt): Call split_pbb.
+ (translate_scalar_reduction_to_array): Pass in the scop, do not
+ pass in the sbitmap reductions.
+ (rewrite_commutative_reductions_out_of_ssa_close_phi): Same.
+ (rewrite_commutative_reductions_out_of_ssa_loop): Same.
+ (rewrite_commutative_reductions_out_of_ssa): Same.
+ (build_poly_scop): Call build_scop_bbs,
+ rewrite_commutative_reductions_out_of_ssa,
+ rewrite_reductions_out_of_ssa, and
+ rewrite_cross_bb_scalar_deps_out_of_ssa. Move build_scop_drs
+ before scop_to_lst.
+ * graphite-sese-to-poly.h (rewrite_commutative_reductions_out_of_ssa):
+ Removed declaration.
+ (rewrite_reductions_out_of_ssa): Same.
+ (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
+ (build_scop_bbs): Same.
+ * graphite.c (graphite_transform_loops): Do not initialize reductions.
+ Do not call build_scop_bbs,
+ rewrite_commutative_reductions_out_of_ssa,
+ rewrite_reductions_out_of_ssa, and
+ rewrite_cross_bb_scalar_deps_out_of_ssa.
+ * sese.h (struct gimple_bb): Add field pbb.
+ (GBB_PBB): New.
+
+ * gcc.dg/graphite/pr45297.c: New.
+
+2010-11-22 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (handle_scalar_deps_crossing_scop_limits):
+ New.
+ (rewrite_cross_bb_scalar_deps): Pass in the scop. Call
+ handle_scalar_deps_crossing_scop_limits.
+ (rewrite_cross_bb_scalar_deps_out_of_ssa): Create an empty BB
+ after the scop. Update call to rewrite_cross_bb_scalar_deps.
+
+2010-11-22 Sebastian Pop <sebastian.pop@amd.com>
+
+ * sese.c (rename_uses): Call recompute_tree_invariant_for_addr_expr
+ when replacing a constant in an ADDR_EXPR.
+
+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
+ 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.
+