public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 00/65] Merge from the Graphite branch to trunk
@ 2010-08-02 20:21 Sebastian Pop
  2010-08-02 20:21 ` [PATCH 03/65] Use size_one_node Sebastian Pop
                   ` (67 more replies)
  0 siblings, 68 replies; 74+ messages in thread
From: Sebastian Pop @ 2010-08-02 20:21 UTC (permalink / raw)
  To: gcc-patches; +Cc: Tobias Grosser, gcc-graphite, Sebastian Pop

Hi,

This patch-set merges the changes that went into the Graphite branch
for the past two months.  These changes are stable: the automatic
testers passed bootstrap and CPU2006 benchmarks with no fails and with
various Graphite flag configurations.

Note that some of the patches contain only a change in
ChangeLog.graphite, these are either already in trunk, or implement
functionality that is not stable enough, and will remain for now in
the branch.  These changes are those linked to the new SCoP detection
algorithm.

I am testing this merge on amd64-linux.  I will wait for 48 hours to
let reviewers enough time to re-review these patches.  All these
changes have already been discussed prior to their commit to the
Graphite branch.  If there are other changes before committing to
trunk, I will implement the needed changes.

Thanks,
Sebastian

grosser (7):
  Add analysis pass to build the refined program structure tree.
  Skeleton for the new SCoP detection.
  Fix refined region tree nesting.
  Resolve CLooG's value_* macros to their respective mpz_*
    counterparts.
  Move cloog-related functions from graphite-ppl.{c,h} to new
    graphite-cloog-util.{c,h}.
  Partially removing cloog.h and graphite-clast-to-gimple.h where
    possible. Removing unused function check_poly_representation.
  Fix flipped condition using mpz_sgn.

spop (58):
  Fix invariant phi node removal.
  Fix type of integer_one_node for fold_build of POINTER_PLUS_EXPR.
  Use size_one_node.
  Fix comments and indentation.
  Do not gather loop exit conditions on the basic blocks outside the
    loop.
  Call compute_overall_effect_of_inner_loop from instantiate_scev_name.
  Don't call pbb_to_depth_to_oldiv from compute_type_for_level.
  Launch dotty in background.
  Detect commutative reductions in all the scops before rewriting out
    of SSA all the other scalar dependences.
  Remove insert_copyout and insert_copyin.
  Also rewrite out of SSA scalar dependences going outside the SCoP
    region.
  Remove rename_nb_iterations and rename_sese_parameters
  Schedule a copy_prop pass before graphite.
  Add more debug counter guards.
  Split rewrite_cross_bb_scalar_deps_out_of_ssa out from
    rewrite_reductions_out_of_ssa.
  Always insert out of SSA copies on edges except for loop->latch.
  Fix testcase: call abort.
  Early return in rewrite_commutative_reductions_out_of_ssa when
    flag_associative_math is not set.
  Run rewrite_cross_bb_phi_deps before rewrite_cross_bb_scalar_deps.
  Remove copy_renames.
  Replace map with rename_map.
  Remove dead code.
  Fix 435.gromacs miscompile: call rewrite_close_phi_out_of_ssa from
    rewrite_cross_bb_phi_deps.
  Fix 416.gamess miscompile: special case the rewrite of degenerate phi
    nodes.
  Print bbs in refined region tree.
  Add testcase for miscompile in gamess.
  Remove insert_loop_close_phis.
  Remove expand_scalar_variables_ hack.
  chrec_apply should only apply to the specified variable.
  Also handle GIMPLE_CALLs in rewrite_cross_bb_scalar_deps.
  Remove uses of loop->single_iv.
  Bump the size of scevs.
  Scevs could be expressions without chrecs and still be
    scev_analyzable_p.
  Special case non close-phi nodes with one argument in
    rewrite_close_phi_out_of_ssa.
  Add testcase for PR42729 and fix handling of gimple_debug info.
  Correctly handle SSA_NAME_IS_DEFAULT_DEF in
    rewrite_close_phi_out_of_ssa.
  Do not rewrite out of SSA scalar phi nodes that can be
    scev_analyzable_p.
  Unshare the scev before code generating it.
  Add testcase for PR20742.
  Do not translate out-of-SSA close phi nodes that can be analyzed with
    scev.
  Dot refined regions.
  Add loop_exits_from_bb_p.
  Enhance region checks.
  Do not instantiate default definitions in instantiate_scev_name.
  Use SSA_NAME_DEF_STMT only on SSA_NAMEs.
  Propagate constant values or parametric expressions outside the scop
    region.
  Call scev_analyzable_p only on is_gimple_reg.
  Fix tonto: call propagate_expr_outside_region.
  Call scev_reset_htab when Graphite out-of-SSA has changed something.
  Reintroduce necessary CLooG accessors to graphite. Masked by
    CLOOG_ORG.
  Make CLooG options compatible to newer CLooG releases and pass
    options to build_cloog_prog (CLOOG_ORG).
  Adapt to new CLAST structure within upstream CLooG version and retain
    compatibility to CLooG Legacy.
  Introduce compatibility to newer CLooG's CloogState and mask the use
    with macros where possible.
  Adapt to new CloogScattering abstraction, introduced in official
    CLooG versions (CLOOG_ORG).
  Remove cloog_initialize and cloog_finalize when using official CLooG
    releases.
  Fix typos.
  Fix gamess: the only constant phi nodes with one argument are
    is_gimple_min_invariant and SSA_NAME_IS_DEFAULT_DEF.
  Fix miscompile of 416.gamess.

 gcc/ChangeLog                              |  552 +++++++++++++++
 gcc/ChangeLog.graphite                     |  704 ++++++++++++++++++-
 gcc/Makefile.in                            |    9 +-
 gcc/cfgloop.c                              |   20 +-
 gcc/cfgloop.h                              |    7 +-
 gcc/dbgcnt.def                             |    1 +
 gcc/graphite-blocking.c                    |    1 -
 gcc/graphite-clast-to-gimple.c             |  356 ++++------
 gcc/graphite-clast-to-gimple.h             |    6 +-
 gcc/graphite-cloog-compat.h                |  263 +++++++
 gcc/graphite-cloog-util.c                  |  299 ++++++++
 gcc/graphite-cloog-util.h                  |   36 +
 gcc/graphite-dependences.c                 |    5 +-
 gcc/graphite-interchange.c                 |    3 +-
 gcc/graphite-poly.c                        |    7 +-
 gcc/graphite-ppl.c                         |  248 +-------
 gcc/graphite-ppl.h                         |    6 -
 gcc/graphite-scop-detection.c              |    3 +-
 gcc/graphite-sese-to-poly.c                |  544 ++++++++-------
 gcc/graphite-sese-to-poly.h                |    5 +-
 gcc/graphite.c                             |   32 +-
 gcc/params.def                             |    2 +-
 gcc/passes.c                               |    7 +-
 gcc/sese.c                                 | 1062 ++++------------------------
 gcc/sese.h                                 |   23 +-
 gcc/testsuite/ChangeLog                    |   54 ++
 gcc/testsuite/gcc.dg/graphite/id-20.c      |   26 +
 gcc/testsuite/gcc.dg/graphite/id-22.c      |   15 +
 gcc/testsuite/gcc.dg/graphite/id-23.c      |   22 +
 gcc/testsuite/gcc.dg/graphite/id-24.c      |   22 +
 gcc/testsuite/gcc.dg/graphite/id-25.c      |   34 +
 gcc/testsuite/gcc.dg/graphite/id-26.c      |   24 +
 gcc/testsuite/gcc.dg/graphite/pr42729.c    |   15 +
 gcc/testsuite/gcc.dg/graphite/run-id-2.c   |   12 +-
 gcc/testsuite/gcc.dg/graphite/run-id-5.c   |   54 ++
 gcc/testsuite/gcc.dg/graphite/run-id-6.c   |   55 ++
 gcc/testsuite/gcc.dg/tree-ssa/pr20742.c    |   18 +
 gcc/testsuite/gfortran.dg/graphite/id-20.f |   10 +
 gcc/testsuite/gfortran.dg/graphite/id-21.f |   20 +
 gcc/testsuite/gfortran.dg/graphite/id-22.f |   10 +
 gcc/timevar.def                            |    1 +
 gcc/tree-chrec.c                           |   62 ++-
 gcc/tree-chrec.h                           |    1 +
 gcc/tree-pass.h                            |    1 +
 gcc/tree-scalar-evolution.c                |   13 +-
 gcc/tree-ssa-loop.c                        |   19 +
 46 files changed, 2976 insertions(+), 1713 deletions(-)
 create mode 100644 gcc/graphite-cloog-compat.h
 create mode 100644 gcc/graphite-cloog-util.c
 create mode 100644 gcc/graphite-cloog-util.h
 create mode 100644 gcc/testsuite/gcc.dg/graphite/id-20.c
 create mode 100644 gcc/testsuite/gcc.dg/graphite/id-22.c
 create mode 100644 gcc/testsuite/gcc.dg/graphite/id-23.c
 create mode 100644 gcc/testsuite/gcc.dg/graphite/id-24.c
 create mode 100644 gcc/testsuite/gcc.dg/graphite/id-25.c
 create mode 100644 gcc/testsuite/gcc.dg/graphite/id-26.c
 create mode 100644 gcc/testsuite/gcc.dg/graphite/pr42729.c
 create mode 100644 gcc/testsuite/gcc.dg/graphite/run-id-5.c
 create mode 100644 gcc/testsuite/gcc.dg/graphite/run-id-6.c
 create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/pr20742.c
 create mode 100644 gcc/testsuite/gfortran.dg/graphite/id-20.f
 create mode 100644 gcc/testsuite/gfortran.dg/graphite/id-21.f
 create mode 100644 gcc/testsuite/gfortran.dg/graphite/id-22.f

^ permalink raw reply	[flat|nested] 74+ messages in thread

end of thread, other threads:[~2010-11-10 12:17 UTC | newest]

Thread overview: 74+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-02 20:21 [PATCH 00/65] Merge from the Graphite branch to trunk Sebastian Pop
2010-08-02 20:21 ` [PATCH 03/65] Use size_one_node Sebastian Pop
2010-08-02 20:21 ` [PATCH 06/65] Fix refined region tree nesting Sebastian Pop
2010-08-02 20:21 ` [PATCH 09/65] Call compute_overall_effect_of_inner_loop from instantiate_scev_name Sebastian Pop
2010-08-02 20:21 ` [PATCH 05/65] Skeleton for the new SCoP detection Sebastian Pop
2010-08-02 20:21 ` [PATCH 07/65] Fix comments and indentation Sebastian Pop
2010-08-02 20:21 ` [PATCH 02/65] Fix type of integer_one_node for fold_build of POINTER_PLUS_EXPR Sebastian Pop
2010-08-02 20:21 ` [PATCH 08/65] Do not gather loop exit conditions on the basic blocks outside the loop Sebastian Pop
2010-08-02 20:21 ` [PATCH 01/65] Fix invariant phi node removal Sebastian Pop
2010-08-02 20:22 ` [PATCH 15/65] Remove rename_nb_iterations and rename_sese_parameters Sebastian Pop
2010-08-02 20:22 ` [PATCH 12/65] Detect commutative reductions in all the scops before rewriting out of SSA all the other scalar dependences Sebastian Pop
2010-08-02 20:22 ` [PATCH 17/65] Add more debug counter guards Sebastian Pop
2010-08-02 20:22 ` [PATCH 10/65] Don't call pbb_to_depth_to_oldiv from compute_type_for_level Sebastian Pop
2010-08-02 20:22 ` [PATCH 21/65] Early return in rewrite_commutative_reductions_out_of_ssa when flag_associative_math is not set Sebastian Pop
2010-08-02 20:22 ` [PATCH 19/65] Always insert out of SSA copies on edges except for loop->latch Sebastian Pop
2010-08-02 20:22 ` [PATCH 16/65] Schedule a copy_prop pass before graphite Sebastian Pop
2010-08-02 20:22 ` [PATCH 13/65] Remove insert_copyout and insert_copyin Sebastian Pop
2010-08-02 20:22 ` [PATCH 14/65] Also rewrite out of SSA scalar dependences going outside the SCoP region Sebastian Pop
2010-11-10 12:23   ` H.J. Lu
2010-08-02 20:22 ` [PATCH 18/65] Split rewrite_cross_bb_scalar_deps_out_of_ssa out from rewrite_reductions_out_of_ssa Sebastian Pop
2010-08-02 20:22 ` [PATCH 04/65] Add analysis pass to build the refined program structure tree Sebastian Pop
2010-08-02 20:23 ` [PATCH 31/65] Partially removing cloog.h and graphite-clast-to-gimple.h where possible. Removing unused function check_poly_representation Sebastian Pop
2010-08-02 20:23 ` [PATCH 28/65] Print bbs in refined region tree Sebastian Pop
2010-08-02 20:23 ` [PATCH 32/65] Add testcase for miscompile in gamess Sebastian Pop
2010-08-02 20:23 ` [PATCH 38/65] Remove uses of loop->single_iv Sebastian Pop
2010-08-02 20:23 ` [PATCH 37/65] Also handle GIMPLE_CALLs in rewrite_cross_bb_scalar_deps Sebastian Pop
2010-08-02 20:23 ` [PATCH 11/65] Launch dotty in background Sebastian Pop
2010-08-02 20:23 ` [PATCH 33/65] Fix flipped condition using mpz_sgn Sebastian Pop
2010-08-02 20:23 ` [PATCH 20/65] Fix testcase: call abort Sebastian Pop
2010-08-02 20:23 ` [PATCH 25/65] Remove dead code Sebastian Pop
2010-08-02 20:23 ` [PATCH 23/65] Remove copy_renames Sebastian Pop
2010-08-02 20:23 ` [PATCH 27/65] Fix 416.gamess miscompile: special case the rewrite of degenerate phi nodes Sebastian Pop
2010-08-02 20:23 ` [PATCH 40/65] Scevs could be expressions without chrecs and still be scev_analyzable_p Sebastian Pop
2010-08-02 20:23 ` [PATCH 26/65] Fix 435.gromacs miscompile: call rewrite_close_phi_out_of_ssa from rewrite_cross_bb_phi_deps Sebastian Pop
2010-08-02 20:23 ` [PATCH 24/65] Replace map with rename_map Sebastian Pop
2010-08-02 20:23 ` [PATCH 30/65] Move cloog-related functions from graphite-ppl.{c,h} to new graphite-cloog-util.{c,h} Sebastian Pop
2010-08-02 20:24 ` [PATCH 44/65] Do not rewrite out of SSA scalar phi nodes that can be scev_analyzable_p Sebastian Pop
2010-08-02 20:24 ` [PATCH 52/65] Use SSA_NAME_DEF_STMT only on SSA_NAMEs Sebastian Pop
2010-08-02 20:24 ` [PATCH 51/65] Do not instantiate default definitions in instantiate_scev_name Sebastian Pop
2010-08-02 20:24 ` [PATCH 43/65] Correctly handle SSA_NAME_IS_DEFAULT_DEF in rewrite_close_phi_out_of_ssa Sebastian Pop
2010-08-02 20:24 ` [PATCH 34/65] Remove insert_loop_close_phis Sebastian Pop
2010-08-02 20:24 ` [PATCH 36/65] chrec_apply should only apply to the specified variable Sebastian Pop
2010-08-02 20:24 ` [PATCH 39/65] Bump the size of scevs Sebastian Pop
2010-08-02 20:24 ` [PATCH 46/65] Add testcase for PR20742 Sebastian Pop
2010-08-02 20:24 ` [PATCH 22/65] Run rewrite_cross_bb_phi_deps before rewrite_cross_bb_scalar_deps Sebastian Pop
2010-08-02 20:24 ` [PATCH 47/65] Do not translate out-of-SSA close phi nodes that can be analyzed with scev Sebastian Pop
2010-08-02 20:24 ` [PATCH 48/65] Dot refined regions Sebastian Pop
2010-08-02 20:24 ` [PATCH 29/65] Resolve CLooG's value_* macros to their respective mpz_* counterparts Sebastian Pop
2010-08-02 20:24 ` [PATCH 35/65] Remove expand_scalar_variables_ hack Sebastian Pop
2010-08-02 20:24 ` [PATCH 49/65] Add loop_exits_from_bb_p Sebastian Pop
2010-08-02 20:25 ` [PATCH 62/65] Remove cloog_initialize and cloog_finalize when using official CLooG releases Sebastian Pop
2010-08-02 20:25 ` [PATCH 60/65] Introduce compatibility to newer CLooG's CloogState and mask the use with macros where possible Sebastian Pop
2010-08-02 20:25 ` [PATCH 61/65] Adapt to new CloogScattering abstraction, introduced in official CLooG versions (CLOOG_ORG) Sebastian Pop
2010-08-02 20:25 ` [PATCH 64/65] Fix gamess: the only constant phi nodes with one argument are is_gimple_min_invariant and SSA_NAME_IS_DEFAULT_DEF Sebastian Pop
2010-08-02 20:25 ` [PATCH 59/65] Adapt to new CLAST structure within upstream CLooG version and retain compatibility to CLooG Legacy Sebastian Pop
2010-08-02 20:25 ` [PATCH 55/65] Fix tonto: call propagate_expr_outside_region Sebastian Pop
2010-10-26 19:37   ` H.J. Lu
2010-08-02 20:25 ` [PATCH 50/65] Enhance region checks Sebastian Pop
2010-08-02 20:25 ` [PATCH 41/65] Special case non close-phi nodes with one argument in rewrite_close_phi_out_of_ssa Sebastian Pop
2010-08-02 20:25 ` [PATCH 65/65] Fix miscompile of 416.gamess Sebastian Pop
2010-08-02 20:25 ` [PATCH 56/65] Call scev_reset_htab when Graphite out-of-SSA has changed something Sebastian Pop
2010-08-02 20:25 ` [PATCH 63/65] Fix typos Sebastian Pop
2010-08-02 20:25 ` [PATCH 54/65] Call scev_analyzable_p only on is_gimple_reg Sebastian Pop
2010-08-02 20:25 ` [PATCH 58/65] Make CLooG options compatible to newer CLooG releases and pass options to build_cloog_prog (CLOOG_ORG) Sebastian Pop
2010-08-02 20:25 ` [PATCH 57/65] Reintroduce necessary CLooG accessors to graphite. Masked by CLOOG_ORG Sebastian Pop
2010-08-02 20:25 ` [PATCH 42/65] Add testcase for PR42729 and fix handling of gimple_debug info Sebastian Pop
2010-08-02 20:25 ` [PATCH 53/65] Propagate constant values or parametric expressions outside the scop region Sebastian Pop
2010-08-02 20:25 ` [PATCH 45/65] Unshare the scev before code generating it Sebastian Pop
2010-08-03  2:52 ` [PATCH 00/65] Merge from the Graphite branch to trunk Jack Howarth
2010-08-03  2:55   ` Jack Howarth
2010-08-03  3:07     ` Sebastian Pop
2010-08-07 10:26       ` Jack Howarth
2010-08-05 15:58 ` Jack Howarth
2010-08-11 20:54 ` Sebastian Pop

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).