This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/66846] parloops does not always mark loops for fixup if needed


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

--- Comment #6 from vries at gcc dot gnu.org ---
Author: vries
Date: Fri Jul 31 06:26:44 2015
New Revision: 226427

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

2015-07-31  Tom de Vries  <tom@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) [ENABLE_CHECKING]: Call verify_loop_structure for
        cfun if !LOOPS_NEED_FIXUP.
        (expand_omp_for_static_nochunk): Handle simple latch bb.  Handle case
        that omp_for already has its own loop struct.
        * tree-parloops.c (create_phi_for_local_result)
        (create_call_for_reduction): Handle simple latch bb.
        (create_parallel_loop): Add simple latch bb to preserve
        LOOPS_HAVE_SIMPLE_LATCHES.  Record new exit.  Handle simple latch bb.
        (gen_parallel_loop): Remove call to cancel_loop_tree.
        (parallelize_loops): Skip loops that are inner loops of parallelized
        loops.
        (pass_parallelize_loops::execute) [ENABLE_CHECKING]: Call
        verify_loop_structure.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/omp-low.c
    trunk/gcc/tree-parloops.c


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]