From d01bcf8747bb311111b85d6d0bb872308a6e6a02 Mon Sep 17 00:00:00 2001 From: Anuj Mittal Date: Tue, 6 Dec 2022 13:17:24 +0800 Subject: intel-graphics-compiler: upgrade 1.0.12149.1 -> 1.0.12812.9 Upgrade to the latest tag and backport 3 patches to fix build issues with LLVM 15 [1]. Remove IGC_OPTION__USE_KHRONOS_SPIRV_TRANSLATOR_IN_VC option as it has been removed upstream [2]. And, make sure CLANG_EXE points to clang in native sysroot. [1] https://github.com/intel/intel-graphics-compiler/issues/263 [2] https://github.com/intel/intel-graphics-compiler/commit/3fde0acae81b48b5225e1760e1feb9ae44ccdbb2 Signed-off-by: Anuj Mittal --- .../c707d1e2244aec988bdd5d2a7473ef3a32a5bac7.patch | 143 +++++++++++++++++++++ .../d1761dfc3ca6b54bac0ee213389a65f84d2aa9b7.patch | 77 +++++++++++ .../e09e752949e7af0231884d1b11ea907e3e8b1611.patch | 49 +++++++ .../igc/intel-graphics-compiler_1.0.12149.1.bb | 72 ----------- .../igc/intel-graphics-compiler_1.0.12812.9.bb | 76 +++++++++++ 5 files changed, 345 insertions(+), 72 deletions(-) create mode 100644 dynamic-layers/clang-layer/recipes-opencl/igc/files/c707d1e2244aec988bdd5d2a7473ef3a32a5bac7.patch create mode 100644 dynamic-layers/clang-layer/recipes-opencl/igc/files/d1761dfc3ca6b54bac0ee213389a65f84d2aa9b7.patch create mode 100644 dynamic-layers/clang-layer/recipes-opencl/igc/files/e09e752949e7af0231884d1b11ea907e3e8b1611.patch delete mode 100644 dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.12149.1.bb create mode 100644 dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.12812.9.bb diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/c707d1e2244aec988bdd5d2a7473ef3a32a5bac7.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/c707d1e2244aec988bdd5d2a7473ef3a32a5bac7.patch new file mode 100644 index 00000000..750a0494 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/c707d1e2244aec988bdd5d2a7473ef3a32a5bac7.patch @@ -0,0 +1,143 @@ +From c707d1e2244aec988bdd5d2a7473ef3a32a5bac7 Mon Sep 17 00:00:00 2001 +From: Artem Gindinson +Date: Thu, 17 Nov 2022 18:51:03 +0000 +Subject: [PATCH] Disable opaque pointers in IGC stack for LLVM 15+ + +While IGC is a long way from supporting opaque pointers, LLVM 15 has them +enabled by default. Enforce typed pointers explicitly within all LLVM +pipelines employed by our stack (unless CMake instructs otherwise). + +Upstream-Status: Backport +Signed-off-by: Anuj Mittal +--- + IGC/BiFModule/CMakeLists.txt | 4 ++-- + IGC/CMakeLists.txt | 4 ++++ + IGC/Compiler/CodeGenContext.cpp | 3 +++ + IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp | 4 ++++ + IGC/VectorCompiler/lib/BiF/CMakeLists.txt | 4 ++-- + IGC/cmake/igc_llvm.cmake | 24 +++++++++++++++++++++++ + 6 files changed, 39 insertions(+), 4 deletions(-) + +diff --git a/IGC/BiFModule/CMakeLists.txt b/IGC/BiFModule/CMakeLists.txt +index 60fc5cf8d7d..e87288ca6da 100644 +--- a/IGC/BiFModule/CMakeLists.txt ++++ b/IGC/BiFModule/CMakeLists.txt +@@ -251,7 +251,7 @@ function(igc_bif_build_bc) + add_custom_command( + OUTPUT "${_bcTempFilePath}" + COMMAND "${CMAKE_COMMAND}" -E compare_files ${BiFModule_PREBUILD_SHA_PATH} ${BiFModule_SRC_SHA_PATH} || "${CMAKE_COMMAND}" -E make_directory "${_outBcFileDir}" +- COMMAND "${CMAKE_COMMAND}" -E compare_files ${BiFModule_PREBUILD_SHA_PATH} ${BiFModule_SRC_SHA_PATH} || "$" -cc1 -x cl -fblocks -fpreserve-vec3-type -opencl-builtins "-triple=${_archTriple}" -w -emit-llvm-bc -o "${_bcTempFilePath}" ${_pchFlags} ${_incFileFlags} ${_includeDirsFlags} ${_defineFlags} ${_options_DEFAULT} ${_options_CL} "${_srcFilePath}" ++ COMMAND "${CMAKE_COMMAND}" -E compare_files ${BiFModule_PREBUILD_SHA_PATH} ${BiFModule_SRC_SHA_PATH} || "$" -cc1 ${IGC_LLVM_DEPENDENT_CLANG_FLAGS} -x cl -fblocks -fpreserve-vec3-type -opencl-builtins "-triple=${_archTriple}" -w -emit-llvm-bc -o "${_bcTempFilePath}" ${_pchFlags} ${_incFileFlags} ${_includeDirsFlags} ${_defineFlags} ${_options_DEFAULT} ${_options_CL} "${_srcFilePath}" + DEPENDS clang-tool ${_pchFilePath} ${_incFilePaths} "${_srcFilePath}" ${_dependencies} + COMMENT "BiF: \"${_outBcFileName}\": Compiling OpenCL source: \"${_srcFileName}\"" + ) +@@ -351,7 +351,7 @@ function(igc_bif_build_bc) + add_custom_command( + OUTPUT "${_bcTempFilePath}" + COMMAND "${CMAKE_COMMAND}" -E compare_files ${BiFModule_PREBUILD_SHA_PATH} ${BiFModule_SRC_SHA_PATH} || "${CMAKE_COMMAND}" -E make_directory "${_outBcFileDir}" +- COMMAND "${CMAKE_COMMAND}" -E compare_files ${BiFModule_PREBUILD_SHA_PATH} ${BiFModule_SRC_SHA_PATH} || "${bif-llvm-opt_exe}" -O2 -o "${_bcTempFilePath}" ${_options_DEFAULT} ${_options_OPT} ${_bcFiles} ++ COMMAND "${CMAKE_COMMAND}" -E compare_files ${BiFModule_PREBUILD_SHA_PATH} ${BiFModule_SRC_SHA_PATH} || "${bif-llvm-opt_exe}" -O2 -o "${_bcTempFilePath}" ${IGC_LLVM_DEPENDENT_OPT_ARGS} ${_options_DEFAULT} ${_options_OPT} ${_bcFiles} + DEPENDS ${_bcFiles} ${_dependencies} + COMMENT "BiF: \"${_outBcFileName}\": Optmizing output .bc." + ) +diff --git a/IGC/CMakeLists.txt b/IGC/CMakeLists.txt +index 930a552121c..66ea2a3b5ca 100644 +--- a/IGC/CMakeLists.txt ++++ b/IGC/CMakeLists.txt +@@ -275,6 +275,10 @@ endif() + # Remove this condition after transition period is over + option(IGC_OPTION__USE_KHRONOS_SPIRV_TRANSLATOR_IN_SC "[Experimental] Enable usage of Khronos SPIRV-LLVM-Translator in Scalar Compiler" OFF) + ++# TODO: Change this flag to opt-out or remove completely once ++# opaque pointers are fully supported within the IGC stack. ++option(IGC_OPTION__LLVM_OPAQUE_POINTERS_ENABLED "[Experimental] Allow usage of opaque pointers within LLVM transformations" OFF) ++ + option(IGC_OPTION__ENABLE_LIT_TESTS "Enable lit testing for IGC compiler. May require additional tools like llvm lit and opt" OFF) + + set(IGC_OPTION__BIF_SRC_OCL_DIR "${IGC_SOURCE_DIR}/BiFModule" +diff --git a/IGC/Compiler/CodeGenContext.cpp b/IGC/Compiler/CodeGenContext.cpp +index 4abd6e4bf4a..0058571cd27 100644 +--- a/IGC/Compiler/CodeGenContext.cpp ++++ b/IGC/Compiler/CodeGenContext.cpp +@@ -231,6 +231,9 @@ namespace IGC + { + CreateResourceDimensionTypes(*this); + } ++#ifdef __IGC_OPAQUE_POINTERS_FORCE_DISABLED__ ++ this->setOpaquePointers(false); ++#endif + } + + void LLVMContextWrapper::AddRef() +diff --git a/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp b/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp +index ef0e5cacd96..c26bfcea74c 100644 +--- a/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp ++++ b/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp +@@ -1494,6 +1494,10 @@ namespace TC + optionsEx += " -debug-info-kind=line-tables-only -dwarf-version=4"; + } + ++#ifdef __IGC_OPAQUE_POINTERS_FORCE_DISABLED__ ++ optionsEx += " -no-opaque-pointers"; ++#endif ++ + std::string extensionsFromInternalOptions = GetSubstring(pInternalOptions, "-cl-ext="); + + std::string extensions; +diff --git a/IGC/VectorCompiler/lib/BiF/CMakeLists.txt b/IGC/VectorCompiler/lib/BiF/CMakeLists.txt +index 3181a13403c..6235fc1d21e 100644 +--- a/IGC/VectorCompiler/lib/BiF/CMakeLists.txt ++++ b/IGC/VectorCompiler/lib/BiF/CMakeLists.txt +@@ -90,7 +90,7 @@ function(vc_build_bif RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE) + + add_custom_command(OUTPUT "${BIF_CLANG_BC_PATH}" + COMMAND clang-tool -cc1 ${CMCL_INCLUDES} ${VC_INCLUDES} ${UTILS_HEADERS} +- ${EXTRA_CLANG_INCLUDES} ${EXTRA_CLANG_FLAGS} ++ ${EXTRA_CLANG_INCLUDES} ${IGC_LLVM_DEPENDENT_CLANG_FLAGS} ${EXTRA_CLANG_FLAGS} + -x cl -cl-std=clc++ -triple=${SPIR_TARGET} + -O2 -disable-llvm-passes -emit-llvm-bc -o "${BIF_CLANG_BC_NAME}" ${CMCL_SRC} + COMMENT "vc_build_bif: Compiling CMCL source ${CMCL_SRC} to BC ${BIF_CLANG_BC_NAME}" +@@ -110,7 +110,7 @@ function(vc_build_bif RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE) + COMMENT "vc_build_bif: Translating CMCL builtins: ${BIF_CLANG_BC_NAME_FINAL} -> ${BIF_CMCL_BC_NAME}" + DEPENDS CMCLTranslatorTool ${BIF_CLANG_BC_PATH_FINAL}) + add_custom_command(OUTPUT ${BIF_OPT_BC_PATH} +- COMMAND ${LLVM_OPT_EXE} --O2 -o ${BIF_OPT_BC_NAME} ${BIF_CMCL_BC_NAME} ++ COMMAND ${LLVM_OPT_EXE} ${IGC_LLVM_DEPENDENT_OPT_FLAGS} --O2 -o ${BIF_OPT_BC_NAME} ${BIF_CMCL_BC_NAME} + COMMENT "vc_build_bif: running opt with O2: ${BIF_CMCL_BC_NAME} -> ${BIF_OPT_BC_NAME}" + DEPENDS opt ${BIF_CMCL_BC_PATH}) + set(${RES_FILE} ${BIF_OPT_BC_NAME} PARENT_SCOPE) +diff --git a/IGC/cmake/igc_llvm.cmake b/IGC/cmake/igc_llvm.cmake +index c0f74dcea14..96e3b0d1117 100644 +--- a/IGC/cmake/igc_llvm.cmake ++++ b/IGC/cmake/igc_llvm.cmake +@@ -69,6 +69,30 @@ list(TRANSFORM LLVM_INCLUDE_DIRS PREPEND "-I=" OUTPUT_VARIABLE LLVM_TABLEGEN_FLA + # Add major version definition for llvm wrapper. + add_compile_definitions(LLVM_VERSION_MAJOR=${LLVM_VERSION_MAJOR}) + ++set(IGC_LLVM_DEPENDENT_CLANG_FLAGS "") ++set(IGC_LLVM_DEPENDENT_OPT_FLAGS "") ++ ++# Disable the opaque pointers' usage explicitly, unless the block below deems that unnecessary ++set(IGC_OPAQUE_POINTERS_FORCE_DISABLED ON) ++if(IGC_OPTION__LLVM_OPAQUE_POINTERS_ENABLED) ++ if(LLVM_VERSION_MAJOR LESS 14) ++ message(WARNING "IGC_OPTION__LLVM_OPAQUE_POINTERS_ENABLED ignored: opaque pointers are not available prior to LLVM 14") ++ endif() ++ set(IGC_OPAQUE_POINTERS_FORCE_DISABLED OFF) ++elseif(LLVM_VERSION_MAJOR LESS 15) ++ # Opaque pointers are either absent (LLVM <14) or disabled by default. No need to force-disable ++ set(IGC_OPAQUE_POINTERS_FORCE_DISABLED OFF) ++endif(IGC_OPTION__LLVM_OPAQUE_POINTERS_ENABLED) ++ ++if(IGC_OPAQUE_POINTERS_FORCE_DISABLED) ++ # Once we've figured out that explicit disabling is needed, propagate ++ # corresponding options to all the in-tree calls of clang/opt tools. ++ list(APPEND IGC_LLVM_DEPENDENT_CLANG_FLAGS "-no-opaque-pointers") ++ list(APPEND IGC_LLVM_DEPENDENT_OPT_FLAGS "-opaque-pointers=0") ++ # Also inform the preprocessor. ++ add_compile_definitions(__IGC_OPAQUE_POINTERS_FORCE_DISABLED__) ++endif() ++ + # Include LLVM headers as system ones. + # This will disable warnings on linux. + include_directories(SYSTEM ${LLVM_INCLUDE_DIRS}) diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/d1761dfc3ca6b54bac0ee213389a65f84d2aa9b7.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/d1761dfc3ca6b54bac0ee213389a65f84d2aa9b7.patch new file mode 100644 index 00000000..a96be212 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/d1761dfc3ca6b54bac0ee213389a65f84d2aa9b7.patch @@ -0,0 +1,77 @@ +From d1761dfc3ca6b54bac0ee213389a65f84d2aa9b7 Mon Sep 17 00:00:00 2001 +From: Artem Gindinson +Date: Mon, 28 Nov 2022 14:33:44 +0000 +Subject: [PATCH] Explicitly cast pointers to `int` in BiFModule (LLVM 15) + +Starting from version 15, Clang defaults to +`-Werror=int-conversion`. Add explicit casts in OpenCL C builtins' +code where necessary for LLVM 15 buildability. + +Upstream-Status: Backport +Signed-off-by: Anuj Mittal + +--- + IGC/BiFModule/Implementation/group.cl | 4 ++-- + IGC/BiFModule/Languages/OpenCL/IBiF_Images.cl | 8 ++++---- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/IGC/BiFModule/Implementation/group.cl b/IGC/BiFModule/Implementation/group.cl +index dd6cfd6ba26..df9a2f64f4f 100644 +--- a/IGC/BiFModule/Implementation/group.cl ++++ b/IGC/BiFModule/Implementation/group.cl +@@ -1897,13 +1897,13 @@ void SPIRV_OVERLOADABLE SPIRV_BUILTIN(SubgroupImageBlockWriteINTEL, _img2d_wo_v2 + global Img2d_wo* image, int2 coord, TYPE data) \ + { \ + int id = (int)__builtin_astype(image, __global void*); \ +- INTERNAL_FUNC(image, coord, data); \ ++ INTERNAL_FUNC((int)image, coord, data); \ + } \ + void SPIRV_OVERLOADABLE SPIRV_BUILTIN(SubgroupImageBlockWriteINTEL, _img2d_rw_v2i32_##TYPE_ABBR, )( \ + global Img2d_rw* image, int2 coord, TYPE data) \ + { \ + int id = (int)__builtin_astype(image, __global void*); \ +- INTERNAL_FUNC(image, coord, data); \ ++ INTERNAL_FUNC((int)image, coord, data); \ + } + + #ifdef cl_intel_subgroups_char +diff --git a/IGC/BiFModule/Languages/OpenCL/IBiF_Images.cl b/IGC/BiFModule/Languages/OpenCL/IBiF_Images.cl +index 062b4f3f49f..1d9d158e9c5 100644 +--- a/IGC/BiFModule/Languages/OpenCL/IBiF_Images.cl ++++ b/IGC/BiFModule/Languages/OpenCL/IBiF_Images.cl +@@ -379,7 +379,7 @@ INLINE int4 OVERLOADABLE read_imagei(read_only image1d_array_t image_array, samp + + INLINE uint4 OVERLOADABLE read_imageui(read_only image1d_array_t image_array, sampler_t sampler, int2 coords) { + int id = (int)__builtin_astype(image_array, __global void*); +- int IDimage_array = __builtin_astype(image_array, __global void*); ++ int IDimage_array = (int)__builtin_astype(image_array, __global void*); + int dt = __builtin_IB_get_image_array_size(IDimage_array); + float layer = clamp(rint((float)coords.y), 0.0f, (float)(--dt)); + if ((__builtin_IB_get_address_mode(__builtin_IB_convert_sampler_to_int(sampler)) & 0x07) == CLK_ADDRESS_CLAMP_TO_EDGE) +@@ -395,7 +395,7 @@ INLINE uint4 OVERLOADABLE read_imageui(read_only image1d_array_t image_array, sa + + INLINE uint4 OVERLOADABLE read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coords) { + int id = (int)__builtin_astype(image_array, __global void*); +- int IDimage_array = __builtin_astype(image_array, __global void*); ++ int IDimage_array = (int)__builtin_astype(image_array, __global void*); + int dt = __builtin_IB_get_image_array_size(IDimage_array); + float layer = clamp(rint(coords.y), 0.0f, (float)(--dt)); + if ((__builtin_IB_get_address_mode(__builtin_IB_convert_sampler_to_int(sampler)) & 0x07) == CLK_ADDRESS_CLAMP) +@@ -581,7 +581,7 @@ INLINE int4 OVERLOADABLE read_imagei(read_only image2d_array_t image_array, samp + + INLINE uint4 OVERLOADABLE read_imageui(read_only image2d_array_t image_array, sampler_t sampler, int4 coords) { + int id = (int)__builtin_astype(image_array, __global void*); +- int IDimage_array = __builtin_astype(image_array, __global void*); ++ int IDimage_array = (int)__builtin_astype(image_array, __global void*); + int dt = __builtin_IB_get_image_array_size(IDimage_array); + float layer = clamp(rint((float)coords.z), 0.0f, (float)(--dt)); + if ((__builtin_IB_get_address_mode(__builtin_IB_convert_sampler_to_int(sampler)) & 0x07) == CLK_ADDRESS_CLAMP_TO_EDGE) +@@ -597,7 +597,7 @@ INLINE uint4 OVERLOADABLE read_imageui(read_only image2d_array_t image_array, sa + + INLINE uint4 OVERLOADABLE read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coords) { + int id = (int)__builtin_astype(image_array, __global void*); +- int IDimage_array = __builtin_astype(image_array, __global void*); ++ int IDimage_array = (int)__builtin_astype(image_array, __global void*); + int dt = __builtin_IB_get_image_array_size(IDimage_array); + float layer = clamp(rint(coords.z), 0.0f, (float)(--dt)); + if ((__builtin_IB_get_address_mode(__builtin_IB_convert_sampler_to_int(sampler)) & 0x07) == CLK_ADDRESS_CLAMP) diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/e09e752949e7af0231884d1b11ea907e3e8b1611.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/e09e752949e7af0231884d1b11ea907e3e8b1611.patch new file mode 100644 index 00000000..55cb2a7d --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/e09e752949e7af0231884d1b11ea907e3e8b1611.patch @@ -0,0 +1,49 @@ +From e09e752949e7af0231884d1b11ea907e3e8b1611 Mon Sep 17 00:00:00 2001 +From: Artem Gindinson +Date: Fri, 18 Nov 2022 14:48:45 +0000 +Subject: [PATCH] Additional VC fix of pointer element type API usage + +Quick fixup to the LLVM 15 buildability in the footsteps of commit +intel/intel-graphics-compiler@b86c1bf. + +Upstream-Status: Backport +Signed-off-by: Anuj Mittal + +--- + IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp b/IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp +index 363d622c24c..c047c545ac8 100644 +--- a/IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp ++++ b/IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp +@@ -748,12 +748,12 @@ void GenXPredToSimdCF::insertIfGoto(SimdCFIfRegion &R) { + Mask->getName() + ".not"); + Value *EM = getEM(M); + Instruction *OldGotoEM = +- Builder.CreateLoad(EM->getType()->getPointerElementType(), EM, ++ Builder.CreateLoad(IGCLLVM::getNonOpaquePtrEltTy(EM->getType()), EM, + false /*isVolatile*/, EM->getName()); + OldGotoEM->setDebugLoc(DL); + Value *GotoRMAddr = getRMAddr(Br->getSuccessor(0), SimdWidth); + Instruction *OldGotoRM = Builder.CreateLoad( +- GotoRMAddr->getType()->getPointerElementType(), GotoRMAddr, ++ IGCLLVM::getNonOpaquePtrEltTy(GotoRMAddr->getType()), GotoRMAddr, + false /*isVolatile*/, GotoRMAddr->getName()); + OldGotoRM->setDebugLoc(DL); + Type *GotoTys[] = {OldGotoEM->getType(), OldGotoRM->getType()}; +@@ -798,12 +798,12 @@ void GenXPredToSimdCF::insertIfGoto(SimdCFIfRegion &R) { + AfterThens[&R] = AfterThen; + + Builder.SetInsertPoint(AfterThen, AfterThen->begin()); +- auto *OldEM = Builder.CreateLoad(EM->getType()->getPointerElementType(), EM, ++ auto *OldEM = Builder.CreateLoad(IGCLLVM::getNonOpaquePtrEltTy(EM->getType()), EM, + false /*isVolatile*/, EM->getName()); + OldEM->setDebugLoc(DL); + auto *RMAddr = getRMAddr(Br->getSuccessor(0), SimdWidth); + auto *RM = +- Builder.CreateLoad(RMAddr->getType()->getPointerElementType(), RMAddr, ++ Builder.CreateLoad(IGCLLVM::getNonOpaquePtrEltTy(RMAddr->getType()), RMAddr, + false /*isVolatile*/, RMAddr->getName()); + RM->setDebugLoc(DL); + Type *Tys[] = {OldEM->getType(), RM->getType()}; diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.12149.1.bb b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.12149.1.bb deleted file mode 100644 index ed9b47cb..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.12149.1.bb +++ /dev/null @@ -1,72 +0,0 @@ -SUMMARY = "The Intel(R) Graphics Compiler for OpenCL(TM)" -DESCRIPTION = "The Intel(R) Graphics Compiler for OpenCL(TM) is an \ -llvm based compiler for OpenCL(TM) targeting Intel Gen graphics \ -hardware architecture." - -LICENSE = "MIT & Apache-2.0" -LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc/LICENSE.TXT;md5=311cfc1a5b54bab8ed34a0b5fba4373e \ - file://LICENSE.md;md5=488d74376edf2765f6e78d271543dde3 \ - file://NOTICES.txt;md5=7f4fbc3eb2c34807465e63b1ec3c9d1a" - -SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https;name=igc;branch=releases/igc-1.0.12149 \ - git://github.com/intel/vc-intrinsics.git;protocol=https;destsuffix=git/vc-intrinsics;name=vc;nobranch=1 \ - git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=SPIRV-Tools;name=spirv-tools;branch=sdk-1.3.204 \ - git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=SPIRV-Headers;name=spirv-headers;branch=master \ - file://0003-Improve-Reproducibility-for-src-package.patch \ - file://0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch \ - " - -SRC_URI:append:class-native = " file://0001-fix-tblgen.patch" - -SRCREV_igc = "a3d06ca6798d1c70bb0bf274695ac74ce0532ae4" -SRCREV_vc = "984bb27baacce6ee5c716c2e64845f2a1928025b" -SRCREV_spirv-tools = "45dd184c790d6bfc78a5a74a10c37e888b1823fa" -SRCREV_spirv-headers = "b42ba6d92faf6b4938e6f22ddd186dbdacc98d78" - -SRCREV_FORMAT = "igc_vc_spirv-tools_spirv-headers" - -# Used to replace with relative path in reproducibility patch -export B - -S = "${WORKDIR}/git" - -inherit cmake pkgconfig - -CXXFLAGS:append = " -Wno-error=nonnull" - -COMPATIBLE_HOST = '(x86_64).*-linux' -COMPATIBLE_HOST:libc-musl = "null" - -DEPENDS += " flex-native bison-native clang opencl-clang" -DEPENDS:append:class-target = " clang-cross-x86_64 intel-graphics-compiler-native" - -RDEPENDS:${PN} += "opencl-clang" - -PACKAGECONFIG ??= "vc" -PACKAGECONFIG[vc] = "-DIGC_BUILD__VC_ENABLED=ON -DIGC_OPTION__LINK_KHRONOS_SPIRV_TRANSLATOR=ON -DIGC_OPTION__USE_KHRONOS_SPIRV_TRANSLATOR_IN_VC=ON -DIGC_OPTION__SPIRV_TRANSLATOR_MODE=Prebuilds,-DIGC_BUILD__VC_ENABLED=OFF," - -EXTRA_OECMAKE = " \ - -DIGC_OPTION__LLVM_PREFERRED_VERSION=${LLVMVERSION} \ - -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \ - -DVC_INTRINSICS_SRC="${S}/vc-intrinsics" \ - -DIGC_OPTION__LLVM_MODE=Prebuilds \ - -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ - -DLLVM_LINK_EXE=${STAGING_BINDIR_NATIVE}/llvm-link \ - " - -do_install:append:class-native () { - install -d ${D}${bindir} - install ${B}/IGC/Release/elf_packager ${D}${bindir}/ - if ${@bb.utils.contains('PACKAGECONFIG', 'vc', 'true', 'false', d)}; then - install ${B}/IGC/Release/CMCLTranslatorTool ${D}${bindir}/ - install ${B}/IGC/Release/vcb ${D}${bindir}/ - fi -} - -BBCLASSEXTEND = "native nativesdk" - -UPSTREAM_CHECK_GITTAGREGEX = "^igc-(?P(?!19\..*)\d+(\.\d+)+)$" - -FILES:${PN} += " \ - ${libdir}/igc/NOTICES.txt \ - " diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.12812.9.bb b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.12812.9.bb new file mode 100644 index 00000000..4cfe7133 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.12812.9.bb @@ -0,0 +1,76 @@ +SUMMARY = "The Intel(R) Graphics Compiler for OpenCL(TM)" +DESCRIPTION = "The Intel(R) Graphics Compiler for OpenCL(TM) is an \ +llvm based compiler for OpenCL(TM) targeting Intel Gen graphics \ +hardware architecture." + +LICENSE = "MIT & Apache-2.0" +LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc/LICENSE.TXT;md5=311cfc1a5b54bab8ed34a0b5fba4373e \ + file://LICENSE.md;md5=488d74376edf2765f6e78d271543dde3 \ + file://NOTICES.txt;md5=7f4fbc3eb2c34807465e63b1ec3c9d1a" + +SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https;name=igc;branch=releases/igc-1.0.12812 \ + git://github.com/intel/vc-intrinsics.git;protocol=https;destsuffix=git/vc-intrinsics;name=vc;nobranch=1 \ + git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=SPIRV-Tools;name=spirv-tools;branch=sdk-1.3.204 \ + git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=SPIRV-Headers;name=spirv-headers;branch=master \ + file://0003-Improve-Reproducibility-for-src-package.patch \ + file://0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch \ + file://c707d1e2244aec988bdd5d2a7473ef3a32a5bac7.patch \ + file://d1761dfc3ca6b54bac0ee213389a65f84d2aa9b7.patch \ + file://e09e752949e7af0231884d1b11ea907e3e8b1611.patch \ + " + +SRC_URI:append:class-native = " file://0001-fix-tblgen.patch" + +SRCREV_igc = "17eb3abbaa68a238f63d5d549e0a46cfeb71af80" +SRCREV_vc = "dafb9926e5047a052ef5263dd4ec4fe5f178e5e0" +SRCREV_spirv-tools = "45dd184c790d6bfc78a5a74a10c37e888b1823fa" +SRCREV_spirv-headers = "b42ba6d92faf6b4938e6f22ddd186dbdacc98d78" + +SRCREV_FORMAT = "igc_vc_spirv-tools_spirv-headers" + +# Used to replace with relative path in reproducibility patch +export B + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig + +CXXFLAGS:append = " -Wno-error=nonnull" + +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST:libc-musl = "null" + +DEPENDS += " flex-native bison-native clang opencl-clang" +DEPENDS:append:class-target = " clang-cross-x86_64 intel-graphics-compiler-native" + +RDEPENDS:${PN} += "opencl-clang" + +PACKAGECONFIG ??= "vc" +PACKAGECONFIG[vc] = "-DIGC_BUILD__VC_ENABLED=ON -DIGC_OPTION__LINK_KHRONOS_SPIRV_TRANSLATOR=ON -DIGC_OPTION__SPIRV_TRANSLATOR_MODE=Prebuilds,-DIGC_BUILD__VC_ENABLED=OFF," + +EXTRA_OECMAKE = " \ + -DIGC_OPTION__LLVM_PREFERRED_VERSION=${LLVMVERSION} \ + -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \ + -DVC_INTRINSICS_SRC="${S}/vc-intrinsics" \ + -DIGC_OPTION__LLVM_MODE=Prebuilds \ + -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ + -DLLVM_LINK_EXE=${STAGING_BINDIR_NATIVE}/llvm-link \ + -DCLANG_EXE=${STAGING_BINDIR_NATIVE}/clang \ + " + +do_install:append:class-native () { + install -d ${D}${bindir} + install ${B}/IGC/Release/elf_packager ${D}${bindir}/ + if ${@bb.utils.contains('PACKAGECONFIG', 'vc', 'true', 'false', d)}; then + install ${B}/IGC/Release/CMCLTranslatorTool ${D}${bindir}/ + install ${B}/IGC/Release/vcb ${D}${bindir}/ + fi +} + +BBCLASSEXTEND = "native nativesdk" + +UPSTREAM_CHECK_GITTAGREGEX = "^igc-(?P(?!19\..*)\d+(\.\d+)+)$" + +FILES:${PN} += " \ + ${libdir}/igc/NOTICES.txt \ + " -- cgit v1.2.3-54-g00ecf