OSDN Git Service

Fix 473.astar miscompile.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog.graphite
index 4d2853c..bdeaf83 100644 (file)
@@ -1,4 +1,310 @@
-2010-03-04  Sebastian Pop  <sebastian.pop@amd.com>
+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>
+
+       PR middle-end/43464
+       * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
+       with multiple arguments.
+       (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
+
+2010-03-23  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-dependences.c (print_pddr): Call print_pdr with an
+       extra argument.
+       * graphite-poly.c (debug_pdr): Add an extra argument for the
+       verbosity level.
+       (print_pdr): Same.
+       (print_pbb_domain): Same.
+       (print_pbb): Same.
+       (print_scop_context): Same.
+       (print_scop): Same.
+       (print_cloog): Same.
+       (debug_pbb_domain): Same.
+       (debug_pbb): Same.
+       (print_pdrs): Same.
+       (debug_pdrs): Same.
+       (debug_scop_context): Same.
+       (debug_scop): Same.
+       (debug_cloog): Same.
+       (print_scop_params): Same.
+       (debug_scop_params): Same.
+       (print_iteration_domain): Same.
+       (print_iteration_domains): Same.
+       (debug_iteration_domain): Same.
+       (debug_iteration_domains): Same.
+       (print_scattering_function): Same.
+       (print_scattering_functions): Same.
+       (debug_scattering_function): Same.
+       (debug_scattering_functions): Same.
+       * graphite-poly.h (debug_pdr): Update declaration.
+       (print_pdr): Same.
+       (print_pbb_domain): Same.
+       (print_pbb): Same.
+       (print_scop_context): Same.
+       (print_scop): Same.
+       (print_cloog): Same.
+       (debug_pbb_domain): Same.
+       (debug_pbb): Same.
+       (print_pdrs): Same.
+       (debug_pdrs): Same.
+       (debug_scop_context): Same.
+       (debug_scop): Same.
+       (debug_cloog): Same.
+       (print_scop_params): Same.
+       (debug_scop_params): Same.
+       (print_iteration_domain): Same.
+       (print_iteration_domains): Same.
+       (debug_iteration_domain): Same.
+       (debug_iteration_domains): Same.
+       (print_scattering_function): Same.
+       (print_scattering_functions): Same.
+       (debug_scattering_function): Same.
+       (debug_scattering_functions): Same.
+
+2010-03-23  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-poly.c (print_scattering_function_1): New.
+       (print_scattering_function): Call it.
+       (print_scop_params): Remove spaces at the end of lines.
+       (print_cloog): New.
+       (debug_cloog): New.
+       * graphite-poly.h (print_cloog): Declared.
+       (debug_cloog): Declared.
+
+2010-03-23  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-ssa-copy.c: Revert this previous change:
+       (init_copy_prop): Loop closed phi nodes cancontain more than one
+       argument.
+       (execute_copy_prop): Revert the previous change: do not call
+       rewrite_into_loop_closed_ssa.
+
+2010-03-21  Sebastian Pop  <sebastian.pop@amd.com>
+           Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/43464
+       * tree-ssa-copy.c (init_copy_prop): Loop closed phi nodes can
+       contain more than one argument.
+       (execute_copy_prop): Revert the previous change: do not call
+       rewrite_into_loop_closed_ssa.
+
+       * gcc.dg/graphite/id-pr43464.c: Remove compile warning.
+       * gcc.dg/graphite/id-pr43464-1.c: New.
+
+2010-03-21  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43464
+       * tree-ssa-copy.c (execute_copy_prop): Call rewrite_into_loop_closed_ssa
+       and verify_loop_closed_ssa when copy prop is executed in the LNO.
+
+       * gcc.dg/graphite/id-pr43464.c: New.
+
+2010-03-16  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
+       in loop->header.
+       * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
+       * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
+       * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
+       to switch between adding the IV bump in loop->latch or in loop->header.
+
+2010-03-16  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * passes.c (init_optimization_passes): Add pass_copy_prop
+       after Graphite.
+
+2010-03-16  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-poly.c (print_scattering_function): Pretty print following
+       the scoplib format.
+       (print_pdr): Same.
+       (print_pbb_domain): Same.
+       (dump_gbb_cases): Same.
+       (dump_gbb_conditions): Same.
+       (print_pdrs): Same.
+       (print_pbb): Same.
+       (print_scop_params): Same.
+       (print_scop_context): Same.
+       (print_scop): Same.
+       (print_pbb_body): New.
+       (lst_indent_to): New.
+       (print_lst): Start new lines with a #.
+       * graphite-poly.h (pbb_bb): New.
+       (pbb_index): Use pbb_bb.
+       * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
+       disjuncts.
+       * tree-data-ref.c (dump_data_reference): Start new lines with a #.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43351
+       * gcc.dg/graphite/id-pr43351.c
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43354
+       * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
+       call insert_out_of_ssa_copy for default definitions.
+       * gfortran.dg/graphite/id-pr43354.f: New.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43349
+       * gfortran.dg/graphite/pr43349.f: New.
+
+2010-03-11  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (my_long_long): Defined.
+       (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
+       * graphite-sese-to-poly.c (my_long_long): Defined.
+       (scop_ivs_can_be_represented): Use it.
+
+2010-03-10  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
+       graphite-max-bbs-per-function, and loop-block-tile-size.
+       * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
+       with "maximum".
+       (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
+
+2010-03-10  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
+       forward declaration.
+       * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
+       (add_upper_bounds_from_estimated_nit): New.
+       (build_loop_iteration_domains): Use it.
+
+2010-03-09  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
+
+2010-03-09  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43306
+       * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
+       should be an INTEGER_CST.  Also handle CASE_CONVERT.
+       * gcc.dg/graphite/pr43306.c: New.
+
+2010-03-09  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite.c (graphite_initialize): To bound the number of bbs per
+       function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
+       * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
+       * doc/invoke.texi: Document it.
+
+2010-03-09  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
+       * graphite-sese-to-poly.h (build_poly_scop): Same.
+
+2010-03-09  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
+       the number of parameters in the scop.  Use as an upper bound
+       PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
+       * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
+       * doc/invoke.texi: Document it.
+
+2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (add_param_constraints): Use
+       lower_bound_in_type and upper_bound_in_type.
+
+2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
+       instead of unsigned_type_node.
+
+2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
+           Reza Yazdani  <reza.yazdani@amd.com>
+
+       PR middle-end/43065
+       * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
+       on pointer type parameters.
+
+       * gcc.dg/graphite/run-id-4.c: New.
+
+2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
 
        PR middle-end/43065
        * gcc.dg/graphite/run-id-3.c: New.