1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/include/llvm/Frontend/OpenMP
Alex Zinenko 0085eeb3aa [OpenMPIRBuilder] forward arguments as pointers to outlined function
OpenMPIRBuilder::createParallel outlines the body region of the parallel
construct into a new function that accepts any value previously defined outside
the region as a function argument. This function is called back by OpenMP
runtime function __kmpc_fork_call, which expects trailing arguments to be
pointers. If the region uses a value that is not of a pointer type, e.g. a
struct, the produced code would be invalid. In such cases, make createParallel
emit IR that stores the value on stack and pass the pointer to the outlined
function instead. The outlined function then loads the value back and uses as
normal.

Reviewed By: jdoerfert, llitchev

Differential Revision: https://reviews.llvm.org/D92189
2020-12-02 14:59:41 +01:00
..
CMakeLists.txt [flang][openmp] Check clauses allowed semantic with tablegen generated map 2020-07-11 12:45:12 -04:00
OMP.td [Flang][OpenMP][NFC][2/2] Reorder OmpStructureChecker and simplify it. 2020-11-21 22:37:35 +05:30
OMPConstants.h [OpenMPOpt][Fix] Only initialize ICV initial values once. 2020-09-29 12:22:58 +02:00
OMPContext.h [OpenMP] Allow traits for the OpenMP context selector isa 2020-07-29 10:22:27 -05:00
OMPGridValues.h [NFC][OpenMP] Update description of OMPGridValues enums 2020-10-21 18:22:11 +00:00
OMPIRBuilder.h [OpenMPIRBuilder] forward arguments as pointers to outlined function 2020-12-02 14:59:41 +01:00
OMPKinds.def [OpenMP] Add Location Fields to Libomptarget Runtime for Debugging 2020-11-19 12:01:53 -05:00