From 82c69c9a9dc0c4976b43fb6057cde89ee2f01588 Mon Sep 17 00:00:00 2001 From: Jesse Natalie Date: Mon, 4 Oct 2021 09:32:02 -0700 Subject: [PATCH] compiler/clc: Preserve OCL kernel arg type metadata on LLVM13 Reviewed-by: Lionel Landwerlin Part-of: --- src/compiler/clc/clc_helpers.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/compiler/clc/clc_helpers.cpp b/src/compiler/clc/clc_helpers.cpp index fc48146..c5b0f29 100644 --- a/src/compiler/clc/clc_helpers.cpp +++ b/src/compiler/clc/clc_helpers.cpp @@ -914,6 +914,11 @@ llvm_mod_to_spirv(std::unique_ptr<::llvm::Module> mod, } SPIRV::TranslatorOpts spirv_opts = SPIRV::TranslatorOpts(version, ext_map); +#if LLVM_VERSION_MAJOR >= 13 + /* This was the default in 12.0 and older, but currently we'll fail to parse without this */ + spirv_opts.setPreserveOCLKernelArgTypeMetadataThroughString(true); +#endif + std::ostringstream spv_stream; if (!::llvm::writeSpirv(mod.get(), spirv_opts, spv_stream, log)) { clc_error(logger, "%sTranslation from LLVM IR to SPIR-V failed.\n", -- 2.7.4