On 05/11/15 11:16, Tom de Vries wrote: > Hi, > > now that we have committed -foffload-alias in gomp-4_0-branch ( > https://gcc.gnu.org/ml/gcc-patches/2015-11/msg00214.html ), we no longer > need the kernels region to be a part of the original function when doing > alias analysis. > > So, we no longer have the need to postpone splitting off the kernels > region into a seperate function until after alias analysis, but we can > do this at the same time as when we expand the parallel region. > > The following patch series implements that: > > 1 Move expansion of kernels region back to first omp-expand > 2 Update gate_oacc_kernels to handle oacc function > 3 Revert "Add skip_stmt parm to pass_dominator::get_sese ()" > 4 Revert "Add pass_dominator::sese_mode_p ()" > 5 Handle oacc function in parloops > 6 Update goacc kernels C testcases > 7 Update goacc kernels Fortran testcases > 8 Release_defs in expand_omp_atomic_fetch_op > 9 Remove BUILT_IN_GOACC_KERNELS_INTERNAL > > [ The patch series is broken up into logical bits, but intended as > single commit. Various things in kernels support will be broken in > intermediate stages. ] > > Committed to gomp-4_0-branch. > > I'll post the patches in reply to this message. > This patch moves expansion of the kernels region back to the first omp-expand pass, before ssa. There's no longer a need for the region-replacing call to expand into BUILT_IN_GOACC_KERNELS_INTERNAL and subsequently map onto BUILT_IN_GOACC_PARALLEL during the second omp-expand pass. The BUILT_IN_GOACC_KERNELS_INTERNAL call was modeled transparant to alias analysis, and that's no longer needed. Thanks, - Tom