1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/lib/Frontend/OpenMP
Johannes Doerfert 51153424db [OpenMP] Unified entry point for SPMD & generic kernels in the device RTL
In the spirit of TRegions [0], this patch provides a simpler and uniform
interface for a kernel to set up the device runtime. The OMPIRBuilder is
used for reuse in Flang. A custom state machine will be generated in the
follow up patch.

The "surplus" threads of the "master warp" will not exit early anymore
so we need to use non-aligned barriers. The new runtime will not have an
extra warp but also require these non-aligned barriers.

[0] https://link.springer.com/chapter/10.1007/978-3-030-28596-8_11

This was in parts extracted from D59319.

Reviewed By: ABataev, JonChesterfield

Differential Revision: https://reviews.llvm.org/D101976
2021-07-10 17:53:56 -05:00
..
CMakeLists.txt [openacc][openmp] Reduce number of generated file and prefer inclusion of .inc 2021-03-23 09:16:53 -04:00
OMP.cpp [openacc][openmp] Reduce number of generated file and prefer inclusion of .inc 2021-03-23 09:16:53 -04:00
OMPContext.cpp Revert "[OpenMP] Do not propagate match extensions to nested contexts" 2021-03-11 23:48:36 -06:00
OMPIRBuilder.cpp [OpenMP] Unified entry point for SPMD & generic kernels in the device RTL 2021-07-10 17:53:56 -05:00