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: a1009a5d11]
此提交包含在:
@@ -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<std::string> sit(istrstr), end;
|
||||
std::vector<std::string> params(sit, end);
|
||||
|
||||
|
||||
@@ -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<std::string> sit(strstr), end;
|
||||
std::vector<std::string> 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");
|
||||
}
|
||||
|
||||
新增問題並參考
封鎖使用者