Changeset View
Changeset View
Standalone View
Standalone View
openmp/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt
Show First 20 Lines • Show All 64 Lines • ▼ Show 20 Lines | set(cuda_sources | ||||
${devicertl_base_directory}/common/src/omp_data.cu | ${devicertl_base_directory}/common/src/omp_data.cu | ||||
${devicertl_base_directory}/common/src/omptarget.cu | ${devicertl_base_directory}/common/src/omptarget.cu | ||||
${devicertl_base_directory}/common/src/parallel.cu | ${devicertl_base_directory}/common/src/parallel.cu | ||||
${devicertl_base_directory}/common/src/reduction.cu | ${devicertl_base_directory}/common/src/reduction.cu | ||||
${devicertl_base_directory}/common/src/support.cu | ${devicertl_base_directory}/common/src/support.cu | ||||
${devicertl_base_directory}/common/src/sync.cu | ${devicertl_base_directory}/common/src/sync.cu | ||||
${devicertl_base_directory}/common/src/task.cu) | ${devicertl_base_directory}/common/src/task.cu) | ||||
# Functions implemented in IR are used where there is not yet a corresponding | |||||
jdoerfert: Add a TODO here and in the ll file to state this is a *temporary workaround*. Also state the… | |||||
# intrinsic available in clang. The intent is for these functions to be removed | |||||
# as clang is extended. | |||||
set(llvm_sources | |||||
${CMAKE_CURRENT_SOURCE_DIR}/src/amdgcn_atomic.ll) | |||||
set(h_files | set(h_files | ||||
${CMAKE_CURRENT_SOURCE_DIR}/src/amdgcn_interface.h | ${CMAKE_CURRENT_SOURCE_DIR}/src/amdgcn_interface.h | ||||
${CMAKE_CURRENT_SOURCE_DIR}/src/hip_atomics.h | ${CMAKE_CURRENT_SOURCE_DIR}/src/hip_atomics.h | ||||
${CMAKE_CURRENT_SOURCE_DIR}/src/target_impl.h | ${CMAKE_CURRENT_SOURCE_DIR}/src/target_impl.h | ||||
${devicertl_base_directory}/common/debug.h | ${devicertl_base_directory}/common/debug.h | ||||
${devicertl_base_directory}/common/device_environment.h | ${devicertl_base_directory}/common/device_environment.h | ||||
${devicertl_base_directory}/common/omptarget.h | ${devicertl_base_directory}/common/omptarget.h | ||||
${devicertl_base_directory}/common/omptargeti.h | ${devicertl_base_directory}/common/omptargeti.h | ||||
▲ Show 20 Lines • Show All 51 Lines • ▼ Show 20 Lines | macro(add_cuda_bc_library) | ||||
list(APPEND bc_files linkout.cuda.${mcpu}.bc) | list(APPEND bc_files linkout.cuda.${mcpu}.bc) | ||||
endmacro() | endmacro() | ||||
set(libname "omptarget-amdgcn") | set(libname "omptarget-amdgcn") | ||||
foreach(mcpu ${mcpus}) | foreach(mcpu ${mcpus}) | ||||
set(bc_files) | set(bc_files) | ||||
add_cuda_bc_library(${cuda_sources}) | add_cuda_bc_library(${cuda_sources}) | ||||
list(APPEND bc_files ${llvm_sources}) | |||||
set(bc_libname lib${libname}-${mcpu}.bc) | set(bc_libname lib${libname}-${mcpu}.bc) | ||||
add_custom_command( | add_custom_command( | ||||
OUTPUT ${bc_libname} | OUTPUT ${bc_libname} | ||||
COMMAND ${AOMP_BINDIR}/llvm-link ${bc_files} | ${AOMP_BINDIR}/opt --always-inline -o ${OUTPUTDIR}/${bc_libname} | COMMAND ${AOMP_BINDIR}/llvm-link ${bc_files} | ${AOMP_BINDIR}/opt --always-inline -o ${OUTPUTDIR}/${bc_libname} | ||||
DEPENDS ${bc_files}) | DEPENDS ${bc_files}) | ||||
add_custom_target(lib${libname}-${mcpu} ALL DEPENDS ${bc_libname}) | add_custom_target(lib${libname}-${mcpu} ALL DEPENDS ${bc_libname}) | ||||
install(FILES ${OUTPUTDIR}/${bc_libname} | install(FILES ${OUTPUTDIR}/${bc_libname} | ||||
DESTINATION "${OPENMP_INSTALL_LIBDIR}/libdevice" | DESTINATION "${OPENMP_INSTALL_LIBDIR}/libdevice" | ||||
) | ) | ||||
endforeach() | endforeach() |
Add a TODO here and in the ll file to state this is a *temporary workaround*. Also state the proper solution please.