[llvm] [openmp] [OpenMP][Offload] Support standalone build (PR #88957)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 17 06:04:09 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-amdgpu
Author: Saiyedul Islam (saiislam)
<details>
<summary>Changes</summary>
Moved some of the common functionality in a top-level common
cmake module and fixed path and inclusion issues.
Depends on https://github.com/llvm/llvm-project/pull/75125
---
Patch is 121.46 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/88957.diff
355 Files Affected:
- (added) cmake/Modules/OffloadOpenmpCommon.cmake (+68)
- (modified) llvm/CMakeLists.txt (+1-1)
- (renamed) offload/CMakeLists.txt (+130-9)
- (renamed) offload/DeviceRTL/CMakeLists.txt (+2-2)
- (renamed) offload/DeviceRTL/include/Allocator.h ()
- (renamed) offload/DeviceRTL/include/Configuration.h ()
- (renamed) offload/DeviceRTL/include/Debug.h ()
- (renamed) offload/DeviceRTL/include/Interface.h ()
- (renamed) offload/DeviceRTL/include/LibC.h ()
- (renamed) offload/DeviceRTL/include/Mapping.h ()
- (renamed) offload/DeviceRTL/include/State.h ()
- (renamed) offload/DeviceRTL/include/Synchronization.h ()
- (renamed) offload/DeviceRTL/include/Types.h ()
- (renamed) offload/DeviceRTL/include/Utils.h ()
- (renamed) offload/DeviceRTL/include/generated_microtask_cases.gen ()
- (renamed) offload/DeviceRTL/src/Allocator.cpp ()
- (renamed) offload/DeviceRTL/src/Configuration.cpp ()
- (renamed) offload/DeviceRTL/src/Debug.cpp ()
- (renamed) offload/DeviceRTL/src/Kernel.cpp ()
- (renamed) offload/DeviceRTL/src/LibC.cpp ()
- (renamed) offload/DeviceRTL/src/Mapping.cpp ()
- (renamed) offload/DeviceRTL/src/Misc.cpp ()
- (renamed) offload/DeviceRTL/src/Parallelism.cpp ()
- (renamed) offload/DeviceRTL/src/Reduction.cpp ()
- (renamed) offload/DeviceRTL/src/State.cpp ()
- (renamed) offload/DeviceRTL/src/Stub.cpp ()
- (renamed) offload/DeviceRTL/src/Synchronization.cpp ()
- (renamed) offload/DeviceRTL/src/Tasking.cpp ()
- (renamed) offload/DeviceRTL/src/Utils.cpp ()
- (renamed) offload/DeviceRTL/src/Workshare.cpp ()
- (renamed) offload/DeviceRTL/src/exports ()
- (renamed) offload/README.txt ()
- (renamed) offload/cmake/Modules/LibomptargetGetDependencies.cmake ()
- (renamed) offload/cmake/Modules/LibomptargetUtils.cmake ()
- (added) offload/cmake/OpenMPTesting.cmake (+238)
- (renamed) offload/docs/declare_target_indirect.md ()
- (renamed) offload/include/DeviceImage.h ()
- (renamed) offload/include/ExclusiveAccess.h ()
- (renamed) offload/include/OffloadEntry.h ()
- (renamed) offload/include/OffloadPolicy.h ()
- (renamed) offload/include/OpenMP/InternalTypes.h ()
- (renamed) offload/include/OpenMP/InteropAPI.h ()
- (renamed) offload/include/OpenMP/Mapping.h ()
- (renamed) offload/include/OpenMP/OMPT/Callback.h ()
- (renamed) offload/include/OpenMP/OMPT/Connector.h ()
- (renamed) offload/include/OpenMP/OMPT/Interface.h ()
- (renamed) offload/include/OpenMP/omp.h ()
- (renamed) offload/include/PluginManager.h ()
- (renamed) offload/include/Shared/APITypes.h ()
- (renamed) offload/include/Shared/Debug.h ()
- (renamed) offload/include/Shared/Environment.h ()
- (renamed) offload/include/Shared/EnvironmentVar.h ()
- (renamed) offload/include/Shared/PluginAPI.h ()
- (renamed) offload/include/Shared/PluginAPI.inc ()
- (renamed) offload/include/Shared/Profile.h ()
- (renamed) offload/include/Shared/Requirements.h ()
- (renamed) offload/include/Shared/SourceInfo.h ()
- (renamed) offload/include/Shared/Utils.h ()
- (renamed) offload/include/Utils/ExponentialBackoff.h ()
- (renamed) offload/include/device.h ()
- (renamed) offload/include/omptarget.h ()
- (renamed) offload/include/rtl.h ()
- (renamed) offload/plugins-nextgen/CMakeLists.txt ()
- (renamed) offload/plugins-nextgen/amdgpu/CMakeLists.txt (+1-1)
- (renamed) offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp ()
- (renamed) offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.h ()
- (renamed) offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h ()
- (renamed) offload/plugins-nextgen/amdgpu/src/rtl.cpp ()
- (renamed) offload/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h ()
- (renamed) offload/plugins-nextgen/common/CMakeLists.txt ()
- (renamed) offload/plugins-nextgen/common/OMPT/OmptCallback.cpp ()
- (renamed) offload/plugins-nextgen/common/include/DLWrap.h ()
- (renamed) offload/plugins-nextgen/common/include/GlobalHandler.h ()
- (renamed) offload/plugins-nextgen/common/include/JIT.h ()
- (renamed) offload/plugins-nextgen/common/include/MemoryManager.h ()
- (renamed) offload/plugins-nextgen/common/include/PluginInterface.h ()
- (renamed) offload/plugins-nextgen/common/include/RPC.h ()
- (renamed) offload/plugins-nextgen/common/include/Utils/ELF.h ()
- (renamed) offload/plugins-nextgen/common/src/GlobalHandler.cpp ()
- (renamed) offload/plugins-nextgen/common/src/JIT.cpp ()
- (renamed) offload/plugins-nextgen/common/src/PluginInterface.cpp ()
- (renamed) offload/plugins-nextgen/common/src/RPC.cpp ()
- (renamed) offload/plugins-nextgen/common/src/Utils/ELF.cpp ()
- (renamed) offload/plugins-nextgen/cuda/CMakeLists.txt (+1-1)
- (renamed) offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp ()
- (renamed) offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h ()
- (renamed) offload/plugins-nextgen/cuda/src/rtl.cpp ()
- (renamed) offload/plugins-nextgen/exports ()
- (renamed) offload/plugins-nextgen/host/CMakeLists.txt (+1-1)
- (renamed) offload/plugins-nextgen/host/dynamic_ffi/ffi.cpp ()
- (renamed) offload/plugins-nextgen/host/dynamic_ffi/ffi.h ()
- (renamed) offload/plugins-nextgen/host/src/rtl.cpp ()
- (renamed) offload/src/CMakeLists.txt (+8-2)
- (renamed) offload/src/DeviceImage.cpp ()
- (renamed) offload/src/LegacyAPI.cpp ()
- (renamed) offload/src/OffloadRTL.cpp ()
- (renamed) offload/src/OpenMP/API.cpp ()
- (renamed) offload/src/OpenMP/InteropAPI.cpp ()
- (renamed) offload/src/OpenMP/Mapping.cpp ()
- (renamed) offload/src/OpenMP/OMPT/Callback.cpp ()
- (renamed) offload/src/PluginManager.cpp ()
- (renamed) offload/src/device.cpp ()
- (renamed) offload/src/exports ()
- (renamed) offload/src/interface.cpp ()
- (renamed) offload/src/omptarget.cpp ()
- (renamed) offload/src/private.h ()
- (renamed) offload/test/CMakeLists.txt (+11-4)
- (renamed) offload/test/Inputs/basic_array.f90 ()
- (renamed) offload/test/Inputs/declare_indirect_func.c ()
- (renamed) offload/test/api/assert.c ()
- (renamed) offload/test/api/is_initial_device.c ()
- (renamed) offload/test/api/omp_device_managed_memory.c ()
- (renamed) offload/test/api/omp_device_managed_memory_alloc.c ()
- (renamed) offload/test/api/omp_device_memory.c ()
- (renamed) offload/test/api/omp_dynamic_shared_memory.c ()
- (renamed) offload/test/api/omp_dynamic_shared_memory_amdgpu.c ()
- (renamed) offload/test/api/omp_dynamic_shared_memory_mixed.inc ()
- (renamed) offload/test/api/omp_dynamic_shared_memory_mixed_amdgpu.c ()
- (renamed) offload/test/api/omp_dynamic_shared_memory_mixed_nvptx.c ()
- (renamed) offload/test/api/omp_env_vars.c ()
- (renamed) offload/test/api/omp_get_device_num.c ()
- (renamed) offload/test/api/omp_get_mapped_ptr.c ()
- (renamed) offload/test/api/omp_get_num_devices.c ()
- (renamed) offload/test/api/omp_get_num_devices_with_empty_target.c ()
- (renamed) offload/test/api/omp_get_num_procs.c ()
- (renamed) offload/test/api/omp_host_pinned_memory.c ()
- (renamed) offload/test/api/omp_host_pinned_memory_alloc.c ()
- (renamed) offload/test/api/omp_indirect_call.c ()
- (renamed) offload/test/api/omp_target_memcpy_async1.c ()
- (renamed) offload/test/api/omp_target_memcpy_async2.c ()
- (renamed) offload/test/api/omp_target_memcpy_rect_async1.c ()
- (renamed) offload/test/api/omp_target_memcpy_rect_async2.c ()
- (renamed) offload/test/api/omp_target_memset.c ()
- (renamed) offload/test/api/ompx_3d.c ()
- (renamed) offload/test/api/ompx_3d.cpp ()
- (renamed) offload/test/api/ompx_sync.c ()
- (renamed) offload/test/api/ompx_sync.cpp ()
- (renamed) offload/test/env/base_ptr_ref_count.c ()
- (renamed) offload/test/env/omp_target_debug.c ()
- (renamed) offload/test/jit/empty_kernel.inc ()
- (renamed) offload/test/jit/empty_kernel_lvl1.c ()
- (renamed) offload/test/jit/empty_kernel_lvl2.c ()
- (renamed) offload/test/jit/type_punning.c ()
- (renamed) offload/test/libc/assert.c ()
- (renamed) offload/test/libc/fwrite.c ()
- (renamed) offload/test/libc/global_ctor_dtor.cpp ()
- (renamed) offload/test/libc/host_call.c ()
- (renamed) offload/test/libc/malloc.c ()
- (renamed) offload/test/libc/puts.c ()
- (renamed) offload/test/lit.cfg ()
- (renamed) offload/test/lit.site.cfg.in ()
- (renamed) offload/test/mapping/alloc_fail.c ()
- (renamed) offload/test/mapping/array_section_implicit_capture.c ()
- (renamed) offload/test/mapping/array_section_use_device_ptr.c ()
- (renamed) offload/test/mapping/auto_zero_copy.cpp ()
- (renamed) offload/test/mapping/auto_zero_copy_apu.cpp ()
- (renamed) offload/test/mapping/auto_zero_copy_globals.cpp ()
- (renamed) offload/test/mapping/data_absent_at_exit.c ()
- (renamed) offload/test/mapping/data_member_ref.cpp ()
- (renamed) offload/test/mapping/declare_mapper_api.cpp ()
- (renamed) offload/test/mapping/declare_mapper_nested_default_mappers.cpp ()
- (renamed) offload/test/mapping/declare_mapper_nested_default_mappers_array.cpp ()
- (renamed) offload/test/mapping/declare_mapper_nested_default_mappers_array_subscript.cpp ()
- (renamed) offload/test/mapping/declare_mapper_nested_default_mappers_complex_structure.cpp ()
- (renamed) offload/test/mapping/declare_mapper_nested_default_mappers_ptr_subscript.cpp ()
- (renamed) offload/test/mapping/declare_mapper_nested_default_mappers_var.cpp ()
- (renamed) offload/test/mapping/declare_mapper_nested_mappers.cpp ()
- (renamed) offload/test/mapping/declare_mapper_target.cpp ()
- (renamed) offload/test/mapping/declare_mapper_target_data.cpp ()
- (renamed) offload/test/mapping/declare_mapper_target_data_enter_exit.cpp ()
- (renamed) offload/test/mapping/declare_mapper_target_update.cpp ()
- (renamed) offload/test/mapping/delete_inf_refcount.c ()
- (renamed) offload/test/mapping/device_ptr_update.c ()
- (renamed) offload/test/mapping/firstprivate_aligned.cpp ()
- (renamed) offload/test/mapping/has_device_addr.cpp ()
- (renamed) offload/test/mapping/implicit_device_ptr.c ()
- (renamed) offload/test/mapping/is_device_ptr.cpp ()
- (renamed) offload/test/mapping/lambda_by_value.cpp ()
- (renamed) offload/test/mapping/lambda_mapping.cpp ()
- (renamed) offload/test/mapping/low_alignment.c ()
- (renamed) offload/test/mapping/map_back_race.cpp ()
- (renamed) offload/test/mapping/ompx_hold/omp_target_disassociate_ptr.c ()
- (renamed) offload/test/mapping/ompx_hold/struct.c ()
- (renamed) offload/test/mapping/ompx_hold/target-data.c ()
- (renamed) offload/test/mapping/ompx_hold/target.c ()
- (renamed) offload/test/mapping/padding_not_mapped.c ()
- (renamed) offload/test/mapping/power_of_two_alignment.c ()
- (renamed) offload/test/mapping/pr38704.c ()
- (renamed) offload/test/mapping/prelock.cpp ()
- (renamed) offload/test/mapping/present/target.c ()
- (renamed) offload/test/mapping/present/target_array_extension.c ()
- (renamed) offload/test/mapping/present/target_data.c ()
- (renamed) offload/test/mapping/present/target_data_array_extension.c ()
- (renamed) offload/test/mapping/present/target_data_at_exit.c ()
- (renamed) offload/test/mapping/present/target_enter_data.c ()
- (renamed) offload/test/mapping/present/target_exit_data_delete.c ()
- (renamed) offload/test/mapping/present/target_exit_data_release.c ()
- (renamed) offload/test/mapping/present/target_update.c ()
- (renamed) offload/test/mapping/present/target_update_array_extension.c ()
- (renamed) offload/test/mapping/present/unified_shared_memory.c ()
- (renamed) offload/test/mapping/present/zero_length_array_section.c ()
- (renamed) offload/test/mapping/present/zero_length_array_section_exit.c ()
- (renamed) offload/test/mapping/private_mapping.c ()
- (renamed) offload/test/mapping/ptr_and_obj_motion.c ()
- (renamed) offload/test/mapping/reduction_implicit_map.cpp ()
- (renamed) offload/test/mapping/target_data_array_extension_at_exit.c ()
- (renamed) offload/test/mapping/target_derefence_array_pointrs.cpp ()
- (renamed) offload/test/mapping/target_has_device_addr.c ()
- (renamed) offload/test/mapping/target_implicit_partial_map.c ()
- (renamed) offload/test/mapping/target_map_for_member_data.cpp ()
- (renamed) offload/test/mapping/target_pointers_members_map.cpp ()
- (renamed) offload/test/mapping/target_update_array_extension.c ()
- (renamed) offload/test/mapping/target_use_device_addr.c ()
- (renamed) offload/test/mapping/target_uses_allocator.c ()
- (renamed) offload/test/mapping/target_wrong_use_device_addr.c ()
- (renamed) offload/test/offloading/assert.cpp ()
- (renamed) offload/test/offloading/atomic-compare-signedness.c ()
- (renamed) offload/test/offloading/back2back_distribute.c ()
- (renamed) offload/test/offloading/barrier_fence.c ()
- (renamed) offload/test/offloading/bug47654.cpp ()
- (renamed) offload/test/offloading/bug49021.cpp ()
- (renamed) offload/test/offloading/bug49334.cpp ()
- (renamed) offload/test/offloading/bug49779.cpp ()
- (renamed) offload/test/offloading/bug50022.cpp ()
- (renamed) offload/test/offloading/bug51781.c ()
- (renamed) offload/test/offloading/bug51982.c ()
- (renamed) offload/test/offloading/bug53727.cpp ()
- (renamed) offload/test/offloading/bug64959.c ()
- (renamed) offload/test/offloading/bug64959_compile_only.c ()
- (renamed) offload/test/offloading/bug74582.c ()
- (renamed) offload/test/offloading/complex_reduction.cpp ()
- (renamed) offload/test/offloading/ctor_dtor.cpp ()
- (renamed) offload/test/offloading/cuda_no_devices.c ()
- (renamed) offload/test/offloading/d2d_memcpy.c ()
- (renamed) offload/test/offloading/d2d_memcpy_sync.c ()
- (renamed) offload/test/offloading/default_thread_limit.c ()
- (renamed) offload/test/offloading/dynamic_module.c ()
- (renamed) offload/test/offloading/dynamic_module_load.c ()
- (renamed) offload/test/offloading/extern.c ()
- (renamed) offload/test/offloading/force-usm.cpp ()
- (renamed) offload/test/offloading/fortran/basic-target-parallel-do.f90 ()
- (renamed) offload/test/offloading/fortran/basic-target-parallel-region.f90 ()
- (renamed) offload/test/offloading/fortran/basic-target-region-1D-array-section.f90 ()
- (renamed) offload/test/offloading/fortran/basic-target-region-3D-array-section.f90 ()
- (renamed) offload/test/offloading/fortran/basic-target-region-3D-array.f90 ()
- (renamed) offload/test/offloading/fortran/basic_array.c ()
- (renamed) offload/test/offloading/fortran/basic_target_region.f90 ()
- (renamed) offload/test/offloading/fortran/constant-arr-index.f90 ()
- (renamed) offload/test/offloading/fortran/declare-target-vars-in-target-region.f90 ()
- (renamed) offload/test/offloading/fortran/double-target-call-with-declare-target.f90 ()
- (renamed) offload/test/offloading/fortran/target-map-allocatable-array-section-1d-bounds.f90 ()
- (renamed) offload/test/offloading/fortran/target-map-allocatable-array-section-3d-bounds.f90 ()
- (renamed) offload/test/offloading/fortran/target-map-allocatable-map-scopes.f90 ()
- (renamed) offload/test/offloading/fortran/target-map-enter-exit-allocatables.f90 ()
- (renamed) offload/test/offloading/fortran/target-map-enter-exit-array-2.f90 ()
- (renamed) offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90 ()
- (renamed) offload/test/offloading/fortran/target-map-enter-exit-array.f90 ()
- (renamed) offload/test/offloading/fortran/target-map-enter-exit-scalar.f90 ()
- (renamed) offload/test/offloading/fortran/target-map-pointer-scopes-enter-exit.f90 ()
- (renamed) offload/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90 ()
- (renamed) offload/test/offloading/fortran/target-map-pointer-target-scopes.f90 ()
- (renamed) offload/test/offloading/fortran/target-nested-target-data.f90 ()
- (renamed) offload/test/offloading/fortran/target-parallel-do-collapse.f90 ()
- (renamed) offload/test/offloading/fortran/target-region-implicit-array.f90 ()
- (renamed) offload/test/offloading/fortran/target_map_common_block.f90 ()
- (renamed) offload/test/offloading/fortran/target_map_common_block1.f90 ()
- (renamed) offload/test/offloading/fortran/target_map_common_block2.f90 ()
- (renamed) offload/test/offloading/fortran/target_update.f90 ()
- (renamed) offload/test/offloading/generic_multiple_parallel_regions.c ()
- (renamed) offload/test/offloading/global_constructor.cpp ()
- (renamed) offload/test/offloading/host_as_target.c ()
- (renamed) offload/test/offloading/indirect_fp_mapping.c ()
- (renamed) offload/test/offloading/info.c ()
- (renamed) offload/test/offloading/interop.c ()
- (renamed) offload/test/offloading/lone_target_exit_data.c ()
- (renamed) offload/test/offloading/looptripcnt.c ()
- (renamed) offload/test/offloading/malloc.c ()
- (renamed) offload/test/offloading/malloc_parallel.c ()
- (renamed) offload/test/offloading/mandatory_but_no_devices.c ()
- (renamed) offload/test/offloading/memory_manager.cpp ()
- (renamed) offload/test/offloading/multiple_reductions_simple.c ()
- (renamed) offload/test/offloading/non_contiguous_update.cpp ()
- (renamed) offload/test/offloading/offloading_success.c ()
- (renamed) offload/test/offloading/offloading_success.cpp ()
- (renamed) offload/test/offloading/ompx_bare.c ()
- (renamed) offload/test/offloading/ompx_coords.c ()
- (renamed) offload/test/offloading/ompx_saxpy_mixed.c ()
- (renamed) offload/test/offloading/parallel_offloading_map.cpp ()
- (renamed) offload/test/offloading/parallel_target_teams_reduction.cpp ()
- (renamed) offload/test/offloading/parallel_target_teams_reduction_max.cpp ()
- (renamed) offload/test/offloading/parallel_target_teams_reduction_min.cpp ()
- (renamed) offload/test/offloading/requires.c ()
- (renamed) offload/test/offloading/runtime_init.c ()
- (renamed) offload/test/offloading/shared_lib_fp_mapping.c ()
- (renamed) offload/test/offloading/small_trip_count.c ()
- (renamed) offload/test/offloading/small_trip_count_thread_limit.cpp ()
- (renamed) offload/test/offloading/spmdization.c ()
- (renamed) offload/test/offloading/static_linking.c ()
- (renamed) offload/test/offloading/std_complex_arithmetic.cpp ()
- (renamed) offload/test/offloading/struct_mapping_with_pointers.cpp ()
- (renamed) offload/test/offloading/target-teams-atomic.c ()
- (renamed) offload/test/offloading/target-tile.c ()
- (renamed) offload/test/offloading/target_constexpr_mapping.cpp ()
- (renamed) offload/test/offloading/target_critical_region.cpp ()
- (renamed) offload/test/offloading/target_depend_nowait.cpp ()
- (renamed) offload/test/offloading/target_map_for_member_data.cpp ()
- (renamed) offload/test/offloading/target_nowait_target.cpp ()
- (renamed) offload/test/offloading/task_in_reduction_target.c ()
- (renamed) offload/test/offloading/taskloop_offload_nowait.cpp ()
- (renamed) offload/test/offloading/test_libc.cpp ()
- (renamed) offload/test/offloading/thread_limit.c ()
- (renamed) offload/test/offloading/thread_state_1.c ()
- (renamed) offload/test/offloading/thread_state_2.c ()
- (renamed) offload/test/offloading/weak.c ()
- (renamed) offload/test/offloading/workshare_chunk.c ()
- (renamed) offload/test/offloading/wtime.c ()
- (renamed) offload/test/ompt/callbacks.h ()
- (renamed) offload/test/ompt/register_both.h ()
- (renamed) offload/test/ompt/register_emi.h ()
- (renamed) offload/test/ompt/register_emi_map.h ()
- (renamed) offload/test/ompt/register_no_device_init.h ()
- (renamed) offload/test/ompt/register_non_emi.h ()
- (renamed) offload/test/ompt/register_non_emi_map.h ()
- (renamed) offload/test/ompt/register_wrong_return.h ()
- (renamed) offload/test/ompt/target_memcpy.c ()
- (renamed) offload/test/ompt/target_memcpy_emi.c ()
- (renamed) offload/test/ompt/veccopy.c ()
- (renamed) offload/test/ompt/veccopy_data.c ()
- (renamed) offload/test/ompt/veccopy_disallow_both.c ()
- (renamed) offload/test/ompt/veccopy_emi.c ()
- (renamed) offload/test/ompt/veccopy_emi_map.c ()
- (renamed) offload/test/ompt/veccopy_map.c ()
- (renamed) offload/test/ompt/veccopy_no_device_init.c ()
- (renamed) offload/test/ompt/veccopy_wrong_return.c ()
- (renamed) offload/test/unified_shared_memory/api.c ()
- (renamed) offload/test/unified_shared_memory/associate_ptr.c ()
- (renamed) offload/test/unified_shared_memory/close_enter_exit.c ()
- (renamed) offload/test/unified_shared_memory/close_manual.c ()
- (renamed) offload/test/unified_shared_memory/close_member.c ()
- (renamed) offload/test/unified_shared_memory/close_modifier.c ()
- (renamed) offload/test/unified_shared_memory/shared_update.c ()
- (renamed) offload/tools/CMakeLists.txt ()
``````````diff
diff --git a/cmake/Modules/OffloadOpenmpCommon.cmake b/cmake/Modules/OffloadOpenmpCommon.cmake
new file mode 100644
index 00000000000000..b4e1737e7ef78c
--- /dev/null
+++ b/cmake/Modules/OffloadOpenmpCommon.cmake
@@ -0,0 +1,68 @@
+# Check if OMPT support is available
+# Currently, __builtin_frame_address() is required for OMPT
+# Weak attribute is required for Unices (except Darwin), LIBPSAPI is used for Windows
+if(NOT LIBOMP_ARCH)
+ include(LibompGetArchitecture)
+ libomp_get_architecture(LIBOMP_DETECTED_ARCH)
+ set(LIBOMP_ARCH ${LIBOMP_DETECTED_ARCH})
+endif()
+
+check_c_source_compiles("int main(int argc, char** argv) {
+ void* p = __builtin_frame_address(0);
+ return 0;}" LIBOMP_HAVE___BUILTIN_FRAME_ADDRESS)
+check_c_source_compiles("__attribute__ ((weak)) int foo(int a) { return a*a; }
+ int main(int argc, char** argv) {
+ return foo(argc);}" LIBOMP_HAVE_WEAK_ATTRIBUTE)
+set(CMAKE_REQUIRED_LIBRARIES psapi)
+check_c_source_compiles("#include <windows.h>
+ #include <psapi.h>
+ int main(int artc, char** argv) {
+ return EnumProcessModules(NULL, NULL, 0, NULL);
+ }" LIBOMP_HAVE_PSAPI)
+set(CMAKE_REQUIRED_LIBRARIES)
+if(NOT LIBOMP_HAVE___BUILTIN_FRAME_ADDRESS)
+ set(LIBOMP_HAVE_OMPT_SUPPORT FALSE)
+else()
+ if( # hardware architecture supported?
+ ((LIBOMP_ARCH STREQUAL x86_64) OR
+ (LIBOMP_ARCH STREQUAL i386) OR
+# (LIBOMP_ARCH STREQUAL arm) OR
+ (LIBOMP_ARCH STREQUAL aarch64) OR
+ (LIBOMP_ARCH STREQUAL aarch64_32) OR
+ (LIBOMP_ARCH STREQUAL aarch64_a64fx) OR
+ (LIBOMP_ARCH STREQUAL ppc64le) OR
+ (LIBOMP_ARCH STREQUAL ppc64) OR
+ (LIBOMP_ARCH STREQUAL riscv64) OR
+ (LIBOMP_ARCH STREQUAL loongarch64) OR
+ (LIBOMP_ARCH STREQUAL s390x))
+ AND # OS supported?
+ ((WIN32 AND LIBOMP_HAVE_PSAPI) OR APPLE OR
+ (NOT (WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "AIX") AND LIBOMP_HAVE_WEAK_ATTRIBUTE)))
+ set(LIBOMP_HAVE_OMPT_SUPPORT TRUE)
+ else()
+ set(LIBOMP_HAVE_OMPT_SUPPORT FALSE)
+ endif()
+endif()
+
+# OMPT-support defaults to ON for OpenMP 5.0+ and if the requirements in
+# cmake/config-ix.cmake are fulfilled.
+set(OMPT_DEFAULT FALSE)
+if ((LIBOMP_HAVE_OMPT_SUPPORT) AND (NOT WIN32))
+ set(OMPT_DEFAULT TRUE)
+endif()
+set(LIBOMP_OMPT_SUPPORT ${OMPT_DEFAULT} CACHE BOOL
+ "OMPT-support?")
+
+# Check LIBOMP_HAVE_VERSION_SCRIPT_FLAG
+include(LLVMCheckCompilerLinkerFlag)
+if(NOT APPLE)
+ llvm_check_compiler_linker_flag(C "-Wl,--version-script=${CMAKE_CURRENT_LIST_DIR}/../../openmp/runtime/src/exports_test_so.txt" LIBOMP_HAVE_VERSION_SCRIPT_FLAG)
+endif()
+
+macro(pythonize_bool var)
+if (${var})
+ set(${var} True)
+else()
+ set(${var} False)
+endif()
+endmacro()
diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
index 6f5647d70d8bc1..f9b953185d3e01 100644
--- a/llvm/CMakeLists.txt
+++ b/llvm/CMakeLists.txt
@@ -147,7 +147,7 @@ endif()
# As we migrate runtimes to using the bootstrapping build, the set of default runtimes
# should grow as we remove those runtimes from LLVM_ENABLE_PROJECTS above.
set(LLVM_DEFAULT_RUNTIMES "libcxx;libcxxabi;libunwind")
-set(LLVM_SUPPORTED_RUNTIMES "libc;libunwind;libcxxabi;pstl;libcxx;compiler-rt;openmp;llvm-libgcc")
+set(LLVM_SUPPORTED_RUNTIMES "libc;libunwind;libcxxabi;pstl;libcxx;compiler-rt;openmp;llvm-libgcc;offload")
set(LLVM_ENABLE_RUNTIMES "" CACHE STRING
"Semicolon-separated list of runtimes to build, or \"all\" (${LLVM_DEFAULT_RUNTIMES}). Supported runtimes are ${LLVM_SUPPORTED_RUNTIMES}.")
if(LLVM_ENABLE_RUNTIMES STREQUAL "all")
diff --git a/openmp/libomptarget/CMakeLists.txt b/offload/CMakeLists.txt
similarity index 59%
rename from openmp/libomptarget/CMakeLists.txt
rename to offload/CMakeLists.txt
index 531198fae01699..0c20aa01f34b1b 100644
--- a/openmp/libomptarget/CMakeLists.txt
+++ b/offload/CMakeLists.txt
@@ -10,12 +10,106 @@
#
##===----------------------------------------------------------------------===##
-if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
- message(FATAL_ERROR "Direct configuration not supported, please use parent directory!")
+cmake_minimum_required(VERSION 3.20.0)
+
+if (OPENMP_STANDALONE_BUILD OR "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
+ set(OPENMP_STANDALONE_BUILD TRUE)
+ project(omptarget C CXX ASM)
+endif()
+
+set(ENABLE_LIBOMPTARGET ON)
+# Currently libomptarget cannot be compiled on Windows or MacOS X.
+# Since the device plugins are only supported on Linux anyway,
+# there is no point in trying to compile libomptarget on other OSes.
+# 32-bit systems are not supported either.
+if (APPLE OR WIN32 OR NOT "cxx_std_17" IN_LIST CMAKE_CXX_COMPILE_FEATURES OR NOT CMAKE_SIZEOF_VOID_P EQUAL 8)
+ set(ENABLE_LIBOMPTARGET OFF)
endif()
-# Add cmake directory to search for custom cmake functions.
-set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules ${CMAKE_MODULE_PATH})
+option(OPENMP_ENABLE_LIBOMPTARGET "Enable building libomptarget for offloading."
+ ${ENABLE_LIBOMPTARGET})
+if (OPENMP_ENABLE_LIBOMPTARGET)
+ # Check that the library can actually be built.
+ if (APPLE OR WIN32)
+ message(FATAL_ERROR "libomptarget cannot be built on Windows and MacOS X!")
+ elseif (NOT "cxx_std_17" IN_LIST CMAKE_CXX_COMPILE_FEATURES)
+ message(FATAL_ERROR "Host compiler must support C++17 to build libomptarget!")
+ elseif (NOT CMAKE_SIZEOF_VOID_P EQUAL 8)
+ message(FATAL_ERROR "libomptarget on 32-bit systems are not supported!")
+ endif()
+endif()
+
+# TODO: Leftover from the move, could probably be just LLVM_LIBDIR_SUFFIX everywhere.
+set(OFFLOAD_INSTALL_LIBDIR "lib${LLVM_LIBDIR_SUFFIX}")
+
+set(LLVM_COMMON_CMAKE_UTILS ${CMAKE_CURRENT_SOURCE_DIR}/../cmake)
+
+# Add path for custom modules
+list(INSERT CMAKE_MODULE_PATH 0
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake"
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules"
+ "${LLVM_COMMON_CMAKE_UTILS}/Modules"
+ )
+
+if (OPENMP_STANDALONE_BUILD)
+ # CMAKE_BUILD_TYPE was not set, default to Release.
+ if (NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE Release)
+ endif()
+
+ # Group common settings.
+ set(OPENMP_ENABLE_WERROR FALSE CACHE BOOL
+ "Enable -Werror flags to turn warnings into errors for supporting compilers.")
+ set(OPENMP_LIBDIR_SUFFIX "" CACHE STRING
+ "Suffix of lib installation directory, e.g. 64 => lib64")
+ # Do not use OPENMP_LIBDIR_SUFFIX directly, use OPENMP_INSTALL_LIBDIR.
+ set(OPENMP_INSTALL_LIBDIR "lib${OPENMP_LIBDIR_SUFFIX}")
+
+ # Group test settings.
+ set(OPENMP_TEST_C_COMPILER ${CMAKE_C_COMPILER} CACHE STRING
+ "C compiler to use for testing OpenMP runtime libraries.")
+ set(OPENMP_TEST_CXX_COMPILER ${CMAKE_CXX_COMPILER} CACHE STRING
+ "C++ compiler to use for testing OpenMP runtime libraries.")
+ set(OPENMP_TEST_Fortran_COMPILER ${CMAKE_Fortran_COMPILER} CACHE STRING
+ "FORTRAN compiler to use for testing OpenMP runtime libraries.")
+ set(OPENMP_LLVM_TOOLS_DIR "" CACHE PATH "Path to LLVM tools for testing.")
+
+ set(CMAKE_CXX_STANDARD 17 CACHE STRING "C++ standard to conform to")
+ set(CMAKE_CXX_STANDARD_REQUIRED NO)
+ set(CMAKE_CXX_EXTENSIONS NO)
+else()
+ set(OPENMP_ENABLE_WERROR ${LLVM_ENABLE_WERROR})
+ # If building in tree, we honor the same install suffix LLVM uses.
+ set(OPENMP_INSTALL_LIBDIR "lib${LLVM_LIBDIR_SUFFIX}")
+
+ if (NOT MSVC)
+ set(OPENMP_TEST_C_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang)
+ set(OPENMP_TEST_CXX_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++)
+ else()
+ set(OPENMP_TEST_C_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang.exe)
+ set(OPENMP_TEST_CXX_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++.exe)
+ endif()
+
+ # Check for flang
+ if (NOT MSVC)
+ set(OPENMP_TEST_Fortran_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/flang-new)
+ else()
+ set(OPENMP_TEST_Fortran_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/flang-new.exe)
+ endif()
+
+ # Set fortran test compiler if flang is found
+ if (EXISTS "${OPENMP_TEST_Fortran_COMPILER}")
+ message("Using local flang build at ${OPENMP_TEST_Fortran_COMPILER}")
+ else()
+ unset(OPENMP_TEST_Fortran_COMPILER)
+ endif()
+
+ # If not standalone, set CMAKE_CXX_STANDARD but don't set the global cache value,
+ # only set it locally for OpenMP.
+ set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_STANDARD_REQUIRED NO)
+ set(CMAKE_CXX_EXTENSIONS NO)
+endif()
# Set the path of all resulting libraries to a unified location so that it can
# be used for testing.
@@ -36,6 +130,9 @@ include(LibomptargetUtils)
# Get dependencies for the different components of the project.
include(LibomptargetGetDependencies)
+# Set up testing infrastructure.
+include(OpenMPTesting)
+
# LLVM source tree is required at build time for libomptarget
if (NOT LIBOMPTARGET_LLVM_INCLUDE_DIRS)
message(FATAL_ERROR "Missing definition for LIBOMPTARGET_LLVM_INCLUDE_DIRS")
@@ -101,6 +198,10 @@ if (LIBOMPTARGET_USE_LTO)
list(APPEND offload_link_flags ${CMAKE_CXX_COMPILE_OPTIONS_IPO})
endif()
+# Set LIBOMP_HAVE_OMPT_SUPPORT and LIBOMP_HAVE_VERSION_SCRIPT_FLAG using common offload/openmp cmake module.
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../openmp/runtime/cmake")
+include(OffloadOpenmpCommon)
+
# OMPT support for libomptarget
# Follow host OMPT support and check if host support has been requested.
# LIBOMP_HAVE_OMPT_SUPPORT indicates whether host OMPT support has been implemented.
@@ -125,15 +226,35 @@ set(LIBOMPTARGET_GPU_LIBC_SUPPORT ${LLVM_LIBC_GPU_BUILD} CACHE BOOL
"Libomptarget support for the GPU libc")
pythonize_bool(LIBOMPTARGET_GPU_LIBC_SUPPORT)
+if(OPENMP_STANDALONE_BUILD)
+ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ find_package(LLVM HINTS ${CMAKE_INSTALL_PREFIX})
+ endif()
+ find_path (
+ LIBOMP_OMP_TOOLS_INCLUDE_DIR
+ NAMES
+ omp-tools.h
+ HINTS
+ ${LLVM_INCLUDE_DIRS}
+ ${LLVM_INCLUDE_DIRS}/../lib/clang/${LLVM_VERSION_MAJOR}/include
+ ${CMAKE_INSTALL_PREFIX}/include
+ REQUIRED
+ )
+ find_library (
+ LIBOMP_STANDALONE
+ NAMES
+ omp
+ HINTS
+ ${LLVM_LIBRARY_DIRS}
+ ${CMAKE_INSTALL_PREFIX}/lib
+ REQUIRED
+ )
+endif()
+
set(LIBOMPTARGET_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include)
message(STATUS "OpenMP tools dir in libomptarget: ${LIBOMP_OMP_TOOLS_INCLUDE_DIR}")
include_directories(${LIBOMP_OMP_TOOLS_INCLUDE_DIR})
-# Definitions for testing, for reuse when testing libomptarget-nvptx.
-set(LIBOMPTARGET_OPENMP_HEADER_FOLDER "${LIBOMP_INCLUDE_DIR}" CACHE STRING
- "Path to folder containing omp.h")
-set(LIBOMPTARGET_OPENMP_HOST_RTL_FOLDER "${LIBOMP_LIBRARY_DIR}" CACHE STRING
- "Path to folder containing libomp.so, and libLLVMSupport.so with profiling enabled")
set(LIBOMPTARGET_LLVM_LIBRARY_DIR "${LLVM_LIBRARY_DIR}" CACHE STRING
"Path to folder containing llvm library libomptarget.so")
set(LIBOMPTARGET_LLVM_LIBRARY_INTDIR "${LIBOMPTARGET_INTDIR}" CACHE STRING
diff --git a/openmp/libomptarget/DeviceRTL/CMakeLists.txt b/offload/DeviceRTL/CMakeLists.txt
similarity index 99%
rename from openmp/libomptarget/DeviceRTL/CMakeLists.txt
rename to offload/DeviceRTL/CMakeLists.txt
index 2509f1276ccee6..c7a5dc5ccf5b67 100644
--- a/openmp/libomptarget/DeviceRTL/CMakeLists.txt
+++ b/offload/DeviceRTL/CMakeLists.txt
@@ -228,7 +228,7 @@ function(compileDeviceRTLLibrary target_cpu target_name target_triple)
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${bclib_name} ${LIBOMPTARGET_LIBRARY_DIR}/${bclib_name})
# Install bitcode library under the lib destination folder.
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${bclib_name} DESTINATION "${OPENMP_INSTALL_LIBDIR}")
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${bclib_name} DESTINATION "${OFFLOAD_INSTALL_LIBDIR}")
set(target_feature "")
if("${target_triple}" STREQUAL "nvptx64-nvidia-cuda")
@@ -307,4 +307,4 @@ set_target_properties(omptarget.devicertl PROPERTIES
)
target_link_libraries(omptarget.devicertl PRIVATE omptarget.devicertl.all_objs)
-install(TARGETS omptarget.devicertl ARCHIVE DESTINATION ${OPENMP_INSTALL_LIBDIR})
+install(TARGETS omptarget.devicertl ARCHIVE DESTINATION ${OFFLOAD_INSTALL_LIBDIR})
diff --git a/openmp/libomptarget/DeviceRTL/include/Allocator.h b/offload/DeviceRTL/include/Allocator.h
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/include/Allocator.h
rename to offload/DeviceRTL/include/Allocator.h
diff --git a/openmp/libomptarget/DeviceRTL/include/Configuration.h b/offload/DeviceRTL/include/Configuration.h
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/include/Configuration.h
rename to offload/DeviceRTL/include/Configuration.h
diff --git a/openmp/libomptarget/DeviceRTL/include/Debug.h b/offload/DeviceRTL/include/Debug.h
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/include/Debug.h
rename to offload/DeviceRTL/include/Debug.h
diff --git a/openmp/libomptarget/DeviceRTL/include/Interface.h b/offload/DeviceRTL/include/Interface.h
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/include/Interface.h
rename to offload/DeviceRTL/include/Interface.h
diff --git a/openmp/libomptarget/DeviceRTL/include/LibC.h b/offload/DeviceRTL/include/LibC.h
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/include/LibC.h
rename to offload/DeviceRTL/include/LibC.h
diff --git a/openmp/libomptarget/DeviceRTL/include/Mapping.h b/offload/DeviceRTL/include/Mapping.h
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/include/Mapping.h
rename to offload/DeviceRTL/include/Mapping.h
diff --git a/openmp/libomptarget/DeviceRTL/include/State.h b/offload/DeviceRTL/include/State.h
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/include/State.h
rename to offload/DeviceRTL/include/State.h
diff --git a/openmp/libomptarget/DeviceRTL/include/Synchronization.h b/offload/DeviceRTL/include/Synchronization.h
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/include/Synchronization.h
rename to offload/DeviceRTL/include/Synchronization.h
diff --git a/openmp/libomptarget/DeviceRTL/include/Types.h b/offload/DeviceRTL/include/Types.h
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/include/Types.h
rename to offload/DeviceRTL/include/Types.h
diff --git a/openmp/libomptarget/DeviceRTL/include/Utils.h b/offload/DeviceRTL/include/Utils.h
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/include/Utils.h
rename to offload/DeviceRTL/include/Utils.h
diff --git a/openmp/libomptarget/DeviceRTL/include/generated_microtask_cases.gen b/offload/DeviceRTL/include/generated_microtask_cases.gen
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/include/generated_microtask_cases.gen
rename to offload/DeviceRTL/include/generated_microtask_cases.gen
diff --git a/openmp/libomptarget/DeviceRTL/src/Allocator.cpp b/offload/DeviceRTL/src/Allocator.cpp
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/src/Allocator.cpp
rename to offload/DeviceRTL/src/Allocator.cpp
diff --git a/openmp/libomptarget/DeviceRTL/src/Configuration.cpp b/offload/DeviceRTL/src/Configuration.cpp
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/src/Configuration.cpp
rename to offload/DeviceRTL/src/Configuration.cpp
diff --git a/openmp/libomptarget/DeviceRTL/src/Debug.cpp b/offload/DeviceRTL/src/Debug.cpp
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/src/Debug.cpp
rename to offload/DeviceRTL/src/Debug.cpp
diff --git a/openmp/libomptarget/DeviceRTL/src/Kernel.cpp b/offload/DeviceRTL/src/Kernel.cpp
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/src/Kernel.cpp
rename to offload/DeviceRTL/src/Kernel.cpp
diff --git a/openmp/libomptarget/DeviceRTL/src/LibC.cpp b/offload/DeviceRTL/src/LibC.cpp
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/src/LibC.cpp
rename to offload/DeviceRTL/src/LibC.cpp
diff --git a/openmp/libomptarget/DeviceRTL/src/Mapping.cpp b/offload/DeviceRTL/src/Mapping.cpp
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/src/Mapping.cpp
rename to offload/DeviceRTL/src/Mapping.cpp
diff --git a/openmp/libomptarget/DeviceRTL/src/Misc.cpp b/offload/DeviceRTL/src/Misc.cpp
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/src/Misc.cpp
rename to offload/DeviceRTL/src/Misc.cpp
diff --git a/openmp/libomptarget/DeviceRTL/src/Parallelism.cpp b/offload/DeviceRTL/src/Parallelism.cpp
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/src/Parallelism.cpp
rename to offload/DeviceRTL/src/Parallelism.cpp
diff --git a/openmp/libomptarget/DeviceRTL/src/Reduction.cpp b/offload/DeviceRTL/src/Reduction.cpp
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/src/Reduction.cpp
rename to offload/DeviceRTL/src/Reduction.cpp
diff --git a/openmp/libomptarget/DeviceRTL/src/State.cpp b/offload/DeviceRTL/src/State.cpp
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/src/State.cpp
rename to offload/DeviceRTL/src/State.cpp
diff --git a/openmp/libomptarget/DeviceRTL/src/Stub.cpp b/offload/DeviceRTL/src/Stub.cpp
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/src/Stub.cpp
rename to offload/DeviceRTL/src/Stub.cpp
diff --git a/openmp/libomptarget/DeviceRTL/src/Synchronization.cpp b/offload/DeviceRTL/src/Synchronization.cpp
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/src/Synchronization.cpp
rename to offload/DeviceRTL/src/Synchronization.cpp
diff --git a/openmp/libomptarget/DeviceRTL/src/Tasking.cpp b/offload/DeviceRTL/src/Tasking.cpp
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/src/Tasking.cpp
rename to offload/DeviceRTL/src/Tasking.cpp
diff --git a/openmp/libomptarget/DeviceRTL/src/Utils.cpp b/offload/DeviceRTL/src/Utils.cpp
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/src/Utils.cpp
rename to offload/DeviceRTL/src/Utils.cpp
diff --git a/openmp/libomptarget/DeviceRTL/src/Workshare.cpp b/offload/DeviceRTL/src/Workshare.cpp
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/src/Workshare.cpp
rename to offload/DeviceRTL/src/Workshare.cpp
diff --git a/openmp/libomptarget/DeviceRTL/src/exports b/offload/DeviceRTL/src/exports
similarity index 100%
rename from openmp/libomptarget/DeviceRTL/src/exports
rename to offload/DeviceRTL/src/exports
diff --git a/openmp/libomptarget/README.txt b/offload/README.txt
similarity index 100%
rename from openmp/libomptarget/README.txt
rename to offload/README.txt
diff --git a/openmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake b/offload/cmake/Modules/LibomptargetGetDependencies.cmake
similarity index 100%
rename from openmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake
rename to offload/cmake/Modules/LibomptargetGetDependencies.cmake
diff --git a/openmp/libomptarget/cmake/Modules/LibomptargetUtils.cmake b/offload/cmake/Modules/LibomptargetUtils.cmake
similarity index 100%
rename from openmp/libomptarget/cmake/Modules/LibomptargetUtils.cmake
rename to offload/cmake/Modules/LibomptargetUtils.cmake
diff --git a/offload/cmake/OpenMPTesting.cmake b/offload/cmake/OpenMPTesting.cmake
new file mode 100644
index 00000000000000..11eafeb764260f
--- /dev/null
+++ b/offload/cmake/OpenMPTesting.cmake
@@ -0,0 +1,238 @@
+# Keep track if we have all dependencies.
+set(ENABLE_CHECK_TARGETS TRUE)
+
+# Function to find required dependencies for testing.
+function(find_standalone_test_dependencies)
+ find_package (Python3 COMPONENTS Interpreter)
+
+ if (NOT Python3_Interpreter_FOUND)
+ message(STATUS "Could not find Python.")
+ message(WARNING "The check targets will not be available!")
+ set(ENABLE_CHECK_TARGETS FALSE PARENT_SCOPE)
+ return()
+ else()
+ set(Python3_EXECUTABLE ${Python3_EXECUTABLE} PARENT_SCOPE)
+ endif()
+
+ # Find executables.
+ find_program(OPENMP_LLVM_LIT_EXECUTABLE
+ NAMES llvm-lit.py llvm-lit lit.py lit
+ PATHS ${OPENMP_LLVM_TOOLS_DIR})
+ if (NOT OPENMP_LLVM_LIT_EXECUTABLE)
+ message(STATUS "Cannot find llvm-lit.")
+ message(STATUS "Please put llvm-lit in your PATH, set OPENMP_LLVM_LIT_EXECUTABLE to its full path, or point OPENMP_LLVM_TOOLS_DIR to its directory.")
+ message(WARNING "The check targets will not be available!")
+ set(ENABLE_CHECK_TARGETS FALSE PARENT_SCOPE)
+ return()
+ endif()
+
+ find_program(OPENMP_FILECHECK_EXECUTABLE
+ NAMES FileCheck
+ PATHS ${OPENMP_LLVM_TOOLS_DIR})
+ if (NOT OPENMP_FILECHECK_EXECUTABLE)
+ message(STATUS "Cannot find FileCheck.")
+ message(STATUS "Please put FileCheck in your PATH, set OPENMP_FILECHECK_E...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/88957
More information about the llvm-commits
mailing list