From 489cef167fdecee667596d5cecd71f4108436fce Mon Sep 17 00:00:00 2001 From: Aaron Enye Shi Date: Fri, 1 Feb 2019 16:52:55 +0000 Subject: [PATCH] hipcc defaults to HIP-Clang if built with HIP-Clang Add HIP_COMPILER to hipConfig, so that HIP packages built with HIP_COMPILER for HIP-Clang will be known during runtime by hipcc. Also add default locations to check for llvm and device-libs. --- CMakeLists.txt | 1 + bin/hipcc | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3db80f9e7e..7a0d3e70dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,6 +71,7 @@ if(NOT (HIP_COMPILER STREQUAL "hcc" OR HIP_COMPILER STREQUAL "clang")) message(FATAL_ERROR "Must use HIP_COMPILER as hcc or clang") endif() message(STATUS "HIP Compiler: " ${HIP_COMPILER}) +add_to_config(_buildInfo HIP_COMPILER) # If HIP_PLATFORM is hcc, we need HCC_HOME and HSA_PATH to be defined diff --git a/bin/hipcc b/bin/hipcc index a717a0bf92..bc47287f4a 100755 --- a/bin/hipcc +++ b/bin/hipcc @@ -58,8 +58,8 @@ $HIPCC_LINK_FLAGS_APPEND=$ENV{'HIPCC_LINK_FLAGS_APPEND'}; $HIP_PATH=$ENV{'HIP_PATH'} // dirname (dirname $0); # use parent directory of hipcc $HIP_VDI_HOME=$ENV{'HIP_VDI_HOME'}; -$HIP_CLANG_PATH=$ENV{'HIP_CLANG_PATH'}; -$DEVICE_LIB_PATH=$ENV{'DEVICE_LIB_PATH'}; +$HIP_CLANG_PATH=$ENV{'HIP_CLANG_PATH'} // "/opt/rocm/llvm/bin"; +$DEVICE_LIB_PATH=$ENV{'DEVICE_LIB_PATH'} // "/opt/rocm/lib"; $HIP_CLANG_HCC_COMPAT_MODE=$ENV{'HIP_CLANG_HCC_COMPAT_MODE'}; # HCC compatibility mode #--- @@ -93,6 +93,7 @@ sub delete_temp_dirs { $HIP_PLATFORM= `$HIP_PATH/bin/hipconfig --platform` // "hcc"; $HIP_VERSION= `$HIP_PATH/bin/hipconfig --version`; ($HIP_VERSION_MAJOR, $HIP_VERSION_MINOR, $HIP_VERSION_PATCH) = split(/\./, $HIP_VERSION); +$HIP_COMPILER=$hipConfig{'HIP_COMPILER'}; if (defined $HIP_VDI_HOME) { my $bits = ""; @@ -110,7 +111,7 @@ if (defined $HIP_VDI_HOME) { $HIP_LIB_PATH = "$HIP_VDI_HOME/lib" . $bits; } -if (defined $HIP_CLANG_PATH) { +if ($HIP_COMPILER eq "clang") { $HIP_PLATFORM = "clang" }