X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog.graphite;h=b2c1b1c6f817e0db90485aa6a3ea6d7c5b7e66f3;hp=e61bee61f955f6671c7188a39e2b7ef70e408335;hb=2f57f4738ee77410e042eeace645a864e2b2c733;hpb=c64f563147df65bb1beb24f04e32b28feca90d7d diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite index e61bee61f95..b2c1b1c6f81 100644 --- a/gcc/ChangeLog.graphite +++ b/gcc/ChangeLog.graphite @@ -1,3 +1,847 @@ +2011-05-26 Alexey Kravets + + PR middle-end/49147 + * graphite-opencl-codegen.c + (opencl_get_perfect_nested_loop_depth): Use + enabled_dependency_in_clast_loop_p instead of + dependency_in_clast_loop_p. + * graphite-opencl.c (opencl_transform_stmt_list): Ditto. + (enabled_dependency_in_clast_loop_p): New. + * graphite-opencl.h (enabled_dependency_in_clast_loop_p): Export. + + * gcc.dg/graphite/pr49147.c: New test. + +2011-05-24 Sebastian Pop + + * graphite-opencl-codegen.c (opencl_print_local_vars): Fix typo. + +2011-05-24 Sebastian Pop + + * graphite-dependences.c (graphite_outer_subscript_bound): Remove + memory leaks, add one more assert. + +2011-05-24 Sebastian Pop + + * graphite-dependences.c (build_alias_set_powerset): Remove + continue from loop, add one more assert. + +2011-05-24 Sebastian Pop + + * graphite-dependences.c (graphite_outer_subscript_bound): Remove + unused parameter. + * graphite-dependences.h (graphite_outer_subscript_bound): Same. + * graphite-opencl-meta-clast.c (opencl_set_meta_rw_flags): Update + call to graphite_outer_subscript_bound. + * graphite-opencl.c (opencl_get_indirect_size): Same. + +2011-05-24 Alexey Kravets + + * graphite-opencl.c (opencl_private_var_name_p): Removed. + (graphite_artificial_array_p): Removed. + (opencl_data_create): Use zero_dim_array_p instead of + graphite_artificial_array_p. + +2011-01-25 Sebastian Pop + + * graphite-opencl.c (opencl_create_function_call): Use cl_khr_fp64 + pragma extension only when it is defined. Use cl_amd_fp64 when it + is defined. + +2011-01-23 Tobias Grosser + + * doc/install.texi: Replace '/' by an or and give the exact + version number of cloog-0.16.1 + +2011-01-20 Sebastian Pop + + * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New. + (close_phi_written_to_memory): Call for_each_index with + dr_indices_valid_in_loop. + + * gfortran.dg/graphite/id-24.f: New. + * gfortran.dg/graphite/id-25.f: New. + +2011-01-19 Sebastian Pop + + * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN + when it is initialized. + + * gfortran.dg/graphite/id-23.f: New. + +2011-01-19 Sebastian Pop + + * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update + call to graphite_find_data_references_in_stmt. + * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New. + (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update + call to graphite_find_data_references_in_stmt. + (analyze_drs_in_stmts): Same. + * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop + in which the scalar analysis of indices is performed. + (create_data_ref): Same. Update call to dr_analyze_indices. + (find_data_references_in_stmt): Update call to create_data_ref. + (graphite_find_data_references_in_stmt): Same. + * tree-data-ref.h (graphite_find_data_references_in_stmt): Update + declaration. + (create_data_ref): Same. + * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update + call to create_data_ref. + +2011-01-19 Sebastian Pop + + * graphite-sese-to-poly.c (build_poly_scop): Move + rewrite_commutative_reductions_out_of_ssa before + find_scop_parameters. + +2011-01-18 Sebastian Pop + + PR tree-optimization/46970 + * gcc.dg/graphite/pr46970.c: New. + +2011-01-18 Sebastian Pop + + PR tree-optimization/46215 + * gcc.dg/graphite/pr46215.c: New. + +2011-01-18 Sebastian Pop + + PR tree-optimization/46168 + * gcc.dg/graphite/pr46168.c: New. + +2011-01-18 Sebastian Pop + + PR tree-optimization/43657 + * gcc.dg/graphite/pr43657.c: New. + +2011-01-18 Sebastian Pop + + PR tree-optimization/29832 + * gfortran.dg/graphite/pr29832.f90: New. + +2011-01-18 Sebastian Pop + + PR tree-optimization/43567 + * gcc.dg/graphite/pr43567.c: New. + +2011-01-18 Sebastian Pop + + PR tree-optimization/43567 + * gcc.dg/graphite/pr43567.c: New. + +2011-01-17 Sebastian Pop + + * Makefile.in (LAMBDA_H): Removed. + (TREE_DATA_REF_H): Remove dependence on LAMBDA_H. + (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o, + lambda-trans.o, and tree-loop-linear.o. + (lto-symtab.o): Remove dependence on LAMBDA_H. + (tree-loop-linear.o): Remove rule. + (lambda-mat.o): Same. + (lambda-trans.o): Same. + (lambda-code.o): Same. + (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H. + (tree-vect-slp.o): Same. + * hwint.h (gcd): Moved here. + (least_common_multiple): Same. + * lambda-code.c: Removed. + * lambda-mat.c: Removed. + * lambda-trans.c: Removed. + * lambda.h: Removed. + * tree-loop-linear.c: Removed. + * lto-symtab.c: Do not include lambda.h. + * omega.c (gcd): Removed. + * passes.c (init_optimization_passes): Remove pass_linear_transform. + * tree-data-ref.c (print_lambda_vector): Moved here. + (lambda_vector_copy): Same. + (lambda_matrix_copy): Same. + (lambda_matrix_id): Same. + (lambda_vector_first_nz): Same. + (lambda_matrix_row_add): Same. + (lambda_matrix_row_exchange): Same. + (lambda_vector_mult_const): Same. + (lambda_vector_negate): Same. + (lambda_matrix_row_negate): Same. + (lambda_vector_equal): Same. + (lambda_matrix_right_hermite): Same. + * tree-data-ref.h: Do not include lambda.h. + (lambda_vector): Moved here. + (lambda_matrix): Same. + (dependence_level): Same. + (lambda_transform_legal_p): Removed declaration. + (lambda_collect_parameters): Same. + (lambda_compute_access_matrices): Same. + (lambda_vector_gcd): Same. + (lambda_vector_new): Same. + (lambda_vector_clear): Same. + (lambda_vector_lexico_pos): Same. + (lambda_vector_zerop): Same. + (lambda_matrix_new): Same. + * tree-flow.h (least_common_multiple): Removed declaration. + * tree-parloops.c (lambda_trans_matrix): Moved here. + (LTM_MATRIX): Same. + (LTM_ROWSIZE): Same. + (LTM_COLSIZE): Same. + (LTM_DENOMINATOR): Same. + (lambda_trans_matrix_new): Same. + (lambda_matrix_vector_mult): Same. + (lambda_transform_legal_p): Same. + * tree-pass.h (pass_linear_transform): Removed declaration. + * tree-ssa-loop.c (tree_linear_transform): Removed. + (gate_tree_linear_transform): Removed. + (pass_linear_transform): Removed. + (gate_graphite_transforms): Make flag_tree_loop_linear an alias of + flag_loop_interchange. + + * gfortran.dg/graphite/interchange-4.f: New. + * gfortran.dg/graphite/interchange-5.f: New. + + * gcc.dg/tree-ssa/ltrans-1.c: Removed. + * gcc.dg/tree-ssa/ltrans-2.c: Removed. + * gcc.dg/tree-ssa/ltrans-3.c: Removed. + * gcc.dg/tree-ssa/ltrans-4.c: Removed. + * gcc.dg/tree-ssa/ltrans-5.c: Removed. + * gcc.dg/tree-ssa/ltrans-6.c: Removed. + * gcc.dg/tree-ssa/ltrans-8.c: Removed. + * gfortran.dg/ltrans-7.f90: Removed. + * gcc.dg/tree-ssa/data-dep-1.c: Removed. + + * gcc.dg/pr18792.c: -> gcc.dg/graphite/pr18792.c + * gcc.dg/pr19910.c: -> gcc.dg/graphite/pr19910.c + * gcc.dg/tree-ssa/20041110-1.c: -> gcc.dg/graphite/pr20041110-1.c + * gcc.dg/tree-ssa/pr20256.c: -> gcc.dg/graphite/pr20256.c + * gcc.dg/pr23625.c: -> gcc.dg/graphite/pr23625.c + * gcc.dg/tree-ssa/pr23820.c: -> gcc.dg/graphite/pr23820.c + * gcc.dg/tree-ssa/pr24309.c: -> gcc.dg/graphite/pr24309.c + * gcc.dg/tree-ssa/pr26435.c: -> gcc.dg/graphite/pr26435.c + * gcc.dg/pr29330.c: -> gcc.dg/graphite/pr29330.c + * gcc.dg/pr29581-1.c: -> gcc.dg/graphite/pr29581-1.c + * gcc.dg/pr29581-2.c: -> gcc.dg/graphite/pr29581-2.c + * gcc.dg/pr29581-3.c: -> gcc.dg/graphite/pr29581-3.c + * gcc.dg/pr29581-4.c: -> gcc.dg/graphite/pr29581-4.c + * gcc.dg/tree-ssa/loop-27.c: -> gcc.dg/graphite/pr30565.c + * gcc.dg/tree-ssa/pr31183.c: -> gcc.dg/graphite/pr31183.c + * gcc.dg/tree-ssa/pr33576.c: -> gcc.dg/graphite/pr33576.c + * gcc.dg/tree-ssa/pr33766.c: -> gcc.dg/graphite/pr33766.c + * gcc.dg/pr34016.c: -> gcc.dg/graphite/pr34016.c + * gcc.dg/tree-ssa/pr34017.c: -> gcc.dg/graphite/pr34017.c + * gcc.dg/tree-ssa/pr34123.c: -> gcc.dg/graphite/pr34123.c + * gcc.dg/tree-ssa/pr36287.c: -> gcc.dg/graphite/pr36287.c + * gcc.dg/tree-ssa/pr37686.c: -> gcc.dg/graphite/pr37686.c + * gcc.dg/pr42917.c: -> gcc.dg/graphite/pr42917.c + * gcc.dg/tree-ssa/data-dep-1.c + * gfortran.dg/loop_nest_1.f90: -> gfortran.dg/graphite/pr29290.f90 + * gfortran.dg/pr29581.f90: -> gfortran.dg/graphite/pr29581.f90 + * gfortran.dg/pr36286.f90: -> gfortran.dg/graphite/pr36286.f90 + * gfortran.dg/pr36922.f: -> gfortran.dg/graphite/pr36922.f + * gfortran.dg/pr39516.f: -> gfortran.dg/graphite/pr39516.f + +2011-01-17 Sebastian Pop + + * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow + VAR_DECL, PARM_DECL, and RESULT_DECL. + + * gfortran.dg/graphite/interchange-3.f90: Un-XFAILed. + +2011-01-17 Sebastian Pop + + * graphite-dependences.c (reduction_dr_1): Allow several reductions + in a reduction PBB. + * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs + that have already been marked as PBB_IS_REDUCTION. + +2011-01-17 Sebastian Pop + + * graphite-scop-detection.c (same_close_phi_node): New. + (remove_duplicate_close_phi): New. + (make_close_phi_nodes_unique): New. + (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique. + +2011-01-17 Sebastian Pop + + * graphite-dependences.c (new_poly_ddr): Call same_pdr_p. + * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE + of both data references to be the same. + +2011-01-17 Sebastian Pop + + * graphite-dependences.c (build_lexicographical_constraint): Remove the + gdim parameter. + (build_lexicographical_constraint): Adjust call to ppl_powerset_is_empty. + (dependence_polyhedron): Same. + (graphite_legal_transform_dr): Same. + (graphite_carried_dependence_level_k): Same. + * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params parameter. + * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration. + +2011-01-15 Sebastian Pop + + * graphite-sese-to-poly.c + (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr. + (close_phi_written_to_memory): New. + (translate_scalar_reduction_to_array): Call close_phi_written_to_memory + and unshare_expr. + + * gcc.dg/graphite/block-0.c: Un-XFAILed. + * gcc.dg/graphite/block-1.c: Un-XFAILed. + * gcc.dg/graphite/block-7.c: Un-XFAILed. + * gcc.dg/graphite/block-8.c: Un-XFAILed. + * gcc.dg/graphite/interchange-12.c: Un-XFAILed. + * gcc.dg/graphite/interchange-14.c: Un-XFAILed. + * gcc.dg/graphite/interchange-15.c: Un-XFAILed. + * gcc.dg/graphite/interchange-8.c: Un-XFAILed. + * gcc.dg/graphite/interchange-mvt.c: Un-XFAILed. + +2011-01-15 Sebastian Pop + + * doc/install.texi: Update the expected version number of PPL to 0.11. + * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under + #if PPL_VERSION_MINOR < 11. + +2011-01-15 Sebastian Pop + + * graphite-dependences.c (new_poly_ddr): Inlined into + dependence_polyhedron. + (free_poly_ddr): Moved close by new_poly_ddr. + (dependence_polyhedron_1): Renamed dependence_polyhedron. + Early return NULL when ppl_powerset_is_empty returns true. + (dependence_polyhedron): Renamed new_poly_ddr. Call only once + poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty. + (graphite_legal_transform_dr): Call new_poly_ddr. + (graphite_carried_dependence_level_k): Same. + (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr. + (dot_transformed_deps_stmt_1): Removed. + (dot_deps_stmt_1): Call dot_deps_stmt_2. + (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr. + (dot_deps_1): Call dot_deps_2. + +2011-01-15 Sebastian Pop + + * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty. + (build_lexicographical_constraint): Same. + (dependence_polyhedron_1): Same. + (graphite_legal_transform_dr): Same. + (graphite_carried_dependence_level_k): Same. + * graphite-ppl.c (ppl_powerset_is_empty): New. + * graphite-ppl.h (ppl_powerset_is_empty): Declared. + * tree-data-ref.c (dump_data_reference): Print the basic block index. + + * gcc.dg/graphite/block-0.c: Add documentation. + * gcc.dg/graphite/block-4.c: Same. + * gcc.dg/graphite/block-7.c: Same. + * gcc.dg/graphite/block-8.c: New. + * gcc.dg/graphite/interchange-1.c: Un-XFAILed. + * gcc.dg/graphite/interchange-11.c: Un-XFAILed. + * gcc.dg/graphite/interchange-12.c: Add documentation. + * gcc.dg/graphite/interchange-13.c: New. + * gcc.dg/graphite/interchange-14.c: New. + * gcc.dg/graphite/interchange-15.c: New. + * gcc.dg/graphite/interchange-8.c: Add documentation. + * gcc.dg/graphite/interchange-mvt.c: Same. + +2011-01-15 Sebastian Pop + + * graphite-dependences.c (build_pairwise_scheduling): Correctly compute + the "a followed by b" relation and document it. + +2011-01-15 Sebastian Pop + + * graphite-dependences.c (build_lexicographical_constraint): Stop the + iteration when the bag of constraints is empty. + +2011-01-15 Sebastian Pop + + * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work. + +2011-01-15 Sebastian Pop + + * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop + nest and two loop depths as parameters. + (lst_try_interchange_loops): Call lst_interchange_profitable_p after + lst_perfect_nestify. + +2011-01-15 Sebastian Pop + + * graphite-dependences.c (print_pddr): Call + ppl_io_fprint_Pointset_Powerset_C_Polyhedron. + +2011-01-15 Sebastian Pop + + * graphite-ppl.c (debug_gmp_value): New. + * graphite-ppl.h (debug_gmp_value): Declared. + +2011-01-13 Tobias Grosser + + * doc/install.texi: Document availability of cloog-0.16 + +2011-01-05 Vladimir Kargov + + * graphite-scop-detection.c (is_valid_stmt_p): Pass the entry basic + block instead of region start to the instantiation. + (is_valid_bb_p): Add support for basic blocks with conditional + statements. + (find_scops_new): Recalculate dominance info before SCOP + detection. + +2011-01-05 Vladimir Kargov + + * graphite-scop-detection.c (get_outermost_loop_in_region): New. + (is_valid_loop_p): Correct loop passed to stmt_has_simple_data_refs_p + +2011-01-05 Vladimir Kargov + + * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free + invalid postdominance info + +2010-12-29 Sebastian Pop + + * Makefile.in (graphite-opencl-codegen.o): Update dependences. + (graphite-opencl-meta-clast.o): Same. + (graphite-opencl.o): Same. + (refined-regions.o): Same. + * graphite-opencl-codegen.c: Do not include unnecessary .h files. + * graphite-opencl-meta-clast.c: Same. + * graphite-opencl.c: Same. + * refined-regions.c: Same. + +2010-12-27 Sebastian Pop + + * graphite-opencl-codegen.c: Use FOR_EACH_VEC_ELT. + * graphite-opencl-meta-clast.c: Same. + * graphite-opencl.c: Same. + +2010-12-27 Sebastian Pop + + * graphite-opencl-codegen.c: Do not include sys/time.h. + * graphite-opencl.c: Same. + +2010-12-27 Sebastian Pop + + * graphite-opencl.c (h_context, h_cmd_queue, h_program): Moved + out of ifdef HAVE_cloog section. + +2010-12-27 Sebastian Pop + + * Makefile.in (graphite-opencl.o): Depends on + graphite-opencl-functions.def. + * graphite-opencl-functions.def: New. + * graphite-opencl.c (enum OPENCL_FUNCTIONS): Read data from + graphite-opencl-functions.def. + (opencl_function_names): Same. + (opencl_create_function_decl): Use the enum OPENCL_FUNCTIONS + as indices of opencl_function_names. + +2010-12-27 Sebastian Pop + + * graphite-opencl-codegen.c: Fix formatting. + * graphite-opencl-meta-clast.c: Same. + * graphite-opencl.c: Same. + +2010-12-27 Sebastian Pop + + * graphite-opencl-codegen.c: Fix formating problems. + * graphite-opencl-meta-clast.c: Same. + * graphite-opencl.c: Same. + * graphite-opencl.h: Same. + +2010-12-27 Sebastian Pop + + * graphite-opencl-codegen.c: Sort topologically static functions. + * graphite-opencl.c: Same. + +2010-12-25 Sebastian Pop + + * graphite-cloog-compat.h (cloog_names_nb_scattering): New. + (cloog_names_scattering): New. + * graphite-opencl-codegen.c (opencl_constant_expression_p): Use + clast_expr_* instead of expr_*. Call clast_name_to_str. + (opencl_clast_name_to_tree): Now takes a clast_name_p in parameter. + (opencl_get_scat_real_name): Same. Call clast_name_to_str. + (opencl_add_scat_as_arg): Same. + (opencl_print_local_vars): Call cloog_names_scattering and + cloog_names_nb_scattering. + (opencl_print_for): Do not call value_*. + (opencl_print_term): Same. + (opencl_print_expr): Use clast_expr_* instead of expr_*. + (opencl_print_sum): Same. + (opencl_print_binary): Same. + +2010-12-25 Alexey Kravets + + * Makefile.in (OBJS-common): Add graphite-opencl-codegen.o, + graphite-opencl-meta-clast.o and graphite-opencl.o. + (graphite-opencl-codegen.o): New. + (graphite-opencl-meta-clast.o): New. + (graphite-opencl.o): New. + (GTFILES): Add graphite-opencl.c. + * common.opt (fgraphite-opencl): New. + (fgraphite-opencl-cpu): New. + (fgraphite-opencl-ignore-depth-heuristic): New. + (fgraphite-opencl-ignore-mem-heuristic): New. + (fgraphite-opencl-ignore-dep): New. + (fgraphite-opencl-ignore-types): New. + (fgraphite-opencl-depth-base): New. + (fgraphite-opencl-debug): New. + * graphite-opencl-codegen.c: New file. + * graphite-opencl-meta-clast.c: New file. + * graphite-opencl.c: New file. + * graphite-opencl.h: New file. + * graphite.c (graphite_transform_loops): Call graphite_opencl_init and + graphite_opencl_finalize. + * tree-ssa-loop.c (gate_graphite_transforms): Handle + flag_graphite_opencl. + * graphite-clast-to-gimple.c (gloog): Call opencl_transform_clast. + * dbgcnt.def (opencl_scop_cnt): New counter. + +2010-12-25 Alexander Monakov + + * graphite-dependences.c (graphite_outer_subscript_bound): New. + (graphite_carried_dependence_level_k): Export. + * graphite-dependences.h (graphite_outer_subscript_bound): Declare. + (graphite_carried_dependence_level_k): Ditto. + +2010-12-25 Alexey Kravets + + * graphite-clast-to-gimple.c (struct clast_name_index): Move + definition to graphite-clast-to-gimple.h. + (clast_name_to_index): Ditto. + (clast_name_index_elt_info): Ditto. + (eq_clast_name_indexes): Ditto. + (save_clast_name_index): Export. + (clast_name_to_gcc): Ditto. + (clast_to_gcc_expression): Ditto. + (gcc_type_for_clast_expr): Ditto. + (graphite_create_new_guard): Ditto. + (gcc_type_for_iv_of_clast_loop): Ditto. + (graphite_create_new_loop): Ditto. + (build_iv_mapping): Ditto. + (graphite_create_new_loop_guard): Ditto. + (debug_clast_name_index): New. + (debug_clast_name_indices): New debug function. + +2010-12-21 Sebastian Pop + + PR tree-optimization/47021 + * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR. + +2010-11-26 Sebastian Pop + + * graphite-sese-to-poly.c (analyze_drs_in_stmts): Fix set but + unused warning. + (rewrite_cross_bb_scalar_deps_out_of_ssa): Same. + +2010-11-26 Sebastian Pop + + * graphite-sese-to-poly.c (analyze_drs): Removed. + (build_scop_drs): Do not call analyze_drs. + (analyze_drs_in_stmts): New. + (insert_stmts): New. + (insert_out_of_ssa_copy): Call analyze_drs_in_stmts. + (insert_out_of_ssa_copy_on_edge): Same. + (rewrite_close_phi_out_of_ssa): Call insert_stmts. + (rewrite_phi_out_of_ssa): Same. + (rewrite_cross_bb_scalar_dependence): Same. + (split_reduction_stmt): Move data references in the new basic blocks. + (translate_scalar_reduction_to_array_for_stmt): Call insert_stmts. + +2010-11-26 Sebastian Pop + + * sese.c (rename_uses): Do not handle ADDR_EXPR in LHS of assignments. + +2010-11-22 Sebastian Pop + + 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 + + * 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 + + * sese.c (rename_uses): Call recompute_tree_invariant_for_addr_expr + when replacing a constant in an ADDR_EXPR. + +2010-10-20 Sebastian Pop + + * 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 + + PR middle-end/45758 + * graphite.c (graphite_initialize): Call scev_reset. + +2010-09-23 Sebastian Pop + + * 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 + + PR middle-end/45758 + * gfortran.dg/graphite/pr45758.f90: New. + +2010-09-23 Sebastian Pop + + * graphite-scop-detection.c (is_scop_p): Free bblist. + +2010-09-23 Sebastian Pop + + * 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 + + * 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 + + Revert previous patch "New flag: -fgraphite-dump-cloog." + +2010-09-20 Andreas Simbuerger + + * 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 + + * 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 + + * graphite-poly.c (pbb_number_of_iterations_at_time): Only iterate + over pbb_dim_iter_domain. + +2010-09-09 Sebastian Pop + + * graphite-flattening.c: Fix comments. + +2010-09-09 Sebastian Pop + + * 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 + + * graphite-poly.c (cloog_checksum): New. + * graphite-poly.h (cloog_checksum): Declared. + +2010-09-09 Sebastian Pop + + * 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 + + * graphite-poly.h (lst_update_scattering_seq): Removed. + (lst_update_scattering): Correctly handle outermost loop dewey + renumbering. + +2010-09-09 Sebastian Pop + + * 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 + + * 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 + + * 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 + + * graphite-poly.h (lst_dewey_number): Use FOR_EACH_VEC_ELT. + +2010-09-02 Vladimir Kargov + + * 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 + + * graphite-poly.c (graphite_read_scop_file): Fix uninitialize warning. + +2010-08-24 Sebastian Pop + + * 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 + + * graphite-blocking.c (scop_do_strip_mine): Do not call + graphite_legal_transform. + (scop_do_block): Same. + +2010-08-20 Vladimir Kargov + + * graphite-scop-detection.c (graphite_can_represent_loop): Correct the + description. + +2010-08-20 Sebastian Pop + + PR middle-end/45230 + * gcc.dg/graphite/id-pr45230.c: New. + +2010-08-20 Sebastian Pop + + * tree-scalar-evolution.c (instantiate_array_ref): New. + (instantiate_scev_r): Also handle ARRAY_REFs. + +2010-08-20 Sebastian Pop + + * 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 + + * 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 + + * 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 + + * 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 + + 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 + Sebastian Pop + + * 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 + + * 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 + + * toplev.c (process_options): Disable graphite loop optimization + options when -fgraphite-read flag is used. + 2010-08-17 Riyadh Baghdadi * graphite-poly.c (init_graphite_out_file): New.