From 90271b9b759c296ebc9b51a4e750462942d48448 Mon Sep 17 00:00:00 2001 From: foreman Date: Wed, 10 Apr 2019 22:15:35 -0400 Subject: [PATCH] P4 to Git Change 1768245 by wchau@wchau_OCL_Linux on 2019/04/10 22:01:33 SWDEV-165259 - Update OpenCL runtime to support MsgPack metadata - Fixed the missing support of Printf for CO v3 - Added back the flag to disable CO v3 for the non-COMGR environment Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/devkernel.cpp#20 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/devprogram.cpp#40 edit --- rocclr/runtime/device/devkernel.cpp | 3 ++- rocclr/runtime/device/devprogram.cpp | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/rocclr/runtime/device/devkernel.cpp b/rocclr/runtime/device/devkernel.cpp index 761610a12e..ff3c8b4f31 100644 --- a/rocclr/runtime/device/devkernel.cpp +++ b/rocclr/runtime/device/devkernel.cpp @@ -1386,7 +1386,8 @@ bool Kernel::GetPrintfStr(const amd_comgr_metadata_node_t programMD, amd_comgr_metadata_node_t printfMeta; - amd_comgr_status_t status = amd::Comgr::metadata_lookup(programMD, "Printf", &printfMeta); + amd_comgr_status_t status = amd::Comgr::metadata_lookup(programMD, + codeObjectVer() == 2 ? "Printf" : "amdhsa.printf", &printfMeta); if (status != AMD_COMGR_STATUS_SUCCESS) { return true; // printf string metadata is not provided so just exit } diff --git a/rocclr/runtime/device/devprogram.cpp b/rocclr/runtime/device/devprogram.cpp index f40ae71adb..47a6662e22 100644 --- a/rocclr/runtime/device/devprogram.cpp +++ b/rocclr/runtime/device/devprogram.cpp @@ -1760,6 +1760,8 @@ bool Program::linkImplLC(amd::option::Options* options) { std::ostream_iterator(ostrstr, " ")); codegenOptions.append(" ").append(ostrstr.str()); + // Force object code v2. + codegenOptions.append(" -mno-code-object-v3"); // Set whole program mode codegenOptions.append(" -mllvm -amdgpu-internalize-symbols -mllvm -amdgpu-early-inline-all");