[PATCH] D59328: [OpenMP][Offloading][2/3] Codegen for target regions (TRegions)
Johannes Doerfert via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 13 13:56:14 PDT 2019
jdoerfert created this revision.
jdoerfert added a project: OpenMP.
jdoerfert added reviewers: ABataev, arpith-jacob, guraypp, gtbercea, hfinkel.
Herald added a project: clang.
The commit includes the Clang code generation for OpenMP target
constructs based on the interface target region (TRegion) interface.
The interface was introduced in https://reviews.llvm.org/D59319 .
This target code generation is a vastly simplified clone of the NVPTX
code generation but
- there is no NVPTX (or other) target specific code, at least there should not be any. The "checkArchForUnifiedAddressing" functionality should therefore be moved to a target specific location later on.
- we provide hooks for subclasses in order to perform front-end analysis, as an alternative of LLVM based optimizations, e.g., to enable SPMD-mode. (See isKnownSPMDMode, mayNeedRuntimeSupport, and mayPerformDataSharing)
The interface is deliberately simple to be easily analyzable in the
middle end. Design decisions included:
- Hide all (complex) implementation choices in the runtime library but allow complete removal of the abstraction once the runtime is inlined.
- Provide all runtime calls with sufficient, easy encoded information.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D59328
Files:
clang/lib/CodeGen/CGOpenMPRuntimeTRegion.cpp
clang/lib/CodeGen/CGOpenMPRuntimeTRegion.h
clang/lib/CodeGen/CMakeLists.txt
clang/lib/CodeGen/CodeGenModule.cpp
clang/test/OpenMP/target_tregion_no_SPMD_mode.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59328.190500.patch
Type: text/x-patch
Size: 47116 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190313/b5cda7ce/attachment-0001.bin>
More information about the llvm-commits
mailing list