hip-clang: fix hipcc options

Use -O3 for default optimization level.
Fix --hip-device-lib-path for warnings about unused option.


[ROCm/clr commit: 419eeb4fe0]
This commit is contained in:
Yaxun (Sam) Liu
2019-04-09 22:31:13 -04:00
parent 40cf556b82
commit f6151a55fd
+27 -6
View File
@@ -188,12 +188,8 @@ if ($HIP_PLATFORM eq "clang") {
print ("DEVICE_LIB_PATH=$DEVICE_LIB_PATH\n");
}
# By default, hip-clang assumes -fno-gpu-rdc, therefore device lib path
# is required.
$HIP_DEVLIB_FLAGS = " --hip-device-lib-path=$DEVICE_LIB_PATH";
$HIPCXXFLAGS .= " $HIP_DEVLIB_FLAGS -std=c++11 -isystem $HIP_CLANG_INCLUDE_PATH";
$HIPLDFLAGS .= " $HIP_DEVLIB_FLAGS -L$HIP_LIB_PATH";
$HIPCXXFLAGS .= " -std=c++11 -isystem $HIP_CLANG_INCLUDE_PATH";
$HIPLDFLAGS .= " -L$HIP_LIB_PATH";
if (not $isWindows) {
$HIPLDFLAGS .= " -Wl,--rpath=$HIP_LIB_PATH";
$HIPLDFLAGS .= " -lhip_hcc";
@@ -373,6 +369,8 @@ if($HIP_PLATFORM eq "nvcc"){
}
my $toolArgs = ""; # arguments to pass to the hcc or nvcc tool
my $optArg = ""; # -O args
my $rdc = 0;
foreach $arg (@ARGV)
{
@@ -464,6 +462,18 @@ foreach $arg (@ARGV)
$linkType = 1;
$setLinkType = 1;
}
if($arg =~ m/^-O/)
{
$optArg = $arg;
}
if($arg =~ /-fgpu-rdc/)
{
$rdc = 1;
}
if($arg =~ /-fno-gpu-rdc/)
{
$rdc = 0;
}
## process linker response file for hip-clang
## extract object files from static library and pass them directly to
@@ -788,6 +798,17 @@ if ($needHipHcc) {
# pass-through CPP mode.
if ($HIP_PLATFORM eq "clang") {
# Set default optimization level to -O3 for hip-clang.
if ($optArg eq "") {
$HIPCXXFLAGS .= " -O3";
$HIPLDFLAGS .= " -O3";
}
$HIP_DEVLIB_FLAGS = " --hip-device-lib-path=$DEVICE_LIB_PATH";
if ($rdc eq 0) {
$HIPCXXFLAGS .= " $HIP_DEVLIB_FLAGS";
} else {
$HIPLDFLAGS .= " $HIP_DEVLIB_FLAGS";
}
if ($isWindows) {
$HIPCXXFLAGS .= " -std=c++14 -fms-extensions -fms-compatibility";
} else {