public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Pavel Androniychuk <pavel.androniychuk@intel.com>
To: git-commits@fedoraproject.org
Subject: [rpms/intel-igc] f44: Merge branch 'rawhide' into f44
Date: Mon, 21 Sep 2026 21:07:33 GMT	[thread overview]
Message-ID: <179002485333.1.7283099751595712515.rpms-intel-igc-38e8c53271e1@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/intel-igc
Branch : f44
Commit : 38e8c53271e176ceee0fbbcb1db151e171701aab
Author : Pavel Androniychuk <pavel.androniychuk@intel.com>
Date   : 2026-09-21T13:32:16-07:00
Stats  : +73/-116 in 6 file(s)
URL    : https://src.fedoraproject.org/rpms/intel-igc/c/38e8c53271e176ceee0fbbcb1db151e171701aab?branch=f44

Log:
Merge branch 'rawhide' into f44

---
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 e04883c..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
@@ -141,6 +145,9 @@ tar -xf %{SOURCE5} -C %{_builddir}/SPIRV-Tools   --strip-components=1
 # adjust the directories if needed, when patches change.
 git config --global user.email "build@localhost"
 git config --global user.name "build"
+# Disable background gc/maintenance: it can mutate .git while IGC's cmake building
+git config --global gc.auto 0
+git config --global maintenance.auto false
 git -C %{_builddir}/llvm-project init -q
 git -C %{_builddir}/llvm-project add -f clang/ llvm/docs
 git -C %{_builddir}/llvm-project commit -q -m "llvmorg-%{llvm_ver}"
@@ -154,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}/ \
@@ -173,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
@@ -191,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

             reply	other threads:[~2026-09-21 21:07 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-21 21:07 Pavel Androniychuk [this message]
  -- strict thread matches above, loose matches on Subject: below --
2026-07-16 16:21 [rpms/intel-igc] f44: Merge branch 'rawhide' into f44 Androniychuk, Pavel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=179002485333.1.7283099751595712515.rpms-intel-igc-38e8c53271e1@fedoraproject.org \
    --to=pavel.androniychuk@intel.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox