From 74996d53a1c2bdd348d45db621a3b94385ea755f Mon Sep 17 00:00:00 2001 From: foreman Date: Thu, 22 Nov 2018 18:27:11 -0500 Subject: [PATCH] P4 to Git Change 1710968 by gandryey@gera-ocl-lc on 2018/11/22 18:20:03 SWDEV-79445 - OCL generic changes and code clean-up - Fix compile erros with COMgr in Windows - Switch to different library interface to match the COMgr requirement Affected files ... ... //depot/stg/opencl/drivers/opencl/library/build/Makefile.library#70 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/devkernel.cpp#11 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/devprogram.cpp#15 edit --- rocclr/runtime/device/devkernel.cpp | 2 -- rocclr/runtime/device/devprogram.cpp | 19 +++++++++++-------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/rocclr/runtime/device/devkernel.cpp b/rocclr/runtime/device/devkernel.cpp index dc7b8284e4..638dfa6c3b 100644 --- a/rocclr/runtime/device/devkernel.cpp +++ b/rocclr/runtime/device/devkernel.cpp @@ -846,7 +846,6 @@ bool Kernel::GetKernelMetadata(const amd_comgr_metadata_node_t programMD, amd_comgr_metadata_node_t* kernelNode) { amd_comgr_status_t status; amd_comgr_metadata_node_t kernelsMD; - amd_comgr_metadata_kind_t kind; size_t size = 0; status = amd_comgr_metadata_lookup(programMD, "Kernels", &kernelsMD); @@ -856,7 +855,6 @@ bool Kernel::GetKernelMetadata(const amd_comgr_metadata_node_t programMD, bool kernelFound = false; for (size_t i = 0; i < size && !kernelFound && status == AMD_COMGR_STATUS_SUCCESS; i++) { - size_t nameSize; std::string kernelName; amd_comgr_metadata_node_t nameMeta; diff --git a/rocclr/runtime/device/devprogram.cpp b/rocclr/runtime/device/devprogram.cpp index 913668eeed..b1332b5c86 100644 --- a/rocclr/runtime/device/devprogram.cpp +++ b/rocclr/runtime/device/devprogram.cpp @@ -1221,7 +1221,6 @@ bool Program::linkImpl(amd::option::Options* options) { // ================================================================================================ #if defined(USE_COMGR_LIBRARY) bool Program::linkImplLC(amd::option::Options* options) { - acl_error errorCode; aclType continueCompileFrom = ACL_TYPE_LLVMIR_BINARY; internal_ = (compileOptions_.find("-cl-internal-kernel") != std::string::npos) ? @@ -1430,13 +1429,13 @@ bool Program::linkImplLC(amd::option::Options* options) { // open the control functions auto isa_version = get_oclc_isa_version(device().info().gfxipVersion_); - if (!isa_version.first) { + if (!std::get<1>(isa_version)) { buildLog_ += "Error: Linking for this device is not supported\n"; return false; } Data* isa_version_bc = - C->NewBufferReference(DT_LLVM_BC, (const char*)isa_version.first, isa_version.second); + C->NewBufferReference(DT_LLVM_BC, (const char*)std::get<1>(isa_version), std::get<2>(isa_version)); if (!isa_version_bc) { buildLog_ += "Error: Failed to open the control functions.\n"; @@ -1447,21 +1446,25 @@ bool Program::linkImplLC(amd::option::Options* options) { auto correctly_rounded_sqrt = get_oclc_correctly_rounded_sqrt(options->oVariables->FP32RoundDivideSqrt); - Data* correctly_rounded_sqrt_bc = C->NewBufferReference(DT_LLVM_BC, correctly_rounded_sqrt.first, - correctly_rounded_sqrt.second); + Data* correctly_rounded_sqrt_bc = C->NewBufferReference(DT_LLVM_BC, + reinterpret_cast(std::get<1>(correctly_rounded_sqrt)), + std::get<2>(correctly_rounded_sqrt)); auto daz_opt = get_oclc_daz_opt(options->oVariables->DenormsAreZero || AMD_GPU_FORCE_SINGLE_FP_DENORM == 0 || (device().info().gfxipVersion_ < 900 && AMD_GPU_FORCE_SINGLE_FP_DENORM < 0)); - Data* daz_opt_bc = C->NewBufferReference(DT_LLVM_BC, daz_opt.first, daz_opt.second); + Data* daz_opt_bc = C->NewBufferReference(DT_LLVM_BC, + reinterpret_cast(std::get<1>(daz_opt)), std::get<2>(daz_opt)); auto finite_only = get_oclc_finite_only(options->oVariables->FiniteMathOnly || options->oVariables->FastRelaxedMath); - Data* finite_only_bc = C->NewBufferReference(DT_LLVM_BC, finite_only.first, finite_only.second); + Data* finite_only_bc = C->NewBufferReference(DT_LLVM_BC, + reinterpret_cast(std::get<1>(finite_only)), std::get<2>(finite_only)); auto unsafe_math = get_oclc_unsafe_math(options->oVariables->UnsafeMathOpt || options->oVariables->FastRelaxedMath); - Data* unsafe_math_bc = C->NewBufferReference(DT_LLVM_BC, unsafe_math.first, unsafe_math.second); + Data* unsafe_math_bc = C->NewBufferReference(DT_LLVM_BC, + reinterpret_cast(std::get<1>(unsafe_math)), std::get<2>(unsafe_math)); if (!correctly_rounded_sqrt_bc || !daz_opt_bc || !finite_only_bc || !unsafe_math_bc) { buildLog_ += "Error: Failed to open the control functions.\n";