https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66846

--- Comment #4 from vries at gcc dot gnu.org ---
Author: vries
Date: Mon Jul 27 23:44:43 2015
New Revision: 226279

URL: https://gcc.gnu.org/viewcvs?rev=226279&root=gcc&view=rev
Log:
Don't cancel loop tree in parloops

2015-07-28  Tom de Vries  <t...@codesourcery.com>

        PR tree-optimization/66846
        * omp-low.c (expand_omp_taskreg) [ENABLE_CHECKING]: Call
        verify_loop_structure for child_cfun if !LOOPS_NEED_FIXUP.
        (expand_omp_target) [ENABLE_CHECKING]: Same.
        (execute_expand_omp): Reinstate LOOPS_HAVE_SIMPLE_LATCHES if in ssa.
        [ENABLE_CHECKING]: Call verify_loop_structure for cfun if
        !LOOPS_NEED_FIXUP.
        (expand_omp_for_static_nochunk): Handle case that omp_for already has
        its own loop struct.
        * tree-parloops.c (create_parallel_loop): Add comment about breaking
        LOOPS_HAVE_SIMPLE_LATCHES.  Record new exit.
        (gen_parallel_loop): Remove call to cancel_loop_tree.
        (parallelize_loops): Skip loops that are inner loops of parallelized
        loops.
        (pass_parallelize_loops::execute): Clear LOOPS_HAVE_SIMPLE_LATCHES on
        loop state.
        [ENABLE_CHECKING]: Call verify_loop_structure.

Modified:
    branches/gomp-4_0-branch/gcc/ChangeLog.gomp
    branches/gomp-4_0-branch/gcc/omp-low.c
    branches/gomp-4_0-branch/gcc/tree-parloops.c

Reply via email to