Open Quuxplusone opened 4 years ago
Attached task_late_fulfill.c
(992 bytes, text/x-csrc): reproducer
Attached task_late_fulfill.c
(4608 bytes, text/x-csrc): openmp/runtime/test/ompt/tasks/task_late_fulfill.c
I think, similar as in bug 46193, we should emit code as for normal tasks, but
set the bit to mark the task as undeferred/included task. This will tell the
runtime to not put the task into some queue, but execute before returning.
The task_serial bit in the kmp_tasking_flags_t flag argument of
__kmp_task_alloc should provide the right thing.
I submitted a patch for review (https://reviews.llvm.org/D81497) to pass the
flag to the allocated task.
Andrey suggested to use the merge_if0 flag (0x4) for the serialized (if0) task:
task_late_fulfill.c
(992 bytes, text/x-csrc)task_late_fulfill.c
(4608 bytes, text/x-csrc)