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 updates the kernels pass group gate function. Before, it needed to trigger on functions containing kernel regions. Now, it needs to trigger on oacc functions that used to be kernels regions before they were split off. Furthermore, I've duplicated the parloops gate here (flag_tree_parallelize_loops > 1). There's not much sense in running the pass group unless we're trying to parallelize. Consequently, I needed to add a "-ftree-parallelize-loops=32" settting to a testcase which missed that setting. Thanks, - Tom