[OPENMP] Support for mapping of the lambdas in target regions.
authorAlexey Bataev <a.bataev@hotmail.com>
Tue, 30 Oct 2018 15:50:12 +0000 (15:50 +0000)
committerAlexey Bataev <a.bataev@hotmail.com>
Tue, 30 Oct 2018 15:50:12 +0000 (15:50 +0000)
commit6070542296fc885589ddf7dcc8f3ce0c696db580
treeb7d788a5e26d3d781e4ff41505baa0805ebd55e5
parente5369885dd8c925f7394207dd2752d488f0379a3
[OPENMP] Support for mapping of the lambdas in target regions.

Added support for mapping of lambdas in the target regions. It scans all
the captures by reference in the lambda, implicitly maps those variables
in the target region and then later reinstate the addresses of
references in lambda to the correct addresses of the captured|privatized
variables.

llvm-svn: 345609
clang/lib/CodeGen/CGOpenMPRuntime.cpp
clang/lib/CodeGen/CGOpenMPRuntime.h
clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.h
clang/lib/CodeGen/CGStmtOpenMP.cpp
clang/lib/Sema/SemaOpenMP.cpp
clang/test/OpenMP/nvptx_lambda_capturing.cpp [new file with mode: 0644]