On Sun, Nov 13, 2016 at 10:42:01PM +0100, Martin Jambor wrote: > + size_t collapse = gimple_omp_for_collapse (for_stmt); > + struct omp_for_data_loop *loops > + = (struct omp_for_data_loop *) > + alloca (gimple_omp_for_collapse (for_stmt) > + * sizeof (struct omp_for_data_loop));
Use struct omp_for_data_loop *loops = XALLOCAVEC (struct omp_for_data_loop, gimple_omp_for_collapse (for_stmt)); instead? > @@ -14133,7 +14183,7 @@ const pass_data pass_data_expand_omp = > { > GIMPLE_PASS, /* type */ > "ompexp", /* name */ > - OPTGROUP_NONE, /* optinfo_flags */ > + OPTGROUP_OPENMP, /* optinfo_flags */ > TV_NONE, /* tv_id */ > PROP_gimple_any, /* properties_required */ > PROP_gimple_eomp, /* properties_provided */ What about the simdclone, omptargetlink, diagnose_omp_blocks passes? What about openacc specific passes (oaccdevlow)? And Alex is hopefully going to add ompdevlow pass soon. Otherwise LGTM. Jakub