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.