[Openmp-commits] [PATCH] D64943: [Clang][OpenMP offload] Eliminate use of OpenMP linker script
Sergey Dmitriev via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Wed Sep 25 15:32:14 PDT 2019
sdmitriev updated this revision to Diff 221847.
sdmitriev marked 3 inline comments as done.
sdmitriev added a comment.
I have rebased patch and addressed last Alexey’s comments. If there are no more comments, I propose to split this patch into 3 pieces
1. Use linker for creating start/end symbols for the offload entry table. This part will also include renaming offload entry section name from “.omp.offloading_entries” to “omp_offloading_entries” since section name must be representable as a C identifier if we want linker to create start/stop symbols for it.
2. Add offload wrapper tool and associated driver changes for invoking this tool for wrapping device binaries. Wrapper bit-code file at this step will contain device binaries only (no offload registration code). Technically OpenMP linker script will be eliminated at this step.
3. And the last piece will move offload registration code generation from clang to the wrapper tool.
@hfinkel, @ABataev, @JonChesterfield , are you Ok with this?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D64943/new/
https://reviews.llvm.org/D64943
Files:
clang/include/clang/Driver/Action.h
clang/include/clang/Driver/Options.td
clang/include/clang/Driver/ToolChain.h
clang/lib/CodeGen/CGOpenMPRuntime.cpp
clang/lib/CodeGen/CGOpenMPRuntime.h
clang/lib/CodeGen/CodeGenModule.cpp
clang/lib/Driver/Action.cpp
clang/lib/Driver/Driver.cpp
clang/lib/Driver/ToolChain.cpp
clang/lib/Driver/ToolChains/Clang.cpp
clang/lib/Driver/ToolChains/Clang.h
clang/lib/Driver/ToolChains/CommonArgs.cpp
clang/lib/Driver/ToolChains/CommonArgs.h
clang/lib/Driver/ToolChains/Cuda.cpp
clang/lib/Driver/ToolChains/Gnu.cpp
clang/test/Driver/clang-offload-wrapper.c
clang/test/Driver/openmp-offload-gpu.c
clang/test/Driver/openmp-offload.c
clang/test/OpenMP/declare_target_link_codegen.cpp
clang/test/OpenMP/nvptx_declare_target_var_ctor_dtor_codegen.cpp
clang/test/OpenMP/nvptx_target_requires_unified_shared_memory.cpp
clang/test/OpenMP/openmp_offload_registration.cpp
clang/test/OpenMP/target_codegen.cpp
clang/test/OpenMP/target_codegen_registration.cpp
clang/test/OpenMP/target_depend_codegen.cpp
clang/test/OpenMP/target_parallel_codegen.cpp
clang/test/OpenMP/target_parallel_codegen_registration.cpp
clang/test/OpenMP/target_parallel_depend_codegen.cpp
clang/test/OpenMP/target_parallel_for_codegen.cpp
clang/test/OpenMP/target_parallel_for_codegen_registration.cpp
clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
clang/test/OpenMP/target_parallel_for_simd_codegen_registration.cpp
clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
clang/test/OpenMP/target_parallel_if_codegen.cpp
clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
clang/test/OpenMP/target_simd_codegen.cpp
clang/test/OpenMP/target_simd_codegen_registration.cpp
clang/test/OpenMP/target_simd_depend_codegen.cpp
clang/test/OpenMP/target_teams_codegen.cpp
clang/test/OpenMP/target_teams_codegen_registration.cpp
clang/test/OpenMP/target_teams_depend_codegen.cpp
clang/test/OpenMP/target_teams_distribute_codegen.cpp
clang/test/OpenMP/target_teams_distribute_codegen_registration.cpp
clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen_registration.cpp
clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
clang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
clang/test/OpenMP/target_teams_num_teams_codegen.cpp
clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
clang/tools/CMakeLists.txt
clang/tools/clang-offload-wrapper/CMakeLists.txt
clang/tools/clang-offload-wrapper/ClangOffloadWrapper.cpp
openmp/libomptarget/plugins/generic-elf-64bit/src/rtl.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64943.221847.patch
Type: text/x-patch
Size: 346890 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20190925/46cae9d6/attachment-0001.bin>
More information about the Openmp-commits
mailing list