From 5b7a2bc281c7724b53307d380aa66058f5abcaba Mon Sep 17 00:00:00 2001
From: foreman
Date: Mon, 3 Dec 2018 14:54:31 -0500
Subject: [PATCH] P4 to Git Change 1715227 by wchau@wchau_OCL_boltzmann on
2018/12/03 14:41:05
SWDEV-79445 - OCL generic changes and code clean-up
- Modify CMakeLists.txt to switch to different library interface to match the COMgr requirement
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/CMakeLists.txt#16 edit
---
rocclr/runtime/device/rocm/CMakeLists.txt | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/rocclr/runtime/device/rocm/CMakeLists.txt b/rocclr/runtime/device/rocm/CMakeLists.txt
index 1d8194e251..017e242463 100644
--- a/rocclr/runtime/device/rocm/CMakeLists.txt
+++ b/rocclr/runtime/device/rocm/CMakeLists.txt
@@ -45,25 +45,29 @@ foreach(AMDGCN_LIB_TARGET ${AMDGCN_LIB_TARGETS})
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libraries.amdgcn.inc "#include \"${header}\"\n")
endforeach()
+# Generate function to select libraries for a given GFXIP number.
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libraries.amdgcn.inc
- "static inline std::pair\nget_oclc_isa_version(uint gfxip)\n{\nswitch (gfxip) {\n")
+ "static inline std::tuple get_oclc_isa_version(uint gfxip) { \
+ switch (gfxip) {\n")
foreach(AMDGCN_LIB_TARGET ${AMDGCN_LIB_TARGETS})
if (${AMDGCN_LIB_TARGET} MATCHES "^oclc_isa_version_[0-9]+_lib$")
string(REGEX REPLACE "^oclc_isa_version_([0-9]+)_lib$" "\\1" gfxip ${AMDGCN_LIB_TARGET})
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libraries.amdgcn.inc
- "case ${gfxip}: return {oclc_isa_version_${gfxip}_amdgcn, oclc_isa_version_${gfxip}_amdgcn_size}; break;\n")
+ "case ${gfxip}: return std::make_tuple( \"oclc_isa_version_${gfxip}_amdgcn.bc\","
+ " oclc_isa_version_${gfxip}_amdgcn, oclc_isa_version_${gfxip}_amdgcn_size); break;\n")
endif()
endforeach()
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libraries.amdgcn.inc
- "default: return {(const void*)0,(size_t)0};\n}\n}\n")
+ "default: return std::make_tuple(\"\",(const void*)0,(size_t)0); }\n}\n")
foreach(AMDGCN_LIB_TARGET ${AMDGCN_LIB_TARGETS})
if (${AMDGCN_LIB_TARGET} MATCHES "oclc_(.*)_on_lib")
string(REGEX REPLACE "oclc_(.*)_on_lib" "\\1" function ${AMDGCN_LIB_TARGET})
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libraries.amdgcn.inc
- "static inline std::pair get_oclc_${function}(bool on)\n{ return {"
- "(const char*)(on ? oclc_${function}_on_amdgcn : oclc_${function}_off_amdgcn),"
- "on ? oclc_${function}_on_amdgcn_size : oclc_${function}_off_amdgcn_size};}\n")
+ "static inline std::tuple get_oclc_${function}(bool on)"
+ " { return std::make_tuple( on ? \"oclc_${function}_on_lib.bc\" : \"oclc_${function}_off_lib.bc\","
+ " (const void*)(on ? oclc_${function}_on_amdgcn : oclc_${function}_off_amdgcn),"
+ " on ? oclc_${function}_on_amdgcn_size : oclc_${function}_off_amdgcn_size); }\n")
endif()
endforeach()