https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66429
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Author: jakub Date: Wed Jun 17 18:10:23 2015 New Revision: 224570 URL: https://gcc.gnu.org/viewcvs?rev=224570&root=gcc&view=rev Log: 2015-06-17 Jakub Jelinek <ja...@redhat.com> PR middle-end/66429 * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops and has_force_vectorize_loops flags from cfun into child_cfun. (expand_omp_simd): For broken loop, set cfun->has_simduid_loops if simduid is non-NULL. * tree-pass.h (make_pass_simduid_cleanup): New prototype. * passes.def (pass_simduid_cleanup): Add new pass after loop passes. * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary indirection from htab argument's type. (shrink_simd_arrays): New function. (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller. Don't call adjust_simduid_builtins if there are no loops. (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables. (pass_simduid_cleanup::execute): New method. (make_pass_simduid_cleanup): New function. Added: branches/gcc-5-branch/gcc/testsuite/c-c++-common/gomp/pr66429.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/omp-low.c branches/gcc-5-branch/gcc/passes.def branches/gcc-5-branch/gcc/testsuite/ChangeLog branches/gcc-5-branch/gcc/tree-pass.h branches/gcc-5-branch/gcc/tree-vectorizer.c