[Openmp-commits] [PATCH] D148870: [OpenMP] Enable the IDE support for the device runtime
Shilei Tian via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Thu Apr 20 20:16:35 PDT 2023
tianshilei1992 created this revision.
tianshilei1992 added reviewers: jdoerfert, jhuber6.
Herald added subscribers: sunshaoce, guansong, yaxunl.
Herald added a project: All.
tianshilei1992 requested review of this revision.
Herald added subscribers: openmp-commits, jplehr, sstefan1.
Herald added a project: OpenMP.
Currently the device runtime is built as a custom target, which will not be included
in the compile commands. Those language servers using compile commands cannot
handle device runtime correctly.
In this patch, when `LIBOMPTARGET_DEVICE_RTL_IDE_SUPPORT` is turned on, dummy
targets that will be excluded from all will be added. Those targets will not be
built or installed if we just simply do `make` or `make install`, but their
compilation will be included in the compile commands.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D148870
Files:
openmp/libomptarget/DeviceRTL/CMakeLists.txt
Index: openmp/libomptarget/DeviceRTL/CMakeLists.txt
===================================================================
--- openmp/libomptarget/DeviceRTL/CMakeLists.txt
+++ openmp/libomptarget/DeviceRTL/CMakeLists.txt
@@ -268,6 +268,24 @@
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${output_name})
set_property(TARGET omptarget.devicertl.all_objs APPEND PROPERTY IMPORTED_OBJECTS ${output_name})
+
+ if (LIBOMPTARGET_DEVICE_RTL_IDE_SUPPORT)
+ set(ide_target_name omptarget-ide-${target_name}-${target_cpu})
+ add_library(${ide_target_name} STATIC EXCLUDE_FROM_ALL ${src_files})
+ target_compile_options(${ide_target_name} PRIVATE
+ -fopenmp --offload-arch=${target_cpu} -fopenmp-cuda-mode
+ -mllvm -openmp-opt-disable
+ -foffload-lto -fvisibility=hidden --offload-device-only
+ -nocudalib -nogpulib -nostdinc -Wno-unknown-cuda-version
+ )
+ target_compile_definitions(${ide_target_name} PRIVATE SHARED_SCRATCHPAD_SIZE=512)
+ target_include_directories(${ide_target_name} PRIVATE
+ ${include_directory}
+ ${devicertl_base_directory}/../include
+ ${LIBOMPTARGET_LLVM_INCLUDE_DIRS}
+ )
+ install(TARGETS ${ide_target_name} EXCLUDE_FROM_ALL)
+ endif()
endfunction()
# Generate a Bitcode library for all the gpu architectures the user requested.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D148870.515565.patch
Type: text/x-patch
Size: 1338 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20230421/c38b6259/attachment-0001.bin>
More information about the Openmp-commits
mailing list