https://llvm.org/bugs/show_bug.cgi?id=30855

            Bug ID: 30855
           Summary: Merge r277991 into the 3.9 branch
           Product: OpenMP
           Version: unspecified
          Hardware: Macintosh
                OS: MacOS X
            Status: NEW
          Severity: normal
          Priority: P
         Component: Runtime Library
          Assignee: unassignedb...@nondot.org
          Reporter: howarth.mailing.li...@gmail.com
                CC: llvm-bugs@lists.llvm.org
    Classification: Unclassified

I would like to propose merging the change...

r277991 | hahnfeld | 2016-08-08 06:08:07 -0400 (Mon, 08 Aug 2016) | 24 lines

__kmp_free_task: Fix for serial explicit tasks producing proxy tasks

Consider the following code which may be executed by a serial team:

    int dep;
    #pragma omp target nowait depend(out: dep)
    {
        sleep(1);
    }
    #pragma omp task depend(in: dep)
    {
        #pragma omp target nowait
        {
            sleep(1);
        }
    }

Here the explicit task may not be freed until the nested proxy task has
finished. The current code hasn't considered this and called __kmp_free_task
anyway which triggered an assert because of remaining incomplete children:

    KMP_DEBUG_ASSERT( TCR_4(taskdata->td_incomplete_child_tasks) == 0 );

Differential Revision: https://reviews.llvm.org/D23115

to 3.9 branch for the 3.9.1 release

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to