diff options
author | Johannes Doerfert <johannes@jdoerfert.de> | 2023-11-29 07:57:01 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-29 07:57:01 -0800 |
commit | db96a9c3b7f1855a586c23328bfa073dde6f1352 (patch) | |
tree | ca6c7b6a528b124e9a61b4d3c8a5d9be1d3ca955 /openmp | |
parent | 672b3d097464becb6e0077ee49a1117ea9bd8238 (diff) | |
download | llvm-db96a9c3b7f1855a586c23328bfa073dde6f1352.zip llvm-db96a9c3b7f1855a586c23328bfa073dde6f1352.tar.gz llvm-db96a9c3b7f1855a586c23328bfa073dde6f1352.tar.bz2 |
[OpenMP][NFC] Flatten plugin-nextgen/common folder sturcture (#73725)
For historic reasons we had it setup that there was
` plugin-nextgen/common/PluginInterface/<sources + headers>`
which is not what we do anywhere else.
Now it looks like the rest:
```
plugin-nextgen/common/include/<headers>
plugin-nextgen/common/src/<sources>
```
As part of this, `dlwrap.h` was moved into common/include (as
`DLWrap.h`)
since it is exclusively used by the plugins.
Diffstat (limited to 'openmp')
-rw-r--r-- | openmp/libomptarget/plugins-nextgen/CMakeLists.txt | 2 | ||||
-rw-r--r-- | openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt | 2 | ||||
-rw-r--r-- | openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp | 2 | ||||
-rw-r--r-- | openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt | 91 | ||||
-rw-r--r-- | openmp/libomptarget/plugins-nextgen/common/PluginInterface/CMakeLists.txt | 98 | ||||
-rw-r--r-- | openmp/libomptarget/plugins-nextgen/common/include/DLWrap.h (renamed from openmp/libomptarget/include/dlwrap.h) | 8 | ||||
-rw-r--r-- | openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h (renamed from openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.h) | 0 | ||||
-rw-r--r-- | openmp/libomptarget/plugins-nextgen/common/include/JIT.h (renamed from openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.h) | 0 | ||||
-rw-r--r-- | openmp/libomptarget/plugins-nextgen/common/include/MemoryManager.h (renamed from openmp/libomptarget/plugins-nextgen/common/PluginInterface/MemoryManager.h) | 0 | ||||
-rw-r--r-- | openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h (renamed from openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h) | 0 | ||||
-rw-r--r-- | openmp/libomptarget/plugins-nextgen/common/include/RPC.h (renamed from openmp/libomptarget/plugins-nextgen/common/PluginInterface/RPC.h) | 0 | ||||
-rw-r--r-- | openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp (renamed from openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.cpp) | 0 | ||||
-rw-r--r-- | openmp/libomptarget/plugins-nextgen/common/src/JIT.cpp (renamed from openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.cpp) | 0 | ||||
-rw-r--r-- | openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp (renamed from openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp) | 0 | ||||
-rw-r--r-- | openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp (renamed from openmp/libomptarget/plugins-nextgen/common/PluginInterface/RPC.cpp) | 0 | ||||
-rw-r--r-- | openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.cpp (renamed from openmp/libomptarget/plugins-nextgen/common/PluginInterface/Utils/ELF.cpp) | 0 | ||||
-rw-r--r-- | openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.h (renamed from openmp/libomptarget/plugins-nextgen/common/PluginInterface/Utils/ELF.h) | 0 | ||||
-rw-r--r-- | openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt | 2 | ||||
-rw-r--r-- | openmp/libomptarget/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp | 2 |
19 files changed, 99 insertions, 108 deletions
diff --git a/openmp/libomptarget/plugins-nextgen/CMakeLists.txt b/openmp/libomptarget/plugins-nextgen/CMakeLists.txt index a27dd0a..af2e5ef 100644 --- a/openmp/libomptarget/plugins-nextgen/CMakeLists.txt +++ b/openmp/libomptarget/plugins-nextgen/CMakeLists.txt @@ -47,7 +47,7 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "${tmachine}$") LINK_LIBS PRIVATE - PluginInterface + PluginCommon ${LIBOMPTARGET_DEP_LIBFFI_LIBRARIES} ${OPENMP_PTHREAD_LIB} diff --git a/openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt b/openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt index af967bc..bbf8c0a 100644 --- a/openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt +++ b/openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt @@ -80,7 +80,7 @@ add_llvm_library(omptarget.rtl.amdgpu SHARED LINK_LIBS PRIVATE - PluginInterface + PluginCommon ${LIBOMPTARGET_DEP_LIBRARIES} ${OPENMP_PTHREAD_LIB} ${LDFLAGS_UNDEFINED} diff --git a/openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp b/openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp index faeb4ea..cb82180 100644 --- a/openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp +++ b/openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp @@ -15,7 +15,7 @@ #include "Shared/Debug.h" -#include "dlwrap.h" +#include "DLWrap.h" #include "hsa.h" #include "hsa_ext_amd.h" #include <memory> diff --git a/openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt b/openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt index f0645d0..5b332ed 100644 --- a/openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt +++ b/openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt @@ -10,5 +10,94 @@ # ##===----------------------------------------------------------------------===## +# NOTE: Don't try to build `PluginInterface` using `add_llvm_library` because we +# don't want to export `PluginInterface` while `add_llvm_library` requires that. +add_library(PluginCommon OBJECT + src/PluginInterface.cpp + src/GlobalHandler.cpp + src/JIT.cpp + src/RPC.cpp + src/Utils/ELF.cpp +) + +# Only enable JIT for those targets that LLVM can support. +string(TOUPPER "${LLVM_TARGETS_TO_BUILD}" TargetsSupported) +foreach(Target ${TargetsSupported}) + target_compile_definitions(PluginCommon PRIVATE "LIBOMPTARGET_JIT_${Target}") +endforeach() + +# This is required when using LLVM libraries. +llvm_update_compile_flags(PluginCommon) + +if (LLVM_LINK_LLVM_DYLIB) + set(llvm_libs LLVM) +else() + llvm_map_components_to_libnames(llvm_libs + ${LLVM_TARGETS_TO_BUILD} + AggressiveInstCombine + Analysis + BinaryFormat + BitReader + BitWriter + CodeGen + Core + Extensions + InstCombine + Instrumentation + IPO + IRReader + Linker + MC + Object + Passes + Remarks + ScalarOpts + Support + Target + TargetParser + TransformUtils + Vectorize + ) +endif() + +target_link_libraries(PluginCommon + PUBLIC + ${llvm_libs} +) + +# Include the RPC server from the `libc` project if availible. +if(TARGET llvmlibc_rpc_server AND ${LIBOMPTARGET_GPU_LIBC_SUPPORT}) + target_link_libraries(PluginCommon PRIVATE llvmlibc_rpc_server) + target_compile_definitions(PluginCommon PRIVATE LIBOMPTARGET_RPC_SUPPORT) +elseif(${LIBOMPTARGET_GPU_LIBC_SUPPORT}) + find_library(llvmlibc_rpc_server NAMES llvmlibc_rpc_server + PATHS ${LIBOMPTARGET_LLVM_LIBRARY_DIR} NO_DEFAULT_PATH) + if(llvmlibc_rpc_server) + target_link_libraries(PluginCommon PRIVATE llvmlibc_rpc_server) + target_compile_definitions(PluginCommon PRIVATE LIBOMPTARGET_RPC_SUPPORT) + endif() +endif() + +if ((OMPT_TARGET_DEFAULT) AND (LIBOMPTARGET_OMPT_SUPPORT)) + target_link_libraries(PluginCommon PUBLIC OMPT) +endif() + +# Define the TARGET_NAME and DEBUG_PREFIX. +target_compile_definitions(PluginCommon PRIVATE + TARGET_NAME="PluginInterface" + DEBUG_PREFIX="PluginInterface" +) + +target_include_directories(PluginCommon + PRIVATE + ${LIBOMPTARGET_INCLUDE_DIR} + PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR}/include +) + +set_target_properties(PluginCommon PROPERTIES + POSITION_INDEPENDENT_CODE ON + CXX_VISIBILITY_PRESET protected) + add_subdirectory(OMPT) -add_subdirectory(PluginInterface) + diff --git a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/CMakeLists.txt b/openmp/libomptarget/plugins-nextgen/common/PluginInterface/CMakeLists.txt deleted file mode 100644 index 84a7dc8..0000000 --- a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/CMakeLists.txt +++ /dev/null @@ -1,98 +0,0 @@ -##===----------------------------------------------------------------------===## -# -# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -# See https://llvm.org/LICENSE.txt for license information. -# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -# -##===----------------------------------------------------------------------===## -# -# Common parts which can be used by all plugins -# -##===----------------------------------------------------------------------===## - -# NOTE: Don't try to build `PluginInterface` using `add_llvm_library` because we -# don't want to export `PluginInterface` while `add_llvm_library` requires that. -add_library(PluginInterface OBJECT - PluginInterface.cpp - GlobalHandler.cpp - JIT.cpp - RPC.cpp - Utils/ELF.cpp -) - -# Only enable JIT for those targets that LLVM can support. -string(TOUPPER "${LLVM_TARGETS_TO_BUILD}" TargetsSupported) -foreach(Target ${TargetsSupported}) - target_compile_definitions(PluginInterface PRIVATE "LIBOMPTARGET_JIT_${Target}") -endforeach() - -# This is required when using LLVM libraries. -llvm_update_compile_flags(PluginInterface) - -if (LLVM_LINK_LLVM_DYLIB) - set(llvm_libs LLVM) -else() - llvm_map_components_to_libnames(llvm_libs - ${LLVM_TARGETS_TO_BUILD} - AggressiveInstCombine - Analysis - BinaryFormat - BitReader - BitWriter - CodeGen - Core - Extensions - InstCombine - Instrumentation - IPO - IRReader - Linker - MC - Object - Passes - Remarks - ScalarOpts - Support - Target - TargetParser - TransformUtils - Vectorize - ) -endif() - -target_link_libraries(PluginInterface - PUBLIC - ${llvm_libs} -) - -# Include the RPC server from the `libc` project if availible. -if(TARGET llvmlibc_rpc_server AND ${LIBOMPTARGET_GPU_LIBC_SUPPORT}) - target_link_libraries(PluginInterface PRIVATE llvmlibc_rpc_server) - target_compile_definitions(PluginInterface PRIVATE LIBOMPTARGET_RPC_SUPPORT) -elseif(${LIBOMPTARGET_GPU_LIBC_SUPPORT}) - find_library(llvmlibc_rpc_server NAMES llvmlibc_rpc_server - PATHS ${LIBOMPTARGET_LLVM_LIBRARY_DIR} NO_DEFAULT_PATH) - if(llvmlibc_rpc_server) - target_link_libraries(PluginInterface PRIVATE llvmlibc_rpc_server) - target_compile_definitions(PluginInterface PRIVATE LIBOMPTARGET_RPC_SUPPORT) - endif() -endif() - -if ((OMPT_TARGET_DEFAULT) AND (LIBOMPTARGET_OMPT_SUPPORT)) - target_link_libraries(PluginInterface PUBLIC OMPT) -endif() - -# Define the TARGET_NAME and DEBUG_PREFIX. -target_compile_definitions(PluginInterface PRIVATE - TARGET_NAME="PluginInterface" - DEBUG_PREFIX="PluginInterface" -) - -target_include_directories(PluginInterface - INTERFACE ${CMAKE_CURRENT_SOURCE_DIR} - PRIVATE ${LIBOMPTARGET_INCLUDE_DIR} -) - -set_target_properties(PluginInterface PROPERTIES - POSITION_INDEPENDENT_CODE ON - CXX_VISIBILITY_PRESET protected) diff --git a/openmp/libomptarget/include/dlwrap.h b/openmp/libomptarget/plugins-nextgen/common/include/DLWrap.h index 2784bd8..8934e7e 100644 --- a/openmp/libomptarget/include/dlwrap.h +++ b/openmp/libomptarget/plugins-nextgen/common/include/DLWrap.h @@ -1,4 +1,4 @@ -//===------- dlwrap.h - Convenience wrapper around dlopen/dlsym -- C++ -*-===// +//===-- Shared/DLWrap.h - Convenience wrapper for dlopen/dlsym --*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. @@ -38,8 +38,8 @@ // //===----------------------------------------------------------------------===// -#ifndef DLWRAP_H_INCLUDED -#define DLWRAP_H_INCLUDED +#ifndef OMPTARGET_SHARED_DLWRAP_H +#define OMPTARGET_SHARED_DLWRAP_H #include <array> #include <cstddef> @@ -283,4 +283,4 @@ template <size_t Requested, size_t Required> constexpr void verboseAssert() { x9, x10); \ } -#endif +#endif // OMPTARGET_SHARED_DLWRAP_H diff --git a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.h b/openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h index aff10b1..aff10b1 100644 --- a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.h +++ b/openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h diff --git a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.h b/openmp/libomptarget/plugins-nextgen/common/include/JIT.h index 1a5e56b..1a5e56b 100644 --- a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.h +++ b/openmp/libomptarget/plugins-nextgen/common/include/JIT.h diff --git a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/MemoryManager.h b/openmp/libomptarget/plugins-nextgen/common/include/MemoryManager.h index 95491b4..95491b4 100644 --- a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/MemoryManager.h +++ b/openmp/libomptarget/plugins-nextgen/common/include/MemoryManager.h diff --git a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h b/openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h index 6abd1b6..6abd1b6 100644 --- a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h +++ b/openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h diff --git a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/RPC.h b/openmp/libomptarget/plugins-nextgen/common/include/RPC.h index e1ebcb2..e1ebcb2 100644 --- a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/RPC.h +++ b/openmp/libomptarget/plugins-nextgen/common/include/RPC.h diff --git a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.cpp b/openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp index 6cb9a36..6cb9a36 100644 --- a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.cpp +++ b/openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp diff --git a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.cpp b/openmp/libomptarget/plugins-nextgen/common/src/JIT.cpp index 188fb6d..188fb6d 100644 --- a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.cpp +++ b/openmp/libomptarget/plugins-nextgen/common/src/JIT.cpp diff --git a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp b/openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp index 3b0b7de..3b0b7de 100644 --- a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp +++ b/openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp diff --git a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/RPC.cpp b/openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp index a40bf14..a40bf14 100644 --- a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/RPC.cpp +++ b/openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp diff --git a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/Utils/ELF.cpp b/openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.cpp index 7089e26..7089e26 100644 --- a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/Utils/ELF.cpp +++ b/openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.cpp diff --git a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/Utils/ELF.h b/openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.h index 6b1ce43..6b1ce43 100644 --- a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/Utils/ELF.h +++ b/openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.h diff --git a/openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt b/openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt index 3e1d11a..95b288c 100644 --- a/openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt +++ b/openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt @@ -34,7 +34,7 @@ add_llvm_library(omptarget.rtl.cuda SHARED Object LINK_LIBS PRIVATE - PluginInterface + PluginCommon ${OPENMP_PTHREAD_LIB} NO_INSTALL_RPATH diff --git a/openmp/libomptarget/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp b/openmp/libomptarget/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp index f99dc78..56c4404 100644 --- a/openmp/libomptarget/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp +++ b/openmp/libomptarget/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp @@ -15,8 +15,8 @@ #include "Shared/Debug.h" +#include "DLWrap.h" #include "cuda.h" -#include "dlwrap.h" #include <memory> #include <string> |