[PATCH] D18203: [OPENMP] Implementation of codegen for firstprivate clause of target directive

Carlo Bertolli via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 15 20:04:31 PDT 2016


carlo.bertolli created this revision.
carlo.bertolli added reviewers: ABataev, kkwli0.
carlo.bertolli added subscribers: sfantao, arpith-jacob, caomhin, fraggamuffin, cfe-commits.
carlo.bertolli set the repository for this revision to rL LLVM.

This patch implements the following aspects:

- It extends sema to check that a variable is not reference in both a map clause and firstprivate or private. This is needed to ensure correct functioning at codegen level, apart from being useful for the user.

- It implements firstprivate for target in codegen. The implementation applies to both host and nvptx devices.

- It adds regression tests for codegen of firstprivate, host and device side when using the host as device, and nvptx side.
Please note that the regression test for nvptx codegen is missing VLAs. This is because VLAs currently require saving and restoring the stack which appears not to be a supported operation by nvptx backend.

- It adds a check in sema regression tests for target map, firstprivate, and private clauses. 

Repository:
  rL LLVM

http://reviews.llvm.org/D18203

Files:
  include/clang/Basic/DiagnosticSemaKinds.td
  lib/CodeGen/CGOpenMPRuntime.cpp
  lib/Sema/SemaOpenMP.cpp
  test/OpenMP/nvptx_target_firstprivate_codegen.cpp
  test/OpenMP/target_firstprivate_codegen.cpp
  test/OpenMP/target_firstprivate_messages.cpp
  test/OpenMP/target_map_messages.cpp
  test/OpenMP/target_private_messages.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18203.50794.patch
Type: text/x-patch
Size: 54376 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160316/6b8a8696/attachment-0001.bin>


More information about the cfe-commits mailing list