On Tue, 26 Jul 2011, Sebastian Pop wrote:

> Ping.
> Any opinions on this patch?

Well, I don't think we should do this.  Why does the user disable
scev-const-prop when enabling graphite?  If he does so, fine - he
has to live with worse codegen.

Richard.

> Thanks,
> Sebastian
> 
> On Sat, Jul 23, 2011 at 23:40, Sebastian Pop <seb...@gmail.com> wrote:
> > This patch makes graphite run the scev_const_prop systematically even
> > when using -fno-tree-scev-cprop.  When scev_const_prop is not applied,
> > there exist close_phi nodes for the main induction variable, making it
> > impossible for graphite to distinguish between reductions and the IVs.
> > So the main IV is translated as it was a reduction, i.e., using copies
> > into temporary arrays, and that makes the scev analysis impossible
> > during code generation.
> >
> > Bootstrapped and tested on amd64-linux.
> >
> > 2011-07-23  Sebastian Pop  <sebastian....@amd.com>
> >
> >        PR middle-end/47691
> >        * graphite.c (graphite_initialize): Call scev_const_prop when
> >        flag_tree_scev_cprop is not set.
> >
> >        * gfortran.dg/graphite/id-pr47691.f: New.
> > ---
> >  gcc/ChangeLog                                   |    6 ++++++
> >  gcc/graphite.c                                  |    3 +++
> >  gcc/testsuite/ChangeLog                         |    5 +++++
> >  gcc/testsuite/gfortran.dg/graphite/id-pr47691.f |    7 +++++++
> >  4 files changed, 21 insertions(+), 0 deletions(-)
> >  create mode 100644 gcc/testsuite/gfortran.dg/graphite/id-pr47691.f
> >
> > diff --git a/gcc/ChangeLog b/gcc/ChangeLog
> > index 9cfa21b..36347d6 100644
> > --- a/gcc/ChangeLog
> > +++ b/gcc/ChangeLog
> > @@ -1,3 +1,9 @@
> > +2011-07-23  Sebastian Pop  <sebastian....@amd.com>
> > +
> > +       PR middle-end/47691
> > +       * graphite.c (graphite_initialize): Call scev_const_prop when
> > +       flag_tree_scev_cprop is not set.
> > +
> >  2011-07-21  Sebastian Pop  <sebastian....@amd.com>
> >
> >        PR middle-end/47654
> > diff --git a/gcc/graphite.c b/gcc/graphite.c
> > index b013447..dfe9ca7 100644
> > --- a/gcc/graphite.c
> > +++ b/gcc/graphite.c
> > @@ -201,6 +201,9 @@ graphite_initialize (void)
> >       return false;
> >     }
> >
> > +  if (!flag_tree_scev_cprop)
> > +    scev_const_prop ();
> > +
> >   scev_reset ();
> >   recompute_all_dominators ();
> >   initialize_original_copy_tables ();
> > diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
> > index a63b647..5f9b79d 100644
> > --- a/gcc/testsuite/ChangeLog
> > +++ b/gcc/testsuite/ChangeLog
> > @@ -1,3 +1,8 @@
> > +2011-07-23  Sebastian Pop  <sebastian....@amd.com>
> > +
> > +       PR middle-end/47691
> > +       * gfortran.dg/graphite/id-pr47691.f: New.
> > +
> >  2011-07-21  Sebastian Pop  <sebastian....@amd.com>
> >
> >        PR middle-end/47654
> > diff --git a/gcc/testsuite/gfortran.dg/graphite/id-pr47691.f 
> > b/gcc/testsuite/gfortran.dg/graphite/id-pr47691.f
> > new file mode 100644
> > index 0000000..0abbd55
> > --- /dev/null
> > +++ b/gcc/testsuite/gfortran.dg/graphite/id-pr47691.f
> > @@ -0,0 +1,7 @@
> > +! { dg-options "-O -fgraphite-identity -ffast-math -fno-tree-scev-cprop" }
> > +      dimension b(12,8)
> > +      do i=1,norb
> > +      end do
> > +      b(i,j) = 0
> > +      call rdrsym(b)
> > +      end
> > --
> > 1.7.4.1
> >
> >
> 
> 

-- 
Richard Guenther <rguent...@suse.de>
Novell / SUSE Labs
SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer

Reply via email to