diff options
Diffstat (limited to 'dynamic-layers/clang-layer')
9 files changed, 16 insertions, 325 deletions
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch index 0dd75537..9ec48819 100644 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 16fb6c022380bbb3c48f21372fcb1da7f30d3903 Mon Sep 17 00:00:00 2001 | 1 | From 9abd198b13d4764ee2e34b385ac20fc11a56d8f3 Mon Sep 17 00:00:00 2001 |
2 | From: Anuj Mittal <anuj.mittal@intel.com> | 2 | From: Anuj Mittal <anuj.mittal@intel.com> |
3 | Date: Tue, 12 Oct 2021 23:46:42 +0800 | 3 | Date: Tue, 12 Oct 2021 23:46:42 +0800 |
4 | Subject: [PATCH] BiF/CMakeLists.txt: remove opt from DEPENDS | 4 | Subject: [PATCH] BiF/CMakeLists.txt: remove opt from DEPENDS |
@@ -13,23 +13,21 @@ using prebuilt binaries. | |||
13 | Upstream-Status: Inappropriate | 13 | Upstream-Status: Inappropriate |
14 | 14 | ||
15 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | 15 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> |
16 | |||
16 | --- | 17 | --- |
17 | IGC/VectorCompiler/lib/BiF/CMakeLists.txt | 2 +- | 18 | IGC/VectorCompiler/lib/BiF/CMakeLists.txt | 2 +- |
18 | 1 file changed, 1 insertion(+), 1 deletion(-) | 19 | 1 file changed, 1 insertion(+), 1 deletion(-) |
19 | 20 | ||
20 | diff --git a/IGC/VectorCompiler/lib/BiF/CMakeLists.txt b/IGC/VectorCompiler/lib/BiF/CMakeLists.txt | 21 | diff --git a/IGC/VectorCompiler/lib/BiF/CMakeLists.txt b/IGC/VectorCompiler/lib/BiF/CMakeLists.txt |
21 | index be8e5557e..07ab40382 100644 | 22 | index c439f334a..756cc84c3 100644 |
22 | --- a/IGC/VectorCompiler/lib/BiF/CMakeLists.txt | 23 | --- a/IGC/VectorCompiler/lib/BiF/CMakeLists.txt |
23 | +++ b/IGC/VectorCompiler/lib/BiF/CMakeLists.txt | 24 | +++ b/IGC/VectorCompiler/lib/BiF/CMakeLists.txt |
24 | @@ -112,7 +112,7 @@ function(vc_build_bif RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE) | 25 | @@ -112,7 +112,7 @@ function(vc_build_bif RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE) |
25 | add_custom_command(OUTPUT ${BIF_OPT_BC_PATH} | 26 | add_custom_command(OUTPUT ${BIF_OPT_BC_PATH} |
26 | COMMAND ${LLVM_OPT_EXE} --O2 -o ${BIF_OPT_BC_NAME} ${BIF_CMCL_BC_NAME} | 27 | COMMAND ${LLVM_OPT_EXE} ${IGC_LLVM_DEPENDENT_OPT_FLAGS} --O2 -o ${BIF_OPT_BC_NAME} ${BIF_CMCL_BC_NAME} |
27 | COMMENT "vc_build_bif: running opt with O2: ${BIF_CMCL_BC_NAME} -> ${BIF_OPT_BC_NAME}" | 28 | COMMENT "vc_build_bif: running opt with O2: ${BIF_CMCL_BC_NAME} -> ${BIF_OPT_BC_NAME}" |
28 | - DEPENDS opt ${BIF_CMCL_BC_PATH}) | 29 | - DEPENDS opt ${BIF_CMCL_BC_PATH}) |
29 | + DEPENDS ${BIF_CMCL_BC_PATH}) | 30 | + DEPENDS ${BIF_CMCL_BC_PATH}) |
30 | set(${RES_FILE} ${BIF_OPT_BC_NAME} PARENT_SCOPE) | 31 | set(${RES_FILE} ${BIF_OPT_BC_NAME} PARENT_SCOPE) |
31 | endfunction() | 32 | endfunction() |
32 | 33 | ||
33 | -- | ||
34 | 2.35.3 | ||
35 | |||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch index 79d70d3e..dca75e22 100644 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 776692307258f273d54b81c00701a0ad01c9f4e4 Mon Sep 17 00:00:00 2001 | 1 | From e69a3181482e5f442756a61c7b683914072884f1 Mon Sep 17 00:00:00 2001 |
2 | From: Anuj Mittal <anuj.mittal@intel.com> | 2 | From: Anuj Mittal <anuj.mittal@intel.com> |
3 | Date: Mon, 9 Jan 2023 11:43:05 +0800 | 3 | Date: Mon, 9 Jan 2023 11:43:05 +0800 |
4 | Subject: [PATCH] external/SPIRV-Tools: change path to tools and headers | 4 | Subject: [PATCH] external/SPIRV-Tools: change path to tools and headers |
@@ -9,15 +9,16 @@ file path substitutions take place. | |||
9 | Upstream-Status: Inappropriate | 9 | Upstream-Status: Inappropriate |
10 | 10 | ||
11 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | 11 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> |
12 | |||
12 | --- | 13 | --- |
13 | external/SPIRV-Tools/CMakeLists.txt | 4 ++-- | 14 | external/SPIRV-Tools/CMakeLists.txt | 4 ++-- |
14 | 1 file changed, 2 insertions(+), 2 deletions(-) | 15 | 1 file changed, 2 insertions(+), 2 deletions(-) |
15 | 16 | ||
16 | diff --git a/external/SPIRV-Tools/CMakeLists.txt b/external/SPIRV-Tools/CMakeLists.txt | 17 | diff --git a/external/SPIRV-Tools/CMakeLists.txt b/external/SPIRV-Tools/CMakeLists.txt |
17 | index 076079f7c..3b2059f88 100644 | 18 | index 9afa5746c..7ca24d5dc 100644 |
18 | --- a/external/SPIRV-Tools/CMakeLists.txt | 19 | --- a/external/SPIRV-Tools/CMakeLists.txt |
19 | +++ b/external/SPIRV-Tools/CMakeLists.txt | 20 | +++ b/external/SPIRV-Tools/CMakeLists.txt |
20 | @@ -42,8 +42,8 @@ else() #By default use build from sources | 21 | @@ -43,8 +43,8 @@ else() #By default use build from sources |
21 | message(STATUS "[SPIRV-Tools] : Building from source") | 22 | message(STATUS "[SPIRV-Tools] : Building from source") |
22 | message(STATUS "[SPIRV-Tools] : Current source dir: ${CMAKE_CURRENT_SOURCE_DIR}") | 23 | message(STATUS "[SPIRV-Tools] : Current source dir: ${CMAKE_CURRENT_SOURCE_DIR}") |
23 | 24 | ||
@@ -28,6 +29,3 @@ index 076079f7c..3b2059f88 100644 | |||
28 | 29 | ||
29 | set(SPIRV-Tools_OUTPUT_DIR "${IGC_OPTION__OUTPUT_DIR}/external/SPIRV-Tools/build") | 30 | set(SPIRV-Tools_OUTPUT_DIR "${IGC_OPTION__OUTPUT_DIR}/external/SPIRV-Tools/build") |
30 | set(IGC_BUILD__SPIRV-Headers_DIR "${SPIRV-Headers_SOURCE_DIR}") | 31 | set(IGC_BUILD__SPIRV-Headers_DIR "${SPIRV-Headers_SOURCE_DIR}") |
31 | -- | ||
32 | 2.37.3 | ||
33 | |||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch index f8eddfcf..39443931 100644 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From cfc8d6775cc213bdc0c938c20167d74f6aeb310a Mon Sep 17 00:00:00 2001 | 1 | From 5648568e597acd0fed82aac3e6aef0f95a1b78d1 Mon Sep 17 00:00:00 2001 |
2 | From: Anuj Mittal <anuj.mittal@intel.com> | 2 | From: Anuj Mittal <anuj.mittal@intel.com> |
3 | Date: Thu, 19 May 2022 22:50:09 +0800 | 3 | Date: Thu, 19 May 2022 22:50:09 +0800 |
4 | Subject: [PATCH] fix tblgen | 4 | Subject: [PATCH] fix tblgen |
@@ -10,7 +10,7 @@ Upstream-Status: Inappropriate [OE specific] | |||
10 | 1 file changed, 1 insertion(+), 1 deletion(-) | 10 | 1 file changed, 1 insertion(+), 1 deletion(-) |
11 | 11 | ||
12 | diff --git a/IGC/cmake/igc_llvm.cmake b/IGC/cmake/igc_llvm.cmake | 12 | diff --git a/IGC/cmake/igc_llvm.cmake b/IGC/cmake/igc_llvm.cmake |
13 | index 96e3b0d11..b48c91ff4 100644 | 13 | index 10322533c..9020cb3c8 100644 |
14 | --- a/IGC/cmake/igc_llvm.cmake | 14 | --- a/IGC/cmake/igc_llvm.cmake |
15 | +++ b/IGC/cmake/igc_llvm.cmake | 15 | +++ b/IGC/cmake/igc_llvm.cmake |
16 | @@ -52,7 +52,7 @@ else() | 16 | @@ -52,7 +52,7 @@ else() |
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch index 7dd36aec..650130a8 100644 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From c2b7f30dd56568482b1b7c2f22bafdf68736fc88 Mon Sep 17 00:00:00 2001 | 1 | From 0559332abd04b6c8bc70171d201f43d2e4735336 Mon Sep 17 00:00:00 2001 |
2 | From: Lee Chee Yang <chee.yang.lee@intel.com> | 2 | From: Lee Chee Yang <chee.yang.lee@intel.com> |
3 | Date: Wed, 2 Sep 2020 08:28:35 +0800 | 3 | Date: Wed, 2 Sep 2020 08:28:35 +0800 |
4 | Subject: [PATCH 3/5] Improve Reproducibility for src package | 4 | Subject: [PATCH] Improve Reproducibility for src package |
5 | 5 | ||
6 | Improve reproducibility for intel-graphics-compiler-src package. | 6 | Improve reproducibility for intel-graphics-compiler-src package. |
7 | needs to pass build path as environment variable to the build. | 7 | needs to pass build path as environment variable to the build. |
@@ -9,12 +9,13 @@ this only works on bison 3.7 onward, hence check for bison version | |||
9 | before adding the flags. | 9 | before adding the flags. |
10 | Upstream-Status: Inappropriate [applying --file-prefix-map in such way does not work for upstream] | 10 | Upstream-Status: Inappropriate [applying --file-prefix-map in such way does not work for upstream] |
11 | Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> | 11 | Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> |
12 | |||
12 | --- | 13 | --- |
13 | visa/CMakeLists.txt | 7 +++++-- | 14 | visa/CMakeLists.txt | 7 +++++-- |
14 | 1 file changed, 5 insertions(+), 2 deletions(-) | 15 | 1 file changed, 5 insertions(+), 2 deletions(-) |
15 | 16 | ||
16 | diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt | 17 | diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt |
17 | index 65dbb4934..8cd607a69 100644 | 18 | index 6be467587..930c386a6 100644 |
18 | --- a/visa/CMakeLists.txt | 19 | --- a/visa/CMakeLists.txt |
19 | +++ b/visa/CMakeLists.txt | 20 | +++ b/visa/CMakeLists.txt |
20 | @@ -123,8 +123,11 @@ endif() | 21 | @@ -123,8 +123,11 @@ endif() |
@@ -31,6 +32,3 @@ index 65dbb4934..8cd607a69 100644 | |||
31 | ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser) | 32 | ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser) |
32 | set(CISAScanner_dependencies) | 33 | set(CISAScanner_dependencies) |
33 | 34 | ||
34 | -- | ||
35 | 2.20.1 | ||
36 | |||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/c707d1e2244aec988bdd5d2a7473ef3a32a5bac7.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/c707d1e2244aec988bdd5d2a7473ef3a32a5bac7.patch deleted file mode 100644 index 5f9527b3..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/c707d1e2244aec988bdd5d2a7473ef3a32a5bac7.patch +++ /dev/null | |||
@@ -1,144 +0,0 @@ | |||
1 | From cce0d22ebba79075792e6f30c597d8d29d946e8c Mon Sep 17 00:00:00 2001 | ||
2 | From: Artem Gindinson <artem.gindinson@intel.com> | ||
3 | Date: Thu, 17 Nov 2022 18:51:03 +0000 | ||
4 | Subject: [PATCH] Disable opaque pointers in IGC stack for LLVM 15+ | ||
5 | |||
6 | While IGC is a long way from supporting opaque pointers, LLVM 15 has them | ||
7 | enabled by default. Enforce typed pointers explicitly within all LLVM | ||
8 | pipelines employed by our stack (unless CMake instructs otherwise). | ||
9 | |||
10 | Upstream-Status: Backport | ||
11 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
12 | |||
13 | --- | ||
14 | IGC/BiFModule/CMakeLists.txt | 4 ++-- | ||
15 | IGC/CMakeLists.txt | 4 ++++ | ||
16 | IGC/Compiler/CodeGenContext.cpp | 3 +++ | ||
17 | IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp | 4 ++++ | ||
18 | IGC/VectorCompiler/lib/BiF/CMakeLists.txt | 4 ++-- | ||
19 | IGC/cmake/igc_llvm.cmake | 24 +++++++++++++++++++++++ | ||
20 | 6 files changed, 39 insertions(+), 4 deletions(-) | ||
21 | |||
22 | diff --git a/IGC/BiFModule/CMakeLists.txt b/IGC/BiFModule/CMakeLists.txt | ||
23 | index 60fc5cf8d..e87288ca6 100644 | ||
24 | --- a/IGC/BiFModule/CMakeLists.txt | ||
25 | +++ b/IGC/BiFModule/CMakeLists.txt | ||
26 | @@ -251,7 +251,7 @@ function(igc_bif_build_bc) | ||
27 | add_custom_command( | ||
28 | OUTPUT "${_bcTempFilePath}" | ||
29 | COMMAND "${CMAKE_COMMAND}" -E compare_files ${BiFModule_PREBUILD_SHA_PATH} ${BiFModule_SRC_SHA_PATH} || "${CMAKE_COMMAND}" -E make_directory "${_outBcFileDir}" | ||
30 | - COMMAND "${CMAKE_COMMAND}" -E compare_files ${BiFModule_PREBUILD_SHA_PATH} ${BiFModule_SRC_SHA_PATH} || "$<TARGET_FILE:clang-tool>" -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}" | ||
31 | + COMMAND "${CMAKE_COMMAND}" -E compare_files ${BiFModule_PREBUILD_SHA_PATH} ${BiFModule_SRC_SHA_PATH} || "$<TARGET_FILE:clang-tool>" -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}" | ||
32 | DEPENDS clang-tool ${_pchFilePath} ${_incFilePaths} "${_srcFilePath}" ${_dependencies} | ||
33 | COMMENT "BiF: \"${_outBcFileName}\": Compiling OpenCL source: \"${_srcFileName}\"" | ||
34 | ) | ||
35 | @@ -351,7 +351,7 @@ function(igc_bif_build_bc) | ||
36 | add_custom_command( | ||
37 | OUTPUT "${_bcTempFilePath}" | ||
38 | COMMAND "${CMAKE_COMMAND}" -E compare_files ${BiFModule_PREBUILD_SHA_PATH} ${BiFModule_SRC_SHA_PATH} || "${CMAKE_COMMAND}" -E make_directory "${_outBcFileDir}" | ||
39 | - 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} | ||
40 | + 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} | ||
41 | DEPENDS ${_bcFiles} ${_dependencies} | ||
42 | COMMENT "BiF: \"${_outBcFileName}\": Optmizing output .bc." | ||
43 | ) | ||
44 | diff --git a/IGC/CMakeLists.txt b/IGC/CMakeLists.txt | ||
45 | index 930a55212..66ea2a3b5 100644 | ||
46 | --- a/IGC/CMakeLists.txt | ||
47 | +++ b/IGC/CMakeLists.txt | ||
48 | @@ -275,6 +275,10 @@ endif() | ||
49 | # Remove this condition after transition period is over | ||
50 | option(IGC_OPTION__USE_KHRONOS_SPIRV_TRANSLATOR_IN_SC "[Experimental] Enable usage of Khronos SPIRV-LLVM-Translator in Scalar Compiler" OFF) | ||
51 | |||
52 | +# TODO: Change this flag to opt-out or remove completely once | ||
53 | +# opaque pointers are fully supported within the IGC stack. | ||
54 | +option(IGC_OPTION__LLVM_OPAQUE_POINTERS_ENABLED "[Experimental] Allow usage of opaque pointers within LLVM transformations" OFF) | ||
55 | + | ||
56 | option(IGC_OPTION__ENABLE_LIT_TESTS "Enable lit testing for IGC compiler. May require additional tools like llvm lit and opt" OFF) | ||
57 | |||
58 | set(IGC_OPTION__BIF_SRC_OCL_DIR "${IGC_SOURCE_DIR}/BiFModule" | ||
59 | diff --git a/IGC/Compiler/CodeGenContext.cpp b/IGC/Compiler/CodeGenContext.cpp | ||
60 | index fc04b5d84..fe1773b85 100644 | ||
61 | --- a/IGC/Compiler/CodeGenContext.cpp | ||
62 | +++ b/IGC/Compiler/CodeGenContext.cpp | ||
63 | @@ -232,6 +232,9 @@ namespace IGC | ||
64 | { | ||
65 | CreateResourceDimensionTypes(*this); | ||
66 | } | ||
67 | +#ifdef __IGC_OPAQUE_POINTERS_FORCE_DISABLED__ | ||
68 | + this->setOpaquePointers(false); | ||
69 | +#endif | ||
70 | } | ||
71 | |||
72 | void LLVMContextWrapper::AddRef() | ||
73 | diff --git a/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp b/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp | ||
74 | index 4a6fb40dd..f9b308503 100644 | ||
75 | --- a/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp | ||
76 | +++ b/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp | ||
77 | @@ -1494,6 +1494,10 @@ namespace TC | ||
78 | optionsEx += " -debug-info-kind=line-tables-only -dwarf-version=4"; | ||
79 | } | ||
80 | |||
81 | +#ifdef __IGC_OPAQUE_POINTERS_FORCE_DISABLED__ | ||
82 | + optionsEx += " -no-opaque-pointers"; | ||
83 | +#endif | ||
84 | + | ||
85 | std::string extensionsFromInternalOptions = GetSubstring(pInternalOptions, "-cl-ext="); | ||
86 | |||
87 | std::string extensions; | ||
88 | diff --git a/IGC/VectorCompiler/lib/BiF/CMakeLists.txt b/IGC/VectorCompiler/lib/BiF/CMakeLists.txt | ||
89 | index b2e56e091..77f397f79 100644 | ||
90 | --- a/IGC/VectorCompiler/lib/BiF/CMakeLists.txt | ||
91 | +++ b/IGC/VectorCompiler/lib/BiF/CMakeLists.txt | ||
92 | @@ -90,7 +90,7 @@ function(vc_build_bif RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE) | ||
93 | |||
94 | add_custom_command(OUTPUT "${BIF_CLANG_BC_PATH}" | ||
95 | COMMAND clang-tool -cc1 ${CMCL_INCLUDES} ${VC_INCLUDES} ${UTILS_HEADERS} | ||
96 | - ${EXTRA_CLANG_INCLUDES} ${EXTRA_CLANG_FLAGS} | ||
97 | + ${EXTRA_CLANG_INCLUDES} ${IGC_LLVM_DEPENDENT_CLANG_FLAGS} ${EXTRA_CLANG_FLAGS} | ||
98 | -x cl -cl-std=clc++ -triple=${SPIR_TARGET} | ||
99 | -O2 -disable-llvm-passes -emit-llvm-bc -o "${BIF_CLANG_BC_NAME}" ${CMCL_SRC} | ||
100 | COMMENT "vc_build_bif: Compiling CMCL source ${CMCL_SRC} to BC ${BIF_CLANG_BC_NAME}" | ||
101 | @@ -110,7 +110,7 @@ function(vc_build_bif RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE) | ||
102 | COMMENT "vc_build_bif: Translating CMCL builtins: ${BIF_CLANG_BC_NAME_FINAL} -> ${BIF_CMCL_BC_NAME}" | ||
103 | DEPENDS CMCLTranslatorTool ${BIF_CLANG_BC_PATH_FINAL}) | ||
104 | add_custom_command(OUTPUT ${BIF_OPT_BC_PATH} | ||
105 | - COMMAND ${LLVM_OPT_EXE} --O2 -o ${BIF_OPT_BC_NAME} ${BIF_CMCL_BC_NAME} | ||
106 | + COMMAND ${LLVM_OPT_EXE} ${IGC_LLVM_DEPENDENT_OPT_FLAGS} --O2 -o ${BIF_OPT_BC_NAME} ${BIF_CMCL_BC_NAME} | ||
107 | COMMENT "vc_build_bif: running opt with O2: ${BIF_CMCL_BC_NAME} -> ${BIF_OPT_BC_NAME}" | ||
108 | DEPENDS ${BIF_CMCL_BC_PATH}) | ||
109 | set(${RES_FILE} ${BIF_OPT_BC_NAME} PARENT_SCOPE) | ||
110 | diff --git a/IGC/cmake/igc_llvm.cmake b/IGC/cmake/igc_llvm.cmake | ||
111 | index c0f74dcea..96e3b0d11 100644 | ||
112 | --- a/IGC/cmake/igc_llvm.cmake | ||
113 | +++ b/IGC/cmake/igc_llvm.cmake | ||
114 | @@ -69,6 +69,30 @@ list(TRANSFORM LLVM_INCLUDE_DIRS PREPEND "-I=" OUTPUT_VARIABLE LLVM_TABLEGEN_FLA | ||
115 | # Add major version definition for llvm wrapper. | ||
116 | add_compile_definitions(LLVM_VERSION_MAJOR=${LLVM_VERSION_MAJOR}) | ||
117 | |||
118 | +set(IGC_LLVM_DEPENDENT_CLANG_FLAGS "") | ||
119 | +set(IGC_LLVM_DEPENDENT_OPT_FLAGS "") | ||
120 | + | ||
121 | +# Disable the opaque pointers' usage explicitly, unless the block below deems that unnecessary | ||
122 | +set(IGC_OPAQUE_POINTERS_FORCE_DISABLED ON) | ||
123 | +if(IGC_OPTION__LLVM_OPAQUE_POINTERS_ENABLED) | ||
124 | + if(LLVM_VERSION_MAJOR LESS 14) | ||
125 | + message(WARNING "IGC_OPTION__LLVM_OPAQUE_POINTERS_ENABLED ignored: opaque pointers are not available prior to LLVM 14") | ||
126 | + endif() | ||
127 | + set(IGC_OPAQUE_POINTERS_FORCE_DISABLED OFF) | ||
128 | +elseif(LLVM_VERSION_MAJOR LESS 15) | ||
129 | + # Opaque pointers are either absent (LLVM <14) or disabled by default. No need to force-disable | ||
130 | + set(IGC_OPAQUE_POINTERS_FORCE_DISABLED OFF) | ||
131 | +endif(IGC_OPTION__LLVM_OPAQUE_POINTERS_ENABLED) | ||
132 | + | ||
133 | +if(IGC_OPAQUE_POINTERS_FORCE_DISABLED) | ||
134 | + # Once we've figured out that explicit disabling is needed, propagate | ||
135 | + # corresponding options to all the in-tree calls of clang/opt tools. | ||
136 | + list(APPEND IGC_LLVM_DEPENDENT_CLANG_FLAGS "-no-opaque-pointers") | ||
137 | + list(APPEND IGC_LLVM_DEPENDENT_OPT_FLAGS "-opaque-pointers=0") | ||
138 | + # Also inform the preprocessor. | ||
139 | + add_compile_definitions(__IGC_OPAQUE_POINTERS_FORCE_DISABLED__) | ||
140 | +endif() | ||
141 | + | ||
142 | # Include LLVM headers as system ones. | ||
143 | # This will disable warnings on linux. | ||
144 | 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 deleted file mode 100644 index a96be212..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/d1761dfc3ca6b54bac0ee213389a65f84d2aa9b7.patch +++ /dev/null | |||
@@ -1,77 +0,0 @@ | |||
1 | From d1761dfc3ca6b54bac0ee213389a65f84d2aa9b7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Artem Gindinson <artem.gindinson@intel.com> | ||
3 | Date: Mon, 28 Nov 2022 14:33:44 +0000 | ||
4 | Subject: [PATCH] Explicitly cast pointers to `int` in BiFModule (LLVM 15) | ||
5 | |||
6 | Starting from version 15, Clang defaults to | ||
7 | `-Werror=int-conversion`. Add explicit casts in OpenCL C builtins' | ||
8 | code where necessary for LLVM 15 buildability. | ||
9 | |||
10 | Upstream-Status: Backport | ||
11 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
12 | |||
13 | --- | ||
14 | IGC/BiFModule/Implementation/group.cl | 4 ++-- | ||
15 | IGC/BiFModule/Languages/OpenCL/IBiF_Images.cl | 8 ++++---- | ||
16 | 2 files changed, 6 insertions(+), 6 deletions(-) | ||
17 | |||
18 | diff --git a/IGC/BiFModule/Implementation/group.cl b/IGC/BiFModule/Implementation/group.cl | ||
19 | index dd6cfd6ba26..df9a2f64f4f 100644 | ||
20 | --- a/IGC/BiFModule/Implementation/group.cl | ||
21 | +++ b/IGC/BiFModule/Implementation/group.cl | ||
22 | @@ -1897,13 +1897,13 @@ void SPIRV_OVERLOADABLE SPIRV_BUILTIN(SubgroupImageBlockWriteINTEL, _img2d_wo_v2 | ||
23 | global Img2d_wo* image, int2 coord, TYPE data) \ | ||
24 | { \ | ||
25 | int id = (int)__builtin_astype(image, __global void*); \ | ||
26 | - INTERNAL_FUNC(image, coord, data); \ | ||
27 | + INTERNAL_FUNC((int)image, coord, data); \ | ||
28 | } \ | ||
29 | void SPIRV_OVERLOADABLE SPIRV_BUILTIN(SubgroupImageBlockWriteINTEL, _img2d_rw_v2i32_##TYPE_ABBR, )( \ | ||
30 | global Img2d_rw* image, int2 coord, TYPE data) \ | ||
31 | { \ | ||
32 | int id = (int)__builtin_astype(image, __global void*); \ | ||
33 | - INTERNAL_FUNC(image, coord, data); \ | ||
34 | + INTERNAL_FUNC((int)image, coord, data); \ | ||
35 | } | ||
36 | |||
37 | #ifdef cl_intel_subgroups_char | ||
38 | diff --git a/IGC/BiFModule/Languages/OpenCL/IBiF_Images.cl b/IGC/BiFModule/Languages/OpenCL/IBiF_Images.cl | ||
39 | index 062b4f3f49f..1d9d158e9c5 100644 | ||
40 | --- a/IGC/BiFModule/Languages/OpenCL/IBiF_Images.cl | ||
41 | +++ b/IGC/BiFModule/Languages/OpenCL/IBiF_Images.cl | ||
42 | @@ -379,7 +379,7 @@ INLINE int4 OVERLOADABLE read_imagei(read_only image1d_array_t image_array, samp | ||
43 | |||
44 | INLINE uint4 OVERLOADABLE read_imageui(read_only image1d_array_t image_array, sampler_t sampler, int2 coords) { | ||
45 | int id = (int)__builtin_astype(image_array, __global void*); | ||
46 | - int IDimage_array = __builtin_astype(image_array, __global void*); | ||
47 | + int IDimage_array = (int)__builtin_astype(image_array, __global void*); | ||
48 | int dt = __builtin_IB_get_image_array_size(IDimage_array); | ||
49 | float layer = clamp(rint((float)coords.y), 0.0f, (float)(--dt)); | ||
50 | if ((__builtin_IB_get_address_mode(__builtin_IB_convert_sampler_to_int(sampler)) & 0x07) == CLK_ADDRESS_CLAMP_TO_EDGE) | ||
51 | @@ -395,7 +395,7 @@ INLINE uint4 OVERLOADABLE read_imageui(read_only image1d_array_t image_array, sa | ||
52 | |||
53 | INLINE uint4 OVERLOADABLE read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coords) { | ||
54 | int id = (int)__builtin_astype(image_array, __global void*); | ||
55 | - int IDimage_array = __builtin_astype(image_array, __global void*); | ||
56 | + int IDimage_array = (int)__builtin_astype(image_array, __global void*); | ||
57 | int dt = __builtin_IB_get_image_array_size(IDimage_array); | ||
58 | float layer = clamp(rint(coords.y), 0.0f, (float)(--dt)); | ||
59 | if ((__builtin_IB_get_address_mode(__builtin_IB_convert_sampler_to_int(sampler)) & 0x07) == CLK_ADDRESS_CLAMP) | ||
60 | @@ -581,7 +581,7 @@ INLINE int4 OVERLOADABLE read_imagei(read_only image2d_array_t image_array, samp | ||
61 | |||
62 | INLINE uint4 OVERLOADABLE read_imageui(read_only image2d_array_t image_array, sampler_t sampler, int4 coords) { | ||
63 | int id = (int)__builtin_astype(image_array, __global void*); | ||
64 | - int IDimage_array = __builtin_astype(image_array, __global void*); | ||
65 | + int IDimage_array = (int)__builtin_astype(image_array, __global void*); | ||
66 | int dt = __builtin_IB_get_image_array_size(IDimage_array); | ||
67 | float layer = clamp(rint((float)coords.z), 0.0f, (float)(--dt)); | ||
68 | if ((__builtin_IB_get_address_mode(__builtin_IB_convert_sampler_to_int(sampler)) & 0x07) == CLK_ADDRESS_CLAMP_TO_EDGE) | ||
69 | @@ -597,7 +597,7 @@ INLINE uint4 OVERLOADABLE read_imageui(read_only image2d_array_t image_array, sa | ||
70 | |||
71 | INLINE uint4 OVERLOADABLE read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coords) { | ||
72 | int id = (int)__builtin_astype(image_array, __global void*); | ||
73 | - int IDimage_array = __builtin_astype(image_array, __global void*); | ||
74 | + int IDimage_array = (int)__builtin_astype(image_array, __global void*); | ||
75 | int dt = __builtin_IB_get_image_array_size(IDimage_array); | ||
76 | float layer = clamp(rint(coords.z), 0.0f, (float)(--dt)); | ||
77 | 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 deleted file mode 100644 index 55cb2a7d..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/e09e752949e7af0231884d1b11ea907e3e8b1611.patch +++ /dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | From e09e752949e7af0231884d1b11ea907e3e8b1611 Mon Sep 17 00:00:00 2001 | ||
2 | From: Artem Gindinson <artem.gindinson@intel.com> | ||
3 | Date: Fri, 18 Nov 2022 14:48:45 +0000 | ||
4 | Subject: [PATCH] Additional VC fix of pointer element type API usage | ||
5 | |||
6 | Quick fixup to the LLVM 15 buildability in the footsteps of commit | ||
7 | intel/intel-graphics-compiler@b86c1bf. | ||
8 | |||
9 | Upstream-Status: Backport | ||
10 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
11 | |||
12 | --- | ||
13 | IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp | 8 ++++---- | ||
14 | 1 file changed, 4 insertions(+), 4 deletions(-) | ||
15 | |||
16 | diff --git a/IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp b/IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp | ||
17 | index 363d622c24c..c047c545ac8 100644 | ||
18 | --- a/IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp | ||
19 | +++ b/IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp | ||
20 | @@ -748,12 +748,12 @@ void GenXPredToSimdCF::insertIfGoto(SimdCFIfRegion &R) { | ||
21 | Mask->getName() + ".not"); | ||
22 | Value *EM = getEM(M); | ||
23 | Instruction *OldGotoEM = | ||
24 | - Builder.CreateLoad(EM->getType()->getPointerElementType(), EM, | ||
25 | + Builder.CreateLoad(IGCLLVM::getNonOpaquePtrEltTy(EM->getType()), EM, | ||
26 | false /*isVolatile*/, EM->getName()); | ||
27 | OldGotoEM->setDebugLoc(DL); | ||
28 | Value *GotoRMAddr = getRMAddr(Br->getSuccessor(0), SimdWidth); | ||
29 | Instruction *OldGotoRM = Builder.CreateLoad( | ||
30 | - GotoRMAddr->getType()->getPointerElementType(), GotoRMAddr, | ||
31 | + IGCLLVM::getNonOpaquePtrEltTy(GotoRMAddr->getType()), GotoRMAddr, | ||
32 | false /*isVolatile*/, GotoRMAddr->getName()); | ||
33 | OldGotoRM->setDebugLoc(DL); | ||
34 | Type *GotoTys[] = {OldGotoEM->getType(), OldGotoRM->getType()}; | ||
35 | @@ -798,12 +798,12 @@ void GenXPredToSimdCF::insertIfGoto(SimdCFIfRegion &R) { | ||
36 | AfterThens[&R] = AfterThen; | ||
37 | |||
38 | Builder.SetInsertPoint(AfterThen, AfterThen->begin()); | ||
39 | - auto *OldEM = Builder.CreateLoad(EM->getType()->getPointerElementType(), EM, | ||
40 | + auto *OldEM = Builder.CreateLoad(IGCLLVM::getNonOpaquePtrEltTy(EM->getType()), EM, | ||
41 | false /*isVolatile*/, EM->getName()); | ||
42 | OldEM->setDebugLoc(DL); | ||
43 | auto *RMAddr = getRMAddr(Br->getSuccessor(0), SimdWidth); | ||
44 | auto *RM = | ||
45 | - Builder.CreateLoad(RMAddr->getType()->getPointerElementType(), RMAddr, | ||
46 | + Builder.CreateLoad(IGCLLVM::getNonOpaquePtrEltTy(RMAddr->getType()), RMAddr, | ||
47 | false /*isVolatile*/, RMAddr->getName()); | ||
48 | RM->setDebugLoc(DL); | ||
49 | Type *Tys[] = {OldEM->getType(), RM->getType()}; | ||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/fix-build-with-llvm12.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/fix-build-with-llvm12.patch deleted file mode 100644 index fb29c940..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/fix-build-with-llvm12.patch +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | The condition should be checking for <= 11 since the change is available | ||
2 | in LLVM12: | ||
3 | https://github.com/llvm/llvm-project/commit/322d0afd875df66b36e4810a2b95c20a8f22ab9b | ||
4 | |||
5 | Upstream-Status: Submitted | ||
6 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
7 | |||
8 | diff --git a/IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp b/IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp | ||
9 | index 363d622c2..bbb04be30 100644 | ||
10 | --- a/IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp | ||
11 | +++ b/IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp | ||
12 | @@ -395,7 +395,7 @@ public: | ||
13 | return GenXIntrinsic::getGenXIntrinsicID(V) == | ||
14 | GenXIntrinsic::genx_all || | ||
15 | CI->getIntrinsicID() == | ||
16 | -#if LLVM_VERSION_MAJOR <= 12 | ||
17 | +#if LLVM_VERSION_MAJOR <= 11 | ||
18 | Intrinsic::experimental_vector_reduce_and; | ||
19 | #else | ||
20 | Intrinsic::vector_reduce_and; | ||
21 | @@ -408,7 +408,7 @@ public: | ||
22 | if (const CallInst *CI = dyn_cast<CallInst>(V)) | ||
23 | return GenXIntrinsic::getGenXIntrinsicID(V) == | ||
24 | GenXIntrinsic::genx_any || CI->getIntrinsicID() == | ||
25 | -#if LLVM_VERSION_MAJOR <= 12 | ||
26 | +#if LLVM_VERSION_MAJOR <= 11 | ||
27 | Intrinsic::experimental_vector_reduce_or; | ||
28 | #else | ||
29 | Intrinsic::vector_reduce_or; | ||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.12812.24.bb b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.13230.7.bb index 2587905b..a6076902 100644 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.12812.24.bb +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.13230.7.bb | |||
@@ -8,22 +8,18 @@ LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc | |||
8 | file://LICENSE.md;md5=488d74376edf2765f6e78d271543dde3 \ | 8 | file://LICENSE.md;md5=488d74376edf2765f6e78d271543dde3 \ |
9 | file://NOTICES.txt;md5=7f4fbc3eb2c34807465e63b1ec3c9d1a" | 9 | file://NOTICES.txt;md5=7f4fbc3eb2c34807465e63b1ec3c9d1a" |
10 | 10 | ||
11 | SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https;name=igc;branch=releases/igc-1.0.12812 \ | 11 | SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https;name=igc;branch=releases/igc-1.0.13230 \ |
12 | git://github.com/intel/vc-intrinsics.git;protocol=https;destsuffix=git/vc-intrinsics;name=vc;nobranch=1 \ | 12 | git://github.com/intel/vc-intrinsics.git;protocol=https;destsuffix=git/vc-intrinsics;name=vc;nobranch=1 \ |
13 | git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/SPIRV-Tools;name=spirv-tools;branch=main \ | 13 | git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/SPIRV-Tools;name=spirv-tools;branch=main \ |
14 | git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/SPIRV-Headers;name=spirv-headers;branch=main \ | 14 | git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/SPIRV-Headers;name=spirv-headers;branch=main \ |
15 | file://0003-Improve-Reproducibility-for-src-package.patch \ | 15 | file://0003-Improve-Reproducibility-for-src-package.patch \ |
16 | file://0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch \ | 16 | file://0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch \ |
17 | file://c707d1e2244aec988bdd5d2a7473ef3a32a5bac7.patch \ | ||
18 | file://d1761dfc3ca6b54bac0ee213389a65f84d2aa9b7.patch \ | ||
19 | file://e09e752949e7af0231884d1b11ea907e3e8b1611.patch \ | ||
20 | file://fix-build-with-llvm12.patch \ | ||
21 | file://0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch \ | 17 | file://0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch \ |
22 | " | 18 | " |
23 | 19 | ||
24 | SRC_URI:append:class-native = " file://0001-fix-tblgen.patch" | 20 | SRC_URI:append:class-native = " file://0001-fix-tblgen.patch" |
25 | 21 | ||
26 | SRCREV_igc = "beb75447121c73c2570674de60ccb28938bb1ba4" | 22 | SRCREV_igc = "0e001e2814fd4e0e56275ab45adecea8f79e9ee8" |
27 | SRCREV_vc = "dd72efa3b4aafdbbf599e6f3c6f8c55450e348de" | 23 | SRCREV_vc = "dd72efa3b4aafdbbf599e6f3c6f8c55450e348de" |
28 | SRCREV_spirv-tools = "eb0a36633d2acf4de82588504f951ad0f2cecacb" | 24 | SRCREV_spirv-tools = "eb0a36633d2acf4de82588504f951ad0f2cecacb" |
29 | SRCREV_spirv-headers = "85a1ed200d50660786c1a88d9166e871123cce39" | 25 | SRCREV_spirv-headers = "85a1ed200d50660786c1a88d9166e871123cce39" |