mirror of
git://git.yoctoproject.org/meta-intel.git
synced 2025-07-19 21:09:03 +02:00
intel-graphics-compiler: upgrade 1.0.12812.24 -> 1.0.13230.7
Release Notes: https://github.com/intel/intel-graphics-compiler/releases/tag/igc-1.0.13230.7 Drop already merged patches: c707d1e2244aec988bdd5d2a7473ef3a32a5bac7.patch d1761dfc3ca6b54bac0ee213389a65f84d2aa9b7.patch e09e752949e7af0231884d1b11ea907e3e8b1611.patch fix-build-with-llvm12.patch Fixes fuzz warnings. Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com> Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
This commit is contained in:
parent
ef15b09a26
commit
aed4bb9af7
|
@ -1,4 +1,4 @@
|
||||||
From 16fb6c022380bbb3c48f21372fcb1da7f30d3903 Mon Sep 17 00:00:00 2001
|
From 9abd198b13d4764ee2e34b385ac20fc11a56d8f3 Mon Sep 17 00:00:00 2001
|
||||||
From: Anuj Mittal <anuj.mittal@intel.com>
|
From: Anuj Mittal <anuj.mittal@intel.com>
|
||||||
Date: Tue, 12 Oct 2021 23:46:42 +0800
|
Date: Tue, 12 Oct 2021 23:46:42 +0800
|
||||||
Subject: [PATCH] BiF/CMakeLists.txt: remove opt from DEPENDS
|
Subject: [PATCH] BiF/CMakeLists.txt: remove opt from DEPENDS
|
||||||
|
@ -13,23 +13,21 @@ using prebuilt binaries.
|
||||||
Upstream-Status: Inappropriate
|
Upstream-Status: Inappropriate
|
||||||
|
|
||||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||||
|
|
||||||
---
|
---
|
||||||
IGC/VectorCompiler/lib/BiF/CMakeLists.txt | 2 +-
|
IGC/VectorCompiler/lib/BiF/CMakeLists.txt | 2 +-
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/IGC/VectorCompiler/lib/BiF/CMakeLists.txt b/IGC/VectorCompiler/lib/BiF/CMakeLists.txt
|
diff --git a/IGC/VectorCompiler/lib/BiF/CMakeLists.txt b/IGC/VectorCompiler/lib/BiF/CMakeLists.txt
|
||||||
index be8e5557e..07ab40382 100644
|
index c439f334a..756cc84c3 100644
|
||||||
--- a/IGC/VectorCompiler/lib/BiF/CMakeLists.txt
|
--- a/IGC/VectorCompiler/lib/BiF/CMakeLists.txt
|
||||||
+++ b/IGC/VectorCompiler/lib/BiF/CMakeLists.txt
|
+++ b/IGC/VectorCompiler/lib/BiF/CMakeLists.txt
|
||||||
@@ -112,7 +112,7 @@ function(vc_build_bif RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE)
|
@@ -112,7 +112,7 @@ function(vc_build_bif RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE)
|
||||||
add_custom_command(OUTPUT ${BIF_OPT_BC_PATH}
|
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}"
|
COMMENT "vc_build_bif: running opt with O2: ${BIF_CMCL_BC_NAME} -> ${BIF_OPT_BC_NAME}"
|
||||||
- DEPENDS opt ${BIF_CMCL_BC_PATH})
|
- DEPENDS opt ${BIF_CMCL_BC_PATH})
|
||||||
+ DEPENDS ${BIF_CMCL_BC_PATH})
|
+ DEPENDS ${BIF_CMCL_BC_PATH})
|
||||||
set(${RES_FILE} ${BIF_OPT_BC_NAME} PARENT_SCOPE)
|
set(${RES_FILE} ${BIF_OPT_BC_NAME} PARENT_SCOPE)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
--
|
|
||||||
2.35.3
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
From 776692307258f273d54b81c00701a0ad01c9f4e4 Mon Sep 17 00:00:00 2001
|
From e69a3181482e5f442756a61c7b683914072884f1 Mon Sep 17 00:00:00 2001
|
||||||
From: Anuj Mittal <anuj.mittal@intel.com>
|
From: Anuj Mittal <anuj.mittal@intel.com>
|
||||||
Date: Mon, 9 Jan 2023 11:43:05 +0800
|
Date: Mon, 9 Jan 2023 11:43:05 +0800
|
||||||
Subject: [PATCH] external/SPIRV-Tools: change path to tools and headers
|
Subject: [PATCH] external/SPIRV-Tools: change path to tools and headers
|
||||||
|
@ -9,15 +9,16 @@ file path substitutions take place.
|
||||||
Upstream-Status: Inappropriate
|
Upstream-Status: Inappropriate
|
||||||
|
|
||||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||||
|
|
||||||
---
|
---
|
||||||
external/SPIRV-Tools/CMakeLists.txt | 4 ++--
|
external/SPIRV-Tools/CMakeLists.txt | 4 ++--
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/external/SPIRV-Tools/CMakeLists.txt b/external/SPIRV-Tools/CMakeLists.txt
|
diff --git a/external/SPIRV-Tools/CMakeLists.txt b/external/SPIRV-Tools/CMakeLists.txt
|
||||||
index 076079f7c..3b2059f88 100644
|
index 9afa5746c..7ca24d5dc 100644
|
||||||
--- a/external/SPIRV-Tools/CMakeLists.txt
|
--- a/external/SPIRV-Tools/CMakeLists.txt
|
||||||
+++ b/external/SPIRV-Tools/CMakeLists.txt
|
+++ b/external/SPIRV-Tools/CMakeLists.txt
|
||||||
@@ -42,8 +42,8 @@ else() #By default use build from sources
|
@@ -43,8 +43,8 @@ else() #By default use build from sources
|
||||||
message(STATUS "[SPIRV-Tools] : Building from source")
|
message(STATUS "[SPIRV-Tools] : Building from source")
|
||||||
message(STATUS "[SPIRV-Tools] : Current source dir: ${CMAKE_CURRENT_SOURCE_DIR}")
|
message(STATUS "[SPIRV-Tools] : Current source dir: ${CMAKE_CURRENT_SOURCE_DIR}")
|
||||||
|
|
||||||
|
@ -28,6 +29,3 @@ index 076079f7c..3b2059f88 100644
|
||||||
|
|
||||||
set(SPIRV-Tools_OUTPUT_DIR "${IGC_OPTION__OUTPUT_DIR}/external/SPIRV-Tools/build")
|
set(SPIRV-Tools_OUTPUT_DIR "${IGC_OPTION__OUTPUT_DIR}/external/SPIRV-Tools/build")
|
||||||
set(IGC_BUILD__SPIRV-Headers_DIR "${SPIRV-Headers_SOURCE_DIR}")
|
set(IGC_BUILD__SPIRV-Headers_DIR "${SPIRV-Headers_SOURCE_DIR}")
|
||||||
--
|
|
||||||
2.37.3
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
From cfc8d6775cc213bdc0c938c20167d74f6aeb310a Mon Sep 17 00:00:00 2001
|
From 5648568e597acd0fed82aac3e6aef0f95a1b78d1 Mon Sep 17 00:00:00 2001
|
||||||
From: Anuj Mittal <anuj.mittal@intel.com>
|
From: Anuj Mittal <anuj.mittal@intel.com>
|
||||||
Date: Thu, 19 May 2022 22:50:09 +0800
|
Date: Thu, 19 May 2022 22:50:09 +0800
|
||||||
Subject: [PATCH] fix tblgen
|
Subject: [PATCH] fix tblgen
|
||||||
|
@ -10,7 +10,7 @@ Upstream-Status: Inappropriate [OE specific]
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/IGC/cmake/igc_llvm.cmake b/IGC/cmake/igc_llvm.cmake
|
diff --git a/IGC/cmake/igc_llvm.cmake b/IGC/cmake/igc_llvm.cmake
|
||||||
index 96e3b0d11..b48c91ff4 100644
|
index 10322533c..9020cb3c8 100644
|
||||||
--- a/IGC/cmake/igc_llvm.cmake
|
--- a/IGC/cmake/igc_llvm.cmake
|
||||||
+++ b/IGC/cmake/igc_llvm.cmake
|
+++ b/IGC/cmake/igc_llvm.cmake
|
||||||
@@ -52,7 +52,7 @@ else()
|
@@ -52,7 +52,7 @@ else()
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From c2b7f30dd56568482b1b7c2f22bafdf68736fc88 Mon Sep 17 00:00:00 2001
|
From 0559332abd04b6c8bc70171d201f43d2e4735336 Mon Sep 17 00:00:00 2001
|
||||||
From: Lee Chee Yang <chee.yang.lee@intel.com>
|
From: Lee Chee Yang <chee.yang.lee@intel.com>
|
||||||
Date: Wed, 2 Sep 2020 08:28:35 +0800
|
Date: Wed, 2 Sep 2020 08:28:35 +0800
|
||||||
Subject: [PATCH 3/5] Improve Reproducibility for src package
|
Subject: [PATCH] Improve Reproducibility for src package
|
||||||
|
|
||||||
Improve reproducibility for intel-graphics-compiler-src package.
|
Improve reproducibility for intel-graphics-compiler-src package.
|
||||||
needs to pass build path as environment variable to the build.
|
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
|
||||||
before adding the flags.
|
before adding the flags.
|
||||||
Upstream-Status: Inappropriate [applying --file-prefix-map in such way does not work for upstream]
|
Upstream-Status: Inappropriate [applying --file-prefix-map in such way does not work for upstream]
|
||||||
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
|
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
|
||||||
|
|
||||||
---
|
---
|
||||||
visa/CMakeLists.txt | 7 +++++--
|
visa/CMakeLists.txt | 7 +++++--
|
||||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt
|
diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt
|
||||||
index 65dbb4934..8cd607a69 100644
|
index 6be467587..930c386a6 100644
|
||||||
--- a/visa/CMakeLists.txt
|
--- a/visa/CMakeLists.txt
|
||||||
+++ b/visa/CMakeLists.txt
|
+++ b/visa/CMakeLists.txt
|
||||||
@@ -123,8 +123,11 @@ endif()
|
@@ -123,8 +123,11 @@ endif()
|
||||||
|
@ -31,6 +32,3 @@ index 65dbb4934..8cd607a69 100644
|
||||||
ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser)
|
ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser)
|
||||||
set(CISAScanner_dependencies)
|
set(CISAScanner_dependencies)
|
||||||
|
|
||||||
--
|
|
||||||
2.20.1
|
|
||||||
|
|
||||||
|
|
|
@ -1,144 +0,0 @@
|
||||||
From cce0d22ebba79075792e6f30c597d8d29d946e8c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Artem Gindinson <artem.gindinson@intel.com>
|
|
||||||
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 <anuj.mittal@intel.com>
|
|
||||||
|
|
||||||
---
|
|
||||||
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 60fc5cf8d..e87288ca6 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} || "$<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}"
|
|
||||||
+ 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}"
|
|
||||||
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 930a55212..66ea2a3b5 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 fc04b5d84..fe1773b85 100644
|
|
||||||
--- a/IGC/Compiler/CodeGenContext.cpp
|
|
||||||
+++ b/IGC/Compiler/CodeGenContext.cpp
|
|
||||||
@@ -232,6 +232,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 4a6fb40dd..f9b308503 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 b2e56e091..77f397f79 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 ${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 c0f74dcea..96e3b0d11 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})
|
|
|
@ -1,77 +0,0 @@
|
||||||
From d1761dfc3ca6b54bac0ee213389a65f84d2aa9b7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Artem Gindinson <artem.gindinson@intel.com>
|
|
||||||
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 <anuj.mittal@intel.com>
|
|
||||||
|
|
||||||
---
|
|
||||||
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)
|
|
|
@ -1,49 +0,0 @@
|
||||||
From e09e752949e7af0231884d1b11ea907e3e8b1611 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Artem Gindinson <artem.gindinson@intel.com>
|
|
||||||
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 <anuj.mittal@intel.com>
|
|
||||||
|
|
||||||
---
|
|
||||||
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()};
|
|
|
@ -1,29 +0,0 @@
|
||||||
The condition should be checking for <= 11 since the change is available
|
|
||||||
in LLVM12:
|
|
||||||
https://github.com/llvm/llvm-project/commit/322d0afd875df66b36e4810a2b95c20a8f22ab9b
|
|
||||||
|
|
||||||
Upstream-Status: Submitted
|
|
||||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
|
||||||
|
|
||||||
diff --git a/IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp b/IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp
|
|
||||||
index 363d622c2..bbb04be30 100644
|
|
||||||
--- a/IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp
|
|
||||||
+++ b/IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp
|
|
||||||
@@ -395,7 +395,7 @@ public:
|
|
||||||
return GenXIntrinsic::getGenXIntrinsicID(V) ==
|
|
||||||
GenXIntrinsic::genx_all ||
|
|
||||||
CI->getIntrinsicID() ==
|
|
||||||
-#if LLVM_VERSION_MAJOR <= 12
|
|
||||||
+#if LLVM_VERSION_MAJOR <= 11
|
|
||||||
Intrinsic::experimental_vector_reduce_and;
|
|
||||||
#else
|
|
||||||
Intrinsic::vector_reduce_and;
|
|
||||||
@@ -408,7 +408,7 @@ public:
|
|
||||||
if (const CallInst *CI = dyn_cast<CallInst>(V))
|
|
||||||
return GenXIntrinsic::getGenXIntrinsicID(V) ==
|
|
||||||
GenXIntrinsic::genx_any || CI->getIntrinsicID() ==
|
|
||||||
-#if LLVM_VERSION_MAJOR <= 12
|
|
||||||
+#if LLVM_VERSION_MAJOR <= 11
|
|
||||||
Intrinsic::experimental_vector_reduce_or;
|
|
||||||
#else
|
|
||||||
Intrinsic::vector_reduce_or;
|
|
|
@ -8,22 +8,18 @@ LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc
|
||||||
file://LICENSE.md;md5=488d74376edf2765f6e78d271543dde3 \
|
file://LICENSE.md;md5=488d74376edf2765f6e78d271543dde3 \
|
||||||
file://NOTICES.txt;md5=7f4fbc3eb2c34807465e63b1ec3c9d1a"
|
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 \
|
SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https;name=igc;branch=releases/igc-1.0.13230 \
|
||||||
git://github.com/intel/vc-intrinsics.git;protocol=https;destsuffix=git/vc-intrinsics;name=vc;nobranch=1 \
|
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=git/SPIRV-Tools;name=spirv-tools;branch=main \
|
git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/SPIRV-Tools;name=spirv-tools;branch=main \
|
||||||
git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/SPIRV-Headers;name=spirv-headers;branch=main \
|
git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/SPIRV-Headers;name=spirv-headers;branch=main \
|
||||||
file://0003-Improve-Reproducibility-for-src-package.patch \
|
file://0003-Improve-Reproducibility-for-src-package.patch \
|
||||||
file://0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch \
|
file://0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch \
|
||||||
file://c707d1e2244aec988bdd5d2a7473ef3a32a5bac7.patch \
|
|
||||||
file://d1761dfc3ca6b54bac0ee213389a65f84d2aa9b7.patch \
|
|
||||||
file://e09e752949e7af0231884d1b11ea907e3e8b1611.patch \
|
|
||||||
file://fix-build-with-llvm12.patch \
|
|
||||||
file://0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch \
|
file://0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI:append:class-native = " file://0001-fix-tblgen.patch"
|
SRC_URI:append:class-native = " file://0001-fix-tblgen.patch"
|
||||||
|
|
||||||
SRCREV_igc = "beb75447121c73c2570674de60ccb28938bb1ba4"
|
SRCREV_igc = "0e001e2814fd4e0e56275ab45adecea8f79e9ee8"
|
||||||
SRCREV_vc = "dd72efa3b4aafdbbf599e6f3c6f8c55450e348de"
|
SRCREV_vc = "dd72efa3b4aafdbbf599e6f3c6f8c55450e348de"
|
||||||
SRCREV_spirv-tools = "eb0a36633d2acf4de82588504f951ad0f2cecacb"
|
SRCREV_spirv-tools = "eb0a36633d2acf4de82588504f951ad0f2cecacb"
|
||||||
SRCREV_spirv-headers = "85a1ed200d50660786c1a88d9166e871123cce39"
|
SRCREV_spirv-headers = "85a1ed200d50660786c1a88d9166e871123cce39"
|
Loading…
Reference in New Issue
Block a user