P4 to Git Change 1516121 by emankov@em-hsa on 2018/02/14 13:29:20

SWDEV-143465 - Stop building static C++ kernels on CI+

	Changed stack logic:
	1. Stop supporting AMDIL on CI+ devices: "AMDIL doesn't support device ..." will be reported.
	2. Stop handling OpenCL extension options in RT: if "-x spir" or "-x clc++" option is specified, it wouldn't force legacy AMDIL compiler anymore.
	3. Start reporting error on "-legacy" option in HSAIL compiler. If we reach HSAIL compiler, then it means that there are conflicting options. Report them all, possible options are: -frontend=edg, -cl-std=CL2.0 (>= 2.0),  -binary_is_spirv.

	Already submitted changes in stack logic:
	1. Start reporting error for SI devices on HSAIL path.
	2. Start handling OpenCL extension options on HSAIL path: report error on "-x spir" or "-x clc++" options.

	[Testing]
	rga offline for all the targets supported by HSAIL and AMDIL (from Family_SI up to Family_VI):
	tahiti, pitcairn, capeverde, spectre, spooky, kalindi, hawaii, oland, bonaire, hainan, carrizo, iceland, tonga, fiji, stoney, baffin, ellesmere.

	[Reviewed] by German and Stas (http://ocltc.amd.com/reviews/r/14270)

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/common/v0_8/if_acl.cpp#9 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#97 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#582 edit
This commit is contained in:
foreman
2018-02-14 13:36:18 -05:00
rodzic 45f6857022
commit 9a85405b0b
2 zmienionych plików z 37 dodań i 13 usunięć
+1 -6
Wyświetl plik
@@ -242,7 +242,6 @@ bool NullDevice::isHsailProgram(amd::option::Options* options) {
bool isHSAILcapable = settings().hsail_;
bool isBlit = false;
bool isSPIRV = false;
bool isLangExt = false;
bool isClang = false;
bool isEDG = false;
bool isLegacy = false;
@@ -270,10 +269,6 @@ bool NullDevice::isHsailProgram(amd::option::Options* options) {
if (!isLegacy) {
isLegacy = op->oVariables->Legacy;
}
if (!isLangExt) {
isLangExt = op->isCStrOptionsEqual(op->oVariables->XLang, "clc++") ||
op->isCStrOptionsEqual(op->oVariables->XLang, "spir");
}
// Checks Frontend option only from input *options, not from Env,
// because they might be only calculated by RT based on the binaries to link.
// -frontend is being queried now instead of -cl-std=CL2.0, because the last one
@@ -296,7 +291,7 @@ bool NullDevice::isHsailProgram(amd::option::Options* options) {
if (isSPIRV || (isBlit && isCIPlus && isHSAILcapable) || isClang || isOCL20) {
return true;
}
if (isLegacy || !isHSAILcapable || isEDG || isLangExt) {
if (isLegacy || !isHSAILcapable || isEDG) {
return false;
}
return true;