[Openmp-dev] Possibility of combining __kmpc_omp_task_with_deps and __kmpc_omp_task_begin/complete_if0

Bran Hagger via Openmp-dev openmp-dev at lists.llvm.org
Thu Aug 19 16:20:06 PDT 2021


I noticed that Giorgis Georgakoudis had done some work to simplify the code gen for #pragma omp parallel and #pragma omp parallel if() with https://reviews.llvm.org/D95976 so that both cases generate a call to __kmpc_parallel_51 and the if condition is handled in the runtime.

Like #pragma omp parallel, #pragma omp task supports an if clause and the runtime calls generated for #pragma omp task if(false) are very different than the runtime calls generated for a task without an if condition or in the case where the condition evaluates to true.

Are there any plans or interest in simplifying the code generation for #pragma omp task as well?

There are definitely reasons why keeping the code generation as it is right now might be preferable. There is certain optimization information (such as interference, for example) which can be applied only when the task is not deferred - that is, in the #pragma omp task if(false) case - but the same is true for the #pragma omp parallel if(false) case.

Bran Hagger (he/him)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20210819/8e6963ff/attachment.html>

More information about the Openmp-dev mailing list