From 37849a0726abe90bedadf374a5b406ba2226795c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Manuel=20MARTINEZ=20CAAMA=C3=91O?= Date: Tue, 14 Mar 2023 18:01:05 +0100 Subject: [PATCH] SWDEV-286150 - [NFC] Refactor setLanguage method into a static function called getCOMGRLanguage * Return the result by value and not through a pointer passed by parameter Change-Id: I8f872c95c4a330bebe299d486fb73f36660b469c --- rocclr/device/devprogram.cpp | 46 +++++++++++++++--------------------- rocclr/device/devprogram.hpp | 3 --- 2 files changed, 19 insertions(+), 30 deletions(-) diff --git a/rocclr/device/devprogram.cpp b/rocclr/device/devprogram.cpp index f1a2cb2e04..4a2145c56c 100644 --- a/rocclr/device/devprogram.cpp +++ b/rocclr/device/devprogram.cpp @@ -280,31 +280,29 @@ amd_comgr_status_t Program::addCodeObjData(const char *source, return status; } -void Program::setLanguage(const char* clStd, amd_comgr_language_t* langver) { +static amd_comgr_language_t getCOMGRLanguage(bool isHIP, const amd::option::Options &amdOptions) { - if (isHIP()) { - if (langver != nullptr) { - *langver = AMD_COMGR_LANGUAGE_HIP; - } + if (isHIP) { + return AMD_COMGR_LANGUAGE_HIP; } else { + const char* clStd = amdOptions.oVariables->CLStd; uint clcStd = (clStd[2] - '0') * 100 + (clStd[4] - '0') * 10; - if (langver != nullptr) { - switch (clcStd) { - case 100: - case 110: - case 120: - *langver = AMD_COMGR_LANGUAGE_OPENCL_1_2; - break; - case 200: - *langver = AMD_COMGR_LANGUAGE_OPENCL_2_0; - break; - default: - *langver = AMD_COMGR_LANGUAGE_NONE; - break; - } + switch (clcStd) { + case 100: + case 110: + case 120: + return AMD_COMGR_LANGUAGE_OPENCL_1_2; + case 200: + return AMD_COMGR_LANGUAGE_OPENCL_2_0; + default: + break; } } + + DevLogPrintfError("Cannot set Language version for %s \n", + amdOptions.oVariables->CLStd); + return AMD_COMGR_LANGUAGE_NONE; } @@ -348,11 +346,8 @@ bool Program::linkLLVMBitcode(const amd_comgr_data_set_t inputs, amd::option::Options* amdOptions, amd_comgr_data_set_t* output, char* binaryData[], size_t* binarySize, const bool link_dev_libs) { - amd_comgr_language_t langver; - setLanguage(amdOptions->oVariables->CLStd, &langver); + amd_comgr_language_t langver = getCOMGRLanguage(isHIP(), *amdOptions); if (langver == AMD_COMGR_LANGUAGE_NONE) { - DevLogPrintfError("Cannot set Language version for %s \n", - amdOptions->oVariables->CLStd); return false; } @@ -408,11 +403,8 @@ bool Program::compileToLLVMBitcode(const amd_comgr_data_set_t compileInputs, amd::option::Options* amdOptions, char* binaryData[], size_t* binarySize) { - amd_comgr_language_t langver; - setLanguage(amdOptions->oVariables->CLStd, &langver); + amd_comgr_language_t langver = getCOMGRLanguage(isHIP(), *amdOptions); if (langver == AMD_COMGR_LANGUAGE_NONE) { - DevLogPrintfError("Cannot set Language version for %s \n", - amdOptions->oVariables->CLStd); return false; } diff --git a/rocclr/device/devprogram.hpp b/rocclr/device/devprogram.hpp index 3bf0679a5c..b326974977 100644 --- a/rocclr/device/devprogram.hpp +++ b/rocclr/device/devprogram.hpp @@ -435,9 +435,6 @@ class Program : public amd::HeapObject { const amd_comgr_data_kind_t dataKind, const std::string& outFileName, char* outBinary[] = nullptr, size_t* outSize = nullptr); - //! Set the OCL language - void setLanguage(const char* clStd, amd_comgr_language_t* langver); - //! Create code object and add it into the data set amd_comgr_status_t addCodeObjData(const char *source, const size_t size, const amd_comgr_data_kind_t type,