[Openmp-commits] [PATCH] D81497: [OpenMP] support alloc of serialized tasks

Andrey Churbanov via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Wed Jun 10 12:47:18 PDT 2020

AndreyChurbanov added inline comments.

Comment at: openmp/runtime/src/kmp_tasking.cpp:1331
       (parent_task->td_flags.final || taskdata->td_flags.team_serial ||
-       taskdata->td_flags.tasking_ser);
+       taskdata->td_flags.tasking_ser || flags->task_serial);
The task_serial bit supposed to be used internally by the library, not by compiler (we virtually split 32-bit flag in two parts - lower 16 bits owned by compiler, higher 16 bits owned by the library).

I'd suggest to use if0 bit instead which is "compiler-owned". It is named in the library merged_if0 (don't know why) and never used currently. We could also rename it, but not necessarily.  We will unlikely use this bit for mergeable tasks because it is hard to implement mergeable tasks in the library with a little gain (does not worth efforts to me, at least for now).

So for explicit tied if0 detachable task compiler could use the flag 69 which is binary 0100 0101 with bits 0, 2, 6 set (0 - tied, 2 - if0, 6 - detachable).


  rG LLVM Github Monorepo



More information about the Openmp-commits mailing list