Ping. Any opinions on this patch? 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 > >