On Thu, 4 Jun 2015, Tom de Vries wrote:

> > >               {
> > >                 gsi_next (&gsi);
> > >                 continue;
> > > diff --git gcc/tree-ssa-sccvn.c gcc/tree-ssa-sccvn.c
> > > index e417a15..449a615 100644
> > > --- gcc/tree-ssa-sccvn.c
> > > +++ gcc/tree-ssa-sccvn.c
> > > @@ -85,6 +85,7 @@ along with GCC; see the file COPYING3.  If not see
> > >   #include "ipa-ref.h"
> > >   #include "plugin-api.h"
> > >   #include "cgraph.h"
> > > +#include "omp-low.h"
> > > 
> > >   /* This algorithm is based on the SCC algorithm presented by Keith
> > >      Cooper and L. Taylor Simpson in "SCC-Based Value numbering"
> > > @@ -3542,7 +3543,8 @@ visit_use (tree use)
> > >       {
> > >         if (gimple_code (stmt) == GIMPLE_PHI)
> > >           changed = visit_phi (stmt);
> > > -      else if (gimple_has_volatile_ops (stmt))
> > > +      else if (gimple_has_volatile_ops (stmt)
> > > +        || gimple_stmt_omp_data_i_init_p (stmt))
> > 
> > No.
> > 
> > What is the intent of these changes?
> > 
> 
> These are changes to handle the kernels region conservatively, in order to not
> undo the omp-lowering before getting to the oacc-parloops pass.

Still it feels too much like the MPX mistake (maintainance cost and
compile-time cost).  How can any pass "undo" omp-lowering?

Richard.

Reply via email to