OSDN Git Service

2010-01-22 Steve Ellcey <sje@cup.hp.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog.graphite
index 863b0be..c2bb01e 100644 (file)
@@ -1,3 +1,280 @@
+2010-01-14  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42681
+       * graphite-clast-to-gimple.c (gloog_error): New static variable.
+       (clast_to_gcc_expression): Do not build MULT_EXPR of POINTER_TYPE_P.
+       Set gloog_error when such an expression failed to be built.
+       (translate_clast): Early return when gloog_error is set.
+       (gloog): Clear gloog_error.  When gloog_error is set, call
+       set_ifsese_condition to enable the original code.  Return the status
+       of the code generation based on gloog_error.
+       * sese.c (set_ifsese_condition): New.
+       * sese.h (set_ifsese_condition): Declared.
+
+       * testsuite/g++.dg/graphite/pr42681.C: New.
+
+2010-01-14  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42732
+       * graphite-clast-to-gimple.c (gloog): Call scev_reset_htab and
+       rename_nb_iterations.
+       * sese.c (rename_variables_in_operand): New.
+       (rename_variables_in_expr): New.
+       (rename_nb_iterations): New.
+       (sese_adjust_liveout_phis): Update the rename_map.
+       * sese.h (rename_nb_iterations): Declared.
+       * tree-scalar-evolution.c (scev_reset_htab): New.
+       (scev_reset): Call scev_reset_htab.
+       * tree-scalar-evolution.h (scev_reset_htab): Declared.
+
+       * testsuite/gfortran.dg/graphite/pr42732.f: New.
+
+2010-01-08  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42393
+       * graphite-clast-to-gimple.c: Fix formatting.
+       * sese.c (defined_in_loop_p): Renamed name_defined_in_loop_p.
+       (expr_defined_in_loop_p): New.
+       (add_loop_exit_phis): Also handle full expressions: remove from
+       the rename_map the expressions defined in the loop that we're closing.
+
+       * testsuite/gfortran.dg/graphite/pr42393-1.f90: New.
+       * testsuite/gfortran.dg/graphite/pr42393.f90: Add new flags
+       -fno-loop-block -fno-loop-interchange -fno-loop-strip-mine to also
+       make this testcase useful in the Graphite branch.
+
+2010-01-08  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-scop-detection.c (exclude_component_ref): Removed.
+       (is_simple_operand): Removed.
+       (stmt_simple_for_scop_p): Remove use of is_simple_operand.
+
+2010-01-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42221
+       * sese.c (expand_scalar_variables_expr): Follow the SSA links into
+       the array indexing of ADDR_EXPRs.
+
+       * testsuite/gcc.dg/graphite/pr42221.c: New.
+
+2010-01-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42521
+       * graphite.c (graphite_finalize): Call scev_reset.
+       (graphite_transform_loops): Do not call scev_reset between the code
+       generation of scops.
+
+       * testsuite/gcc.dg/graphite/pr42521.c: New.
+
+2010-01-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-interchange.c (memory_stride_in_loop): Renamed
+       pdr_stride_in_loop.
+       (memory_strides_in_loop): Renamed memory_strides_in_loop_1.
+       (memory_strides_in_loop): Memoize the memory strides per loop.
+       (lst_interchange_profitable_p): Do not initialize to zero the memory
+       strides.
+       * graphite-poly.h (struct lst): Add a field memory_strides.
+       (LST_LOOP_MEMORY_STRIDES): New.
+       (new_lst_loop): Initialize LST_LOOP_MEMORY_STRIDES to -1.
+       (free_lst): Clear LST_LOOP_MEMORY_STRIDES.
+
+2010-01-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-interchange.c (memory_strides_in_loop_depth): Renamed
+       memory_strides_in_loop.  Gather memory strides on a whole loop.
+       (pbb_interchange_profitable_p): Renamed lst_interchange_profitable_p.
+       (lst_interchange_profitable_p): Removed.
+       (lst_try_interchange_loops): Call lst_interchange_profitable_p.
+
+2010-01-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       Revert patch 2009-11-23  Tobias Grosser  <grosser@fim.uni-passau.de>
+       * graphite-clast-to-gimple.c (try_mark_loop_parallel): New.
+       (translate_clast_for, translate_clast_guard, translate_clast, gloog):
+       Remove context_loop and level.
+
+2010-01-07  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42641
+       * sese.c (rename_map_elt_info): Use the SSA name version, do
+       not hash pointers.
+
+2010-01-06  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-blocking.c (scop_do_block): Print "SCoP will be loop
+       blocked" only when both the strip mine and the interchange have
+       been applied.
+
+       * testsuite/gcc.dg/graphite/block-2.c: Removed.
+       * testsuite/gcc.dg/graphite/block-3.c: Add scan pattern.
+       * testsuite/gcc.dg/graphite/block-4.c: Same.
+       * testsuite/gcc.dg/graphite/block-5.c: Same.
+       * testsuite/gcc.dg/graphite/block-6.c: Same.
+
+2010-01-06  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (save_clast_name_index): Free slot
+       before allocating a new one.
+       (copy_renames): Check that slot is not NULL.
+       (mark_bb_with_pbb): Same.
+       (compute_cloog_iv_types_1): Same.
+       * graphite-interchange.c (lst_perfect_nestify): Free the before,
+       nest, and after LSTs.
+       (lst_try_interchange_loops): Same.
+
+2010-01-05  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42178
+       * graphite-interchange.c (lst_try_interchange_loops): Do not return
+       the before, nest, and after LSTs.
+       (lst_try_interchange): Removed.
+       (lst_interchange_select_inner): Do not iterate over the LSTs if they
+       were modified.
+       (lst_interchange_select_outer): Apply interchange on the outer loop
+       until there are no more changes in the inner loops.
+
+2009-12-18  Sebastian Pop  <sebastian.pop@amd.com>
+
+       Revert patch fixing PR middle-end/42221.
+
+2009-12-18  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42180
+       * graphite-sese-to-poly.c (follow_ssa_with_commutative_ops): Handle
+       GIMPLE_CALL.
+
+       * testsuite/gfortran.dg/graphite/pr42180.f90: Add compile flags.
+
+2009-12-18  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42180
+       * graphite-sese-to-poly.c (split_reduction_stmt): Do not split blocks
+       that contain only one statement.
+
+       * testsuite/gfortran.dg/graphite/pr42180.f90: New.
+
+2009-12-17  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42393
+       * testsuite/gfortran.dg/graphite/pr42393.f90: New.
+
+2009-12-17  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42186
+       * testsuite/gfortran.dg/graphite/pr42186.f90: New.
+
+2009-12-17  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42205
+       * graphite-sese-to-poly.c (translate_scalar_reduction_to_array_for_stmt):
+       Insert the reduction copy in the same block as the phi node.
+       (follow_ssa_with_commutative_ops): Handle GIMPLE_NOPs.
+
+       * testsuite/gcc.dg/graphite/pr42205-1.c: New.
+       * testsuite/gcc.dg/graphite/pr42205-2.c: New.
+
+2009-12-17  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42221
+       * sese.c (expand_scalar_variables_expr): Follow the SSA links into
+       the array indexing of ADDR_EXPRs.
+
+       * testsuite/gcc.dg/graphite/pr42221.c: New.
+
+2009-12-17  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42178
+       PR middle-end/42334
+       * graphite-interchange.c (lst_try_interchange): Do not modify OUTER
+       index.  Call lst_interchange_select_inner only once.
+       (lst_interchange_select_inner): Update use of lst_try_interchange.
+       (lst_interchange_select_outer): Update.
+
+2009-12-15  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42178
+       PR middle-end/42334
+       * graphite-interchange.c (lst_try_interchange): Do not increment the
+       the OUTER index when there is no AFTER kernel.  Do not increment the
+       OUTER index for after processing the AFTER kernel.
+       (lst_interchange_select_inner): Call lst_try_interchange only on loops.
+       (lst_interchange_select_outer): Do not pass in a pointer to the OUTER
+       index.  Do not pass to lst_interchange_select_inner the OUTER index.
+       (scop_do_interchange): Update use of lst_interchange_select_outer.
+
+       * testsuite/gfortran.dg/graphite/graphite.exp
+       (DEFAULT_FLAGS_GRAPHITE_IDENTITY): Remove -fdump-tree-graphite-all.
+       * testsuite/gfortran.dg/graphite/interchange-1.f: Add comment.  Clean
+       the graphite dump file.
+       * testsuite/gfortran.dg/graphite/interchange-2.f: Same.
+       * testsuite/gfortran.dg/graphite/pr42334-1.f: New.
+
+2009-12-15  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42178
+       PR middle-end/42334
+       * graphite-interchange.c (lst_perfect_nestify): Reset to NULL the LSTs
+       that are empty.
+       (lst_do_interchange_1): Renamed lst_interchange_select_inner.
+       (lst_try_interchange): Reimplemented.
+       (lst_interchange_select_inner): Same.
+       (lst_do_interchange): Renamed lst_interchange_select_outer.
+       Reimplemented.
+       (scop_do_interchange): Update use of lst_interchange_select_outer.
+
+       * testsuite/g++.dg/graphite/pr42130.C: Add -fgraphite-identity.
+       * testsuite/gcc.dg/graphite/block-0.c: Un-XFAILed.
+       * testsuite/gcc.dg/graphite/pr42211.c: New.
+       * testsuite/gfortran.dg/graphite/pr42334.f90: New.
+
+2009-12-14  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42181
+       * graphite-scop-detection.c (graphite_can_represent_scev): Handle more
+       carefully PLUS_EXPR, MINUS_EXPR, and MULT_EXPR.
+
+       * testsuite/gfortran.dg/graphite/pr42181.f90: New.
+
+2009-12-12  Sebastian Pop  <sebpop@gmail.com>
+
+       PR middle-end/42284
+       * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Call
+       insert_out_of_ssa_copy_on_edge for anything else than SSA_NAMEs.
+       (detect_commutative_reduction_arg): Simplified.
+       (detect_commutative_reduction): Early return when the argument of
+       the close phi is not of an SSA_NAME.
+
+       * testsuite/gcc.dg/graphite/pr42284.c: New.
+
+2009-12-11  Alexander Monakov  <amonakov@ispras.ru>
+
+       * dbgcnt.def (graphite_scop): New counter.
+       * graphite.c: Include dbgcnt.h
+       (graphite_transform_loops): Use new counter to limit transformations.
+
+2009-12-08  Sebastian Pop  <sebpop@gmail.com>
+
+       PR middle-end/42285
+       * graphite-scop-detection.c (graphite_can_represent_init): Also
+       handle more complex MULT_EXPRs containing parameters by recursion
+       on the structure.
+
+       * testsuite/gfortran.dg/graphite/pr42285.f90: New.
+
+2009-12-01  Tobias Grosser  <grosser@fim.uni-passau.de>
+
+       * testsuite/g++.dg/graphite/pr42130.C: Fix type.
+
+2009-11-29  Alexander Monakov <amonakov@gcc.gnu.org>
+
+       * testsuite/g++.dg/graphite/pr42130.C: Correct testcase.
+
+2009-11-24  Tobias Grosser  <grosser@fim.uni-passau.de>
+
+       * graphite-clast-to-gimple.c (try_mark_loop_parallel,
+       graphite_create_new_loop_guard, translate_clast_for): Fix comments.
+
 2009-11-23  Tobias Grosser  <grosser@fim.uni-passau.de>
 
        PR middle-end/42130