public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/intel-igc] rawhide: New release 2.41.9
@ 2026-09-18 23:17 Androniychuk, Pavel
0 siblings, 0 replies; only message in thread
From: Androniychuk, Pavel @ 2026-09-18 23:17 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/intel-igc
Branch : rawhide
Commit : 184c7424be18ef99261ecc3f406a48904cd9169d
Author : Androniychuk, Pavel <pavel.androniychuk@intel.com>
Date : 2026-09-18T14:56:42-07:00
Stats : +70/-116 in 6 file(s)
URL : https://src.fedoraproject.org/rpms/intel-igc/c/184c7424be18ef99261ecc3f406a48904cd9169d?branch=rawhide
Log:
New release 2.41.9
New llvm22 dependency
Strip dead code, like i686 builds
---
diff --git a/.gitignore b/.gitignore
index cd1e815..2d113f6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
/spirv-headers-*.tar.gz
/spirv-tools-*.tar.gz
/llvmorg-16.0.6.tar.gz
+/llvmorg-22.1.8.tar.gz
diff --git a/0001-Fix-segfault-when-running-analysis-passes-after-SCCP.patch b/0001-Fix-segfault-when-running-analysis-passes-after-SCCP.patch
deleted file mode 100644
index a65c808..0000000
--- a/0001-Fix-segfault-when-running-analysis-passes-after-SCCP.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 4f7d1904031875fa5e8ed5d5b0d1e487bcc9b7b6 Mon Sep 17 00:00:00 2001
-From: Michal Paszkowski <michal.paszkowski@intel.com>
-Date: Fri, 5 Jun 2026 07:08:33 +0000
-Subject: [PATCH] Fix segfault when running analysis passes after SCCP
-
-SCCPLegacyPassWrapper runs new PM SCCPPass, which can change CFG and delete
-basic blocks. The wrapper incorrectly declared DominatorTreeWrapperPass as
-preserved without updating the legacy PM DomTree, leaving stale DomTree nodes
-that could reference freed BBs and crash later loop analyses.
-
-Fix by removing DomTree preservation in the SCCP wrapper so DT is invalidated
-and recomputed when required.
----
- IGC/WrapperLLVM/lib/llvmWrapper/Transforms/Scalar/SCCP.cpp | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/IGC/WrapperLLVM/lib/llvmWrapper/Transforms/Scalar/SCCP.cpp b/IGC/WrapperLLVM/lib/llvmWrapper/Transforms/Scalar/SCCP.cpp
-index e1bf620380b3..b08854ef0de5 100644
---- a/IGC/WrapperLLVM/lib/llvmWrapper/Transforms/Scalar/SCCP.cpp
-+++ b/IGC/WrapperLLVM/lib/llvmWrapper/Transforms/Scalar/SCCP.cpp
-@@ -38,7 +38,6 @@ bool SCCPLegacyPassWrapper::runOnFunction(Function &F) {
- void SCCPLegacyPassWrapper::getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addRequired<TargetLibraryInfoWrapperPass>();
- AU.addPreserved<GlobalsAAWrapperPass>();
-- AU.addPreserved<DominatorTreeWrapperPass>();
- }
-
- char SCCPLegacyPassWrapper::ID = 0;
---
-2.43.0
diff --git a/0001-Use-Module-print-instead-of-Module-dump.patch b/0001-Use-Module-print-instead-of-Module-dump.patch
new file mode 100644
index 0000000..1cfca93
--- /dev/null
+++ b/0001-Use-Module-print-instead-of-Module-dump.patch
@@ -0,0 +1,36 @@
+From e24be9c7f0b7c0a531b3c18eeca0e9a4457a6321 Mon Sep 17 00:00:00 2001
+From: Pavel Androniychuk <pavel.androniychuk@intel.com>
+Date: Fri, 18 Sep 2026 11:11:30 -0700
+Subject: [PATCH] Use Module::print instead of Module::dump in
+ TranslateSPIRVToLLVM
+
+llvm::Module::dump() is only compiled into LLVM when assertions or
+LLVM_ENABLE_DUMP are enabled. Since the IGC flags refactor (167a0d905)
+IGC_IS_FLAG_ENABLED(ShaderDumpTranslationOnly) is a runtime check, so the
+call is no longer dead-code-eliminated and linking libigc against a
+release-mode distro LLVM fails with:
+
+ undefined reference to 'llvm::Module::dump() const'
+
+Module::print(errs(), nullptr) is always available and produces the same
+output.
+---
+ IGC/AdaptorOCL/dllInterfaceCompute.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/IGC/AdaptorOCL/dllInterfaceCompute.cpp b/IGC/AdaptorOCL/dllInterfaceCompute.cpp
+index b50ed3f8b..9b2cf424a 100644
+--- a/IGC/AdaptorOCL/dllInterfaceCompute.cpp
++++ b/IGC/AdaptorOCL/dllInterfaceCompute.cpp
+@@ -454,7 +454,7 @@ bool TranslateSPIRVToLLVM(const STB_TranslateInputArgs &InputArgs, llvm::LLVMCon
+ GenerateSPIRVExtensionsMD(Context, *LLVMModule, SPIRVBinary.str());
+
+ if (IGC_IS_FLAG_ENABLED(ShaderDumpTranslationOnly))
+- LLVMModule->dump();
++ LLVMModule->print(llvm::errs(), nullptr);
+ }
+
+ return success;
+--
+2.53.0
+
diff --git a/0002-Fix-incomplete-type-llvm-Triple-in-MemCpyOptimizer-w.patch b/0002-Fix-incomplete-type-llvm-Triple-in-MemCpyOptimizer-w.patch
deleted file mode 100644
index 537ac9c..0000000
--- a/0002-Fix-incomplete-type-llvm-Triple-in-MemCpyOptimizer-w.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Pavel Androniychuk <pavel.androniychuk@intel.com>
-Date: Tue, 14 Jul 2026 00:00:00 +0000
-Subject: [PATCH] Fix incomplete type llvm::Triple in MemCpyOptimizer wrapper
-
-The MemCpyOptimizer llvmWrapper constructs a TargetLibraryInfoImpl with
-llvm::Triple{}, but never includes the Triple header. It relied on Triple
-being pulled in transitively, which does not happen with the Fedora system
-LLVM 15 headers, so the build failed with:
-
- error: invalid use of incomplete type 'class llvm::Triple'
- TargetLibraryInfoImpl TLII(llvm::Triple{});
-
-Include the Triple header explicitly. Its location changed across LLVM
-versions (moved from llvm/ADT to llvm/TargetParser in LLVM 17), so guard
-the include with LLVM_VERSION_MAJOR to keep both the Fedora (LLVM 15) and
-RHEL (bundled LLVM 16) builds working.
----
- IGC/WrapperLLVM/lib/llvmWrapper/Transforms/Scalar/MemCpyOptimizer.cpp | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/IGC/WrapperLLVM/lib/llvmWrapper/Transforms/Scalar/MemCpyOptimizer.cpp b/IGC/WrapperLLVM/lib/llvmWrapper/Transforms/Scalar/MemCpyOptimizer.cpp
-index 000000000000..000000000001 100644
---- a/IGC/WrapperLLVM/lib/llvmWrapper/Transforms/Scalar/MemCpyOptimizer.cpp
-+++ b/IGC/WrapperLLVM/lib/llvmWrapper/Transforms/Scalar/MemCpyOptimizer.cpp
-@@ -19,6 +19,11 @@
- #include "llvm/Analysis/MemorySSAUpdater.h"
- #include "llvm/Support/Alignment.h"
- #include "llvm/Transforms/Scalar.h"
-+#if LLVM_VERSION_MAJOR < 17
-+#include "llvm/ADT/Triple.h"
-+#else
-+#include "llvm/TargetParser/Triple.h"
-+#endif
-
- #include "common/LLVMWarningsPop.hpp"
-
---
-2.43.0
diff --git a/intel-igc.spec b/intel-igc.spec
index f4df9dd..9916cdc 100644
--- a/intel-igc.spec
+++ b/intel-igc.spec
@@ -1,19 +1,20 @@
%global vc_commit 27f7c4f34738f5eaf7a045b77edf8d9e034443d8
%global vc_shortcommit %(c=%{vc_commit}; echo ${c:0:7})
+%global llvm_ver 22.1.8
+%global llvm_sover %(echo %{llvm_ver} | cut -d. -f1,2)
+
%if 0%{?rhel}
# RHEL build here
%global use_system_headers 0
-%global clang_commit 07e7c931d8bdb38549a907cf04fd06a278f7cdce
+%global clang_commit b953eceebb0abc6ea954a14545420e3f97540a77
%global clang_shortcommit %(c=%{clang_commit}; echo ${c:0:7})
-%global translator_commit b84990a370e46748f7196af1d8f5a39f5834802d
+%global translator_commit 27afcfe385cf542197dfde8c658e1f5ff53fc2fc
%global translator_shortcommit %(c=%{translator_commit}; echo ${c:0:7})
-%global spirv_headers_commit b8a32968473ce852a809b9de5f04f02a5a9dfa78
+%global spirv_headers_commit 575b6512579ebde466ed3dfc04e413439d14d95d
%global spirv_headers_shortcommit %(c=%{spirv_headers_commit}; echo ${c:0:7})
-%global spirv_tools_commit 28a883ba4c67f58a9540fb0651c647bb02883622
+%global spirv_tools_commit f80351511e9c4672e284842c7b124315c511078a
%global spirv_tools_shortcommit %(c=%{spirv_tools_commit}; echo ${c:0:7})
-%global llvm_ver 16.0.6
-%global llvm_compat 16
# Disable LTO; LLVM/clang under LTO has produced miscompiled binaries here.
%define _lto_cflags %{nil}
# Disable dwz: this fails anyways, due to static linking, sometimes fails builds
@@ -22,17 +23,20 @@
%else
# Fedora build here
%global use_system_headers 1
-%global llvm_compat 15
+# f44 ships LLVM 22 as the main package; f45+ provide the llvm22 compat package
+%if 0%{?fedora} >= 45
+%global llvm_compat 22
+%endif
%endif
# Keep this override here, otherwise LTO disable will not take affect in RHEL
%global optflags %{optflags} -w
# This patch level is reused in cflags
-%global igc_patch 3
+%global igc_patch 9
Name: intel-igc
-Version: 2.36.%{igc_patch}
+Version: 2.41.%{igc_patch}
Release: %autorelease
Summary: Intel Graphics Compiler for OpenCL
@@ -48,8 +52,7 @@ Source5: https://github.com/KhronosGroup/SPIRV-Tools/archive/%{spirv_tools_commi
Source6: https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-%{llvm_ver}.tar.gz
%endif
-Patch0: 0001-Fix-segfault-when-running-analysis-passes-after-SCCP.patch
-Patch1: 0002-Fix-incomplete-type-llvm-Triple-in-MemCpyOptimizer-w.patch
+Patch0: 0001-Use-Module-print-instead-of-Module-dump.patch
# This is just for Intel GPUs
ExclusiveArch: x86_64
@@ -73,12 +76,13 @@ BuildRequires: spirv-tools-devel
%if 0%{?use_system_headers}
BuildRequires: llvm%{?llvm_compat}-devel
BuildRequires: lld%{?llvm_compat}-devel
+BuildRequires: libxml2-devel
BuildRequires: clang%{?llvm_compat}
BuildRequires: clang-tools-extra
BuildRequires: spirv-headers-devel
BuildRequires: intel-opencl-clang-devel
-BuildRequires: spirv-llvm15.0-translator-devel
-BuildRequires: spirv-llvm15.0-translator-tools
+BuildRequires: spirv-llvm-translator%{?llvm_compat}-devel
+BuildRequires: spirv-llvm-translator%{?llvm_compat}-tools
%else
BuildRequires: chrpath
%endif
@@ -157,17 +161,12 @@ export CMAKE_POLICY_VERSION_MINIMUM=3.5
-DFETCHCONTENT_FULLY_DISCONNECTED=ON \
-DBUILD_SHARED_LIBS:BOOL=OFF \
-DIGC_API_PATCH_VERSION=%{igc_patch} \
-%ifarch x86_64
-DIGC_OPTION__ARCHITECTURE_TARGET='Linux64' \
-%endif
-%ifarch i686
- -DIGC_OPTION__ARCHITECTURE_TARGET='Linux32' \
-%endif
-DIGC_BUILD__VC_ENABLED=ON \
-DIGC_OPTION__VC_INTRINSICS_MODE=Source \
-DVC_INTRINSICS_SRC="%{_builddir}/vc-intrinsics-%{vc_commit}" \
+ -DIGC_OPTION__LLVM_PREFERRED_VERSION=%{llvm_ver} \
%if 0%{?use_system_headers}
- -DIGC_OPTION__LLVM_PREFERRED_VERSION='%(rpm -q --qf '%%{version}' llvm%{?llvm_compat}-devel | cut -d. -f1 | sed "s/$/.0.0/")' \
-DIGC_OPTION__LLD_MODE=Prebuilds \
-DIGC_OPTION__LLVM_MODE=Prebuilds \
-DLLVM_ROOT=%{_libdir}/llvm%{?llvm_compat}/ \
@@ -176,15 +175,10 @@ export CMAKE_POLICY_VERSION_MINIMUM=3.5
-DIGC_OPTION__SPIRV_TOOLS_MODE=Prebuilds \
-DIGC_OPTION__USE_PREINSTALLED_SPIRV_HEADERS=ON \
-DIGC_OPTION__CLANG_MODE=Prebuilds \
- -DIGC_OPTION__API_ENABLE_OPAQUE_POINTERS=OFF \
- -DIGC_OPTION__ENABLE_BF16_BIF=OFF \
- -DINSTALL_GENX_IR=ON \
%else
-DIGC_OPTION__LLVM_MODE=Source \
- -DIGC_OPTION__LLVM_PREFERRED_VERSION=%{llvm_ver} \
-DIGC_OPTION__SPIRV_TOOLS_MODE=Source \
-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="%{_builddir}/SPIRV-Headers" \
- -DIGC_OPTION__API_ENABLE_OPAQUE_POINTERS=ON \
%endif
-Wno-dev \
-G Ninja
@@ -194,42 +188,34 @@ export CMAKE_POLICY_VERSION_MINIMUM=3.5
%install
%cmake_install
%if ! 0%{?use_system_headers}
-# Remove bundled standalone tools/plugins not shipped as part of intel-igc.
-# These are statically-linked-against-LLVM binaries built as a side-effect
-# of LLVM source mode, each ~500MB. Without these, libs subpkg drops dramatically.
-rm -fv %{buildroot}%{_bindir}/GenX_IR
-rm -fv %{buildroot}%{_bindir}/clang-%{llvm_compat}
-rm -fv %{buildroot}%{_bindir}/lld
-rm -fv %{buildroot}%{_prefix}/lib/NewPMPlugin.so
-rm -fv %{buildroot}%{_prefix}/lib/debug%{_prefix}/lib/NewPMPlugin.so*
# Change permissions otherwise opencl install will fail
-chmod +x %{buildroot}%{_libdir}/libopencl-clang.so.%{llvm_compat}
-# Strip rpath from libclang.so.16 since its empty anyways and fails build
-chrpath -d %{buildroot}%{_libdir}/libopencl-clang.so.%{llvm_compat}
+chmod +x %{buildroot}%{_libdir}/libopencl-clang.so.%{llvm_sover}
+# Strip the empty rpath, otherwise check-rpaths fails the build
+chrpath -d %{buildroot}%{_libdir}/libopencl-clang.so.%{llvm_sover}
# Removes additional non-essential symbols beyond what find-debuginfo.sh strips.
# These files end up being huge. This cuts the debuginfo libs pkg in half
-strip --strip-unneeded %{buildroot}%{_libdir}/libopencl-clang.so.%{llvm_compat} %{buildroot}%{_libdir}/libigdfcl.so.*
+strip --strip-unneeded %{buildroot}%{_libdir}/libopencl-clang.so.%{llvm_sover} %{buildroot}%{_libdir}/libigdfcl.so.*
%endif
%files
-%{_bindir}/iga{32,64}
+%{_bindir}/iga64
%files libs
%license LICENSE.md
%license %{_libdir}/igc2/NOTICES.txt
%dir %{_libdir}/igc2/
-%{_libdir}/libiga{32,64}.so.2.*
+%{_libdir}/libiga64.so.2.*
%{_libdir}/libigc.so.2.*+*
%{_libdir}/libigdfcl.so.2.*
%if ! 0%{?use_system_headers}
-%{_libdir}/libopencl-clang.so.%{llvm_compat}
+%{_libdir}/libopencl-clang.so.%{llvm_sover}
%{_includedir}/opencl-c.h
%{_includedir}/opencl-c-base.h
%endif
%files devel
-%{_libdir}/libiga{32,64}.so.2
-%{_libdir}/libiga{32,64}.so
+%{_libdir}/libiga64.so.2
+%{_libdir}/libiga64.so
%{_libdir}/libigc.so.2
%{_libdir}/libigc.so
%{_libdir}/libigdfcl.so.2
diff --git a/sources b/sources
index e369516..e2d397c 100644
--- a/sources
+++ b/sources
@@ -1,7 +1,7 @@
SHA512 (vc-intrinsics-27f7c4f.tar.gz) = cd4817e97907d2803bca6b86f14d6b2f3e78d62bf5985acc47589387a93160a9aa871ecb52a0babd6e5bc5f7a7b41d7c2ac4b8096730571b3d63bcf22b03ee02
-SHA512 (spirv-tools-28a883b.tar.gz) = 69c94c5f3755a5ee547dc81f5a71dfecdd31bf978cf99b693baa1a9d49b8e52f978a1da635139566b0dadba7e1c4c57da6ffa96bd29105d2cb967fb93c1e0e41
-SHA512 (llvmorg-16.0.6.tar.gz) = 6f084ac08cc5ec99996eb59fa7d5a8ea3b9ebc5b78159b87a868ebfd049b9f9a9048824df1a545e2a20bedff57ebe26f57e57cbc7bd9433edcd36424d973a4d5
-SHA512 (intel-opencl-clang-07e7c93.tar.gz) = 6018fab7d2dca275d464556cd998b4becf4938ba789d4365209bdfebc539d36fd9447e9b6093f2181f1b0b123593aa46c1c8942a4302406a3236ef45f642f06e
-SHA512 (v2.36.3.tar.gz) = 600d43f101da1226191114824d5b8af34c1a978af5cc2f95b65f1ffe98a45a4ea62aa85c7a4b95aab102d4ca2486de3ef1c4d5fa7dbee948f78ca0c423a1916f
-SHA512 (spirv-headers-b8a3296.tar.gz) = 78854ea965b88804feb9d2b6c0d11547931526a5be91b87a9404934894f5f392d39cfbf7224ba9e8ed88d725bff08761c81d61ea30dfe50c3cb177f8c9ab42f1
-SHA512 (spirv-llvm-translator-b84990a.tar.gz) = 520bfae3b95857491813faf8ddf23dffed9d74f863ba7a3176e2a86776bc0c5fa1185b0488c5eba2f085c94b1c6a937b4906ade62e75aa67a022f7de811b8509
+SHA512 (v2.41.9.tar.gz) = f2decb6b8634d003816b403162407fc2884093914703fd2ad602855e67c07686ea94fdd301af74f7d41358d6e19f853350b5577678c8d40f17b2de66067c7882
+SHA512 (spirv-llvm-translator-27afcfe.tar.gz) = 1e9dbafddaf707aaee4d4975c5dfbbdd33a934cccbe53ae4cb8665797638bb3b29e4826cd181a0aaa5daf7b489056587e9dae310f342c05dfd41ad7ec9506e0a
+SHA512 (spirv-tools-f803515.tar.gz) = 1914498d8009a2ac48fc934cf34eaa958c87cbea29ec82dc4948f3a8cd74695cabc9a8df7ba9dbcdbe0302bd330a482d77e00837432cb868adf671a0417ebf14
+SHA512 (llvmorg-22.1.8.tar.gz) = 5669b5722e6e829001d7227bfdc61b910e1d7784fe366a9cbcea96a0957fee7dfaa7bdaecc64c8dadfddc2fce91372f66628006f974611adf9415d2fbc156ede
+SHA512 (spirv-headers-575b651.tar.gz) = bbff94d40149d529d4c329f0d73597d8f404202198fd4f35316585915919254e7ead5a1caa928dba9f04591423da6bc33f73a308fc26d95de4bfa6eecb47384c
+SHA512 (intel-opencl-clang-b953ece.tar.gz) = 2c50ec5826c152092d0532f82670613ca5efb6d265561d9b99e6e9193a77bb9b1a8222261f88abdefd28c73b7c48dfb084162c429652ed6e8a227678f5341677
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-18 23:17 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-18 23:17 [rpms/intel-igc] rawhide: New release 2.41.9 Androniychuk, Pavel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox