llvm-project/openmp/runtime/test
Shilei Tian 8442967fe3 [OpenMP] Fix task wait doesn't work as expected in serialized team
As discussed in D107121, task wait doesn't work when a regular task T depends on
a detached task or a hidden helper task T' in a serialized team. The root cause is,
since the team is serialized, the last task will not be tracked by
`td_incomplete_child_tasks`. When T' is finished, it first releases its
dependences, and then decrements its parent counter. So far so good. For the thread
that is running task wait, if at the moment it is still spinning and trying to
execute tasks, it is fine because it can detect the new task and execute it.
However, if it happends to finish the function `flag.execute_tasks(...)`, it will
be broken because `td_incomplete_child_tasks` is 0 now.

In this patch, we update the rule to track children tasks a little bit. If the
task team encounters a proxy task or a hidden helper task, all following tasks
will be tracked.

Reviewed By: AndreyChurbanov

Differential Revision: https://reviews.llvm.org/D107496
2021-08-31 12:15:46 -04:00
..
affinity [OpenMP] Lazily assign root affinity 2021-06-15 16:21:06 -05:00
api [OpenMP][test] fix omp_get_wtime.c test to be more accommodating 2021-08-23 08:13:42 -05:00
atomic
barrier [OpenMP] libomp: Add new experimental barrier: two-level distributed barrier 2021-07-29 14:09:26 -05:00
critical [OpenMP] Fix crashing critical section with hint clause 2021-05-24 17:25:01 -05:00
env [OpenMP] libomp: fix dynamic loop dispatcher 2021-06-22 16:29:01 +03:00
flush
lock [OpenMP] NFC: Fix trivial typo 2020-04-04 12:06:54 +09:00
master
misc_bugs [OpenMP][Tests] Fix compiler warnings in OpenMP runtime tests 2020-11-11 20:13:21 +01:00
ompt [OpenMP][tests][NFC] Update test status for gcc 11 and 12 2021-07-25 18:56:36 +02:00
parallel
tasking [OpenMP] Fix task wait doesn't work as expected in serialized team 2021-08-31 12:15:46 -04:00
teams [OpenMP] NFC: fix test removing the target construct 2021-02-13 04:49:52 +03:00
threadprivate [OpenMP] NFC: Fix trivial typos in comments 2020-01-07 14:05:03 +08:00
worksharing [OpenMP] libomp: fix dynamic loop dispatcher 2021-06-22 16:29:01 +03:00
CMakeLists.txt [OpenMP][Tool] Extend reuse of OMPT testing 2020-06-14 15:55:32 +02:00
lit.cfg [OpenMP] Fix python3 compatibility in openmp's lit.cfg 2021-02-01 08:20:26 +01:00
lit.site.cfg.in [OpenMP] Add scaffolding for negative runtime tests 2020-04-21 17:10:50 -04:00
omp_my_sleep.h
omp_testsuite.h