From 832a14ad2143e71f5a0f932710041d71d23f6ec4 Mon Sep 17 00:00:00 2001 From: Luna Nova Date: Sun, 19 Jul 2026 19:14:34 -0700 Subject: [PATCH] rocmPackages.llvm: backport select-ptr combine so llvm-22 sdag fix applies --- .../development/rocm-modules/llvm/default.nix | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/pkgs/development/rocm-modules/llvm/default.nix b/pkgs/development/rocm-modules/llvm/default.nix index c929961ddf16..99f358656679 100644 --- a/pkgs/development/rocm-modules/llvm/default.nix +++ b/pkgs/development/rocm-modules/llvm/default.nix @@ -293,7 +293,29 @@ let in overrideLlvmPackagesRocm (s: { libllvm = (s.prev.libllvm.override { }).overrideAttrs (old: { - patches = old.patches ++ [ + patches = [ + # Backport select ptr combine fixes so our LLVM 22 sdag fix backport can apply + (fetchpatch { + name = "amdgpu-add-baseline-load-select-ptr-combine-test.patch"; + url = "https://github.com/llvm/llvm-project/commit/ac27b2455ad7c89cc1f928de7beb05933a035031.patch"; + relative = "llvm"; + hash = "sha256-1mine1h/oqnn2tKDYW4FntyZXu/foyifrKGkqKOHrPg="; + }) + (fetchpatch { + name = "amdgpu-fix-treating-divergent-loads-as-uniform.patch"; + url = "https://github.com/llvm/llvm-project/commit/d3c3c6bab5df051d9db12ea96add2211df9d81be.patch"; + relative = "llvm"; + hash = "sha256-9VB77d4d+nwX8s+JBq1PXmbmqT7oD6lRC0uDIrTgjjo="; + }) + (fetchpatch { + name = "dag-allow-select-ptr-combine-for-non-0-address-spaces.patch"; + url = "https://github.com/llvm/llvm-project/commit/0e1cb2de90aafa1d5dbd46fc9e6c4e743700fa8b.patch"; + relative = "llvm"; + hash = "sha256-6Pj3pRESaho60YhXWwaQxEKteSuziZseeT4FbZqZANk="; + }) + ] + ++ old.patches + ++ [ ./perf-increase-namestring-size.patch # v64i8 shuffle lowering inf loop on VBMI targets, hangs whisper-cpp etc # https://github.com/NixOS/nixpkgs/issues/497745