public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 00/12] [graphite] Remove the induction variable canonicalization
@ 2010-07-16  7:04 Sebastian Pop
  2010-07-16  7:04 ` [PATCH 07/12] Scevs could be expressions without chrecs and still be scev_analyzable_p Sebastian Pop
                   ` (11 more replies)
  0 siblings, 12 replies; 15+ messages in thread
From: Sebastian Pop @ 2010-07-16  7:04 UTC (permalink / raw)
  To: gcc-patches; +Cc: gcc-graphite, Sebastian Pop

In order to improve the vectorization of loops transformed by
Graphite, the following set of patches clean up the Graphite
infrastructure to avoid the canonicalization of induction variables.

The process of IV canonicalization introduces a single IV with a type
that has to be unsigned in order to be able to represent all the IVs
with the canonical one that starts at 0 and is incremented by strides
of 1.  In several cases, the unsigned type of the canonical IV makes
the analysis of scalar evolutions impossible, as the cast to unsigned
cannot be removed, transforming most of the scev results into a
"chrec_dont_know".

I committed this patch-set to the Graphite branch for further testing.

Sebastian Pop (12):
  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.

 gcc/ChangeLog.graphite                     |  125 ++++-
 gcc/cfgloop.c                              |    1 -
 gcc/cfgloop.h                              |    4 -
 gcc/graphite-clast-to-gimple.c             |  133 ++---
 gcc/graphite-clast-to-gimple.h             |    1 -
 gcc/graphite-sese-to-poly.c                |  140 ++---
 gcc/params.def                             |    2 +-
 gcc/sese.c                                 |  843 ++++------------------------
 gcc/sese.h                                 |   20 +-
 gcc/testsuite/gcc.dg/graphite/id-23.c      |   22 +
 gcc/testsuite/gcc.dg/graphite/pr42729.c    |   15 +
 gcc/testsuite/gfortran.dg/graphite/id-20.f |   12 +-
 gcc/tree-chrec.c                           |   62 ++-
 gcc/tree-chrec.h                           |    1 +
 14 files changed, 447 insertions(+), 934 deletions(-)
 create mode 100644 gcc/testsuite/gcc.dg/graphite/id-23.c
 create mode 100644 gcc/testsuite/gcc.dg/graphite/pr42729.c

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

end of thread, other threads:[~2010-07-16 14:41 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-07-16  7:04 [PATCH 00/12] [graphite] Remove the induction variable canonicalization Sebastian Pop
2010-07-16  7:04 ` [PATCH 07/12] Scevs could be expressions without chrecs and still be scev_analyzable_p Sebastian Pop
2010-07-16  7:04 ` [PATCH 03/12] chrec_apply should only apply to the specified variable Sebastian Pop
2010-07-16  7:04 ` [PATCH 09/12] Add testcase for PR42729 and fix handling of gimple_debug info Sebastian Pop
2010-07-16  7:05 ` [PATCH 01/12] Remove insert_loop_close_phis Sebastian Pop
2010-07-16  7:05 ` [PATCH 06/12] Bump the size of scevs Sebastian Pop
2010-07-16  8:03   ` Richard Guenther
2010-07-16 14:41     ` Sebastian Pop
2010-07-16  7:05 ` [PATCH 10/12] Correctly handle SSA_NAME_IS_DEFAULT_DEF in rewrite_close_phi_out_of_ssa Sebastian Pop
2010-07-16  7:05 ` [PATCH 04/12] Also handle GIMPLE_CALLs in rewrite_cross_bb_scalar_deps Sebastian Pop
2010-07-16  7:05 ` [PATCH 02/12] Remove expand_scalar_variables_ hack Sebastian Pop
2010-07-16  7:05 ` [PATCH 05/12] Remove uses of loop->single_iv Sebastian Pop
2010-07-16  7:05 ` [PATCH 08/12] Special case non close-phi nodes with one argument in rewrite_close_phi_out_of_ssa Sebastian Pop
2010-07-16  7:05 ` [PATCH 12/12] Unshare the scev before code generating it Sebastian Pop
2010-07-16  7:05 ` [PATCH 11/12] Do not rewrite out of SSA scalar phi nodes that can be scev_analyzable_p 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).