From 34d5719edc15c69764af03fa02f2d716d0ee032a Mon Sep 17 00:00:00 2001 From: "Yaxun (Sam) Liu" Date: Thu, 23 Apr 2020 12:21:54 -0400 Subject: [PATCH] Fix hip-config.cmake for CMAKE_CXX_COMPILER=g++ (#2035) * Fix hip-config.cmake for CMAKE_CXX_COMPILER=g++ Change-Id: I84ae83a5d223853706dd36834b7962ffe9573c1f * Fix HIP_CXX_COMPILER Change-Id: I4e2523b560113420af1ab877a0bc48ca2e9e957a * Fix hip-config.cmake Change-Id: Ida4ef8f40fed83d5f659a9a9835b1f521cb6a374 * Add inlineall option to hip::device in hip-config.cmake Change-Id: Ib51f82d0b9e38d2137df65c940592413e22ba07a [ROCm/hip commit: 75a50884466c07387853e6d572790a4f47c9bc80] --- projects/hip/hip-config.cmake.in | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/projects/hip/hip-config.cmake.in b/projects/hip/hip-config.cmake.in index e663450930..859e2fa0fc 100644 --- a/projects/hip/hip-config.cmake.in +++ b/projects/hip/hip-config.cmake.in @@ -51,8 +51,11 @@ set_and_check(hip_HIPCC_EXECUTABLE "${hip_BIN_INSTALL_DIR}/hipcc") set_and_check(hip_HIPCONFIG_EXECUTABLE "${hip_BIN_INSTALL_DIR}/hipconfig") if(HIP_COMPILER STREQUAL "clang") - if(CMAKE_CXX_COMPILER MATCHES ".*hipcc") - execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version + if(NOT HIP_CXX_COMPILER) + set(HIP_CXX_COMPILER ${CMAKE_CXX_COMPILER}) + endif() + if(HIP_CXX_COMPILER MATCHES ".*hipcc") + execute_process(COMMAND ${HIP_CXX_COMPILER} --version OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE HIP_CLANG_CXX_COMPILER_VERSION_OUTPUT) if(HIP_CLANG_CXX_COMPILER_VERSION_OUTPUT MATCHES "InstalledDir:[\t\r\n][\t\r\n]*([^\t\r\n])") @@ -60,9 +63,11 @@ if(HIP_COMPILER STREQUAL "clang") else() set(HIP_CLANG_ROOT /opt/rocm/llvm) endif() - else() - get_filename_component(HIP_CLANG_ROOT "${CMAKE_CXX_COMPILER}" PATH) + elseif (HIP_CXX_COMPILER MATCHES ".*clang\\+\\+") + get_filename_component(HIP_CLANG_ROOT "${HIP_CXX_COMPILER}" PATH) get_filename_component(HIP_CLANG_ROOT "${HIP_CLANG_ROOT}" PATH) + else() + set(HIP_CLANG_ROOT /opt/rocm/llvm) endif() file(GLOB HIP_CLANG_INCLUDE_SEARCH_PATHS ${HIP_CLANG_ROOT}/lib/clang/*/include) find_path(HIP_CLANG_INCLUDE_PATH stddef.h @@ -137,6 +142,12 @@ if(HIP_COMPILER STREQUAL "clang") INTERFACE_COMPILE_OPTIONS -x hip --hip-device-lib-path=${AMD_DEVICE_LIBS_PREFIX}/lib ) + if (HIP_CXX_COMPILER MATCHES ".*clang\\+\\+") + set_property(TARGET hip::device APPEND PROPERTY + INTERFACE_COMPILE_OPTIONS -mllvm -amdgpu-early-inline-all=true -mllvm -amdgpu-function-calls=false + ) + endif() + set_property(TARGET hip::device APPEND PROPERTY INTERFACE_LINK_LIBRARIES --hip-device-lib-path=${AMD_DEVICE_LIBS_PREFIX}/lib --hip-link )