From 89175ce61b6ecb72422be197f55ba4ac100eee25 Mon Sep 17 00:00:00 2001
From: foreman
Date: Mon, 12 Sep 2016 23:23:59 -0500
Subject: [PATCH] P4 to Git Change 1313578 by lmoriche@lmoriche_opencl_dev on
2016/09/13 00:14:36
SWDEV-94610 - Target features are only needed in the CL->IR stage. The attributes remain on the function, so they should not be set again in the IR->ISA stage.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/roccompiler.cpp#16 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#34 edit
[ROCm/clr commit: a1009a5d110bb773876e1e01d4297c627a25239e]
---
.../clr/rocclr/runtime/device/rocm/roccompiler.cpp | 10 +++++++++-
.../clr/rocclr/runtime/device/rocm/rocprogram.cpp | 11 ++---------
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/projects/clr/rocclr/runtime/device/rocm/roccompiler.cpp b/projects/clr/rocclr/runtime/device/rocm/roccompiler.cpp
index e29adf0333..c094e473c9 100644
--- a/projects/clr/rocclr/runtime/device/rocm/roccompiler.cpp
+++ b/projects/clr/rocclr/runtime/device/rocm/roccompiler.cpp
@@ -196,8 +196,16 @@ HSAILProgram::compileImpl_LC(
return false;
}
+ // Set fp32-denormals and fp64-denormals
+ bool fp32Denormals = !options->oVariables->DenormsAreZero
+ && dev().deviceInfo().gfxipVersion_ >= 900;
+
+ driverOptions.append(" -Xclang -target-feature -Xclang ");
+ driverOptions.append(fp32Denormals ? "+" : "-")
+ .append("fp32-denormals,+fp64-denormals");
+
// Tokenize the options string into a vector of strings
- std::istringstream istrstr(driverOptions + codegenOptions(options));
+ std::istringstream istrstr(driverOptions);
std::istream_iterator sit(istrstr), end;
std::vector params(sit, end);
diff --git a/projects/clr/rocclr/runtime/device/rocm/rocprogram.cpp b/projects/clr/rocclr/runtime/device/rocm/rocprogram.cpp
index 0ad5db81d1..8347e0b44a 100644
--- a/projects/clr/rocclr/runtime/device/rocm/rocprogram.cpp
+++ b/projects/clr/rocclr/runtime/device/rocm/rocprogram.cpp
@@ -914,7 +914,7 @@ HSAILProgram::linkImpl_LC(amd::option::Options *options)
codegenOptions.append(" ").append(optLevel.str());
// Tokenize the options string into a vector of strings
- std::istringstream strstr(codegenOptions + this->codegenOptions(options));
+ std::istringstream strstr(codegenOptions);
std::istream_iterator sit(strstr), end;
std::vector params(sit, end);
@@ -1438,14 +1438,7 @@ HSAILProgram::codegenOptions(amd::option::Options* options)
{
std::string optionsStr;
-#if defined(WITH_LIGHTNING_COMPILER)
- bool fp32Denormals = !options->oVariables->DenormsAreZero
- && dev().deviceInfo().gfxipVersion_ >= 900;
-
- optionsStr.append(" -Xclang -target-feature -Xclang ");
- optionsStr.append(fp32Denormals ? "+" : "-")
- .append("fp32-denormals,+fp64-denormals");
-#else // !defined(WITH_LIGHTNING_COMPILER)
+#if !defined(WITH_LIGHTNING_COMPILER)
if (dev().deviceInfo().gfxipVersion_ < 900) {
optionsStr.append(" -cl-denorms-are-zero");
}