Accepting request 1156667 from home:aaronpuchert:llvm-next

- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
  build with LLVM 18.

OBS-URL: https://build.opensuse.org/request/show/1156667
OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=1266
This commit is contained in:
Stefan Dirsch 2024-03-14 04:35:50 +00:00 committed by Git OBS Bridge
parent 8f7a99085d
commit 9e23222f0e
3 changed files with 66 additions and 0 deletions

View File

@ -5,6 +5,12 @@ Tue Mar 12 20:13:17 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
* zink: don't print error messages when failing an implicit
driver load (Mesa gitlab issue #10802)
-------------------------------------------------------------------
Sat Mar 9 22:17:33 UTC 2024 - Aaron Puchert <aaronpuchert@alice-dsl.net>
- Add U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch to fix
build with LLVM 18.
-------------------------------------------------------------------
Tue Mar 5 04:33:37 UTC 2024 - Jianhua Lu <lujianhua000@gmail.com>

View File

@ -142,6 +142,7 @@ Patch11: u_0001-intel-genxml-Drop-from-__future__-import-annotations.patc
Patch12: u_0002-intel-genxml-Add-a-untyped-OrderedDict-fallback-for-.patch
Patch13: python36-buildfix1.patch
Patch14: python36-buildfix2.patch
Patch15: U_fix-ac-llvm-LLVM-18-remove-useless-passes.patch
# never to be upstreamed
Patch54: n_drirc-disable-rgb10-for-chromium-on-amd.patch
Patch58: u_dep_xcb.patch
@ -763,6 +764,7 @@ rm -rf docs/README.{VMS,WIN32,OS2}
%if 0%{?suse_version} < 1550
%patch -P 14 -p1
%endif
%patch -P 15 -p1
# no longer needed since gstreamer-plugins-vaapi 1.18.4
%if 0%{?suse_version} < 1550
%patch -P 54 -p1

View File

@ -0,0 +1,58 @@
From bc7e363f8e1a26342e6fd7241c1f0ebb722338d6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kai=20Wasserb=C3=A4ch?= <kai@dev.carbon-project.org>
Date: Wed, 22 Nov 2023 20:21:11 +0100
Subject: [PATCH] fix: ac/llvm: LLVM 18: remove useless passes, partially
removed upstream
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream removed llvm::createLoopSinkPass() in commit
<https://github.com/llvm/llvm-project/commit/b9975cec0ea0a2f10d65b7bd1197d9e1706cbd3d>
and there is no useful alternative except moving to the new pass
manager.
On top of that, the usage of this optimisation pass and
PromoteMemoryToRegisterPass were just useless, according to the
upstream developer of the commit named above. Therefore the easiest
solution is, as him, Marek and Dave suggested, to just remove these two
passes from the pipeline for now.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10192
Reference: https://github.com/llvm/llvm-project/pull/72811
Reference: https://github.com/llvm/llvm-project/commit/b9975cec0ea0a2f10d65b7bd1197d9e1706cbd3d
Suggested-by: Dave Airlie <airlied@redhat.com>
Suggested-by: Aiden Grossman <agrossman154@yahoo.com>
Suggested-by: Marek Olšák <maraeo@gmail.com>
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26336>
---
src/amd/llvm/ac_llvm_helper.cpp | 5 -----
1 file changed, 5 deletions(-)
diff --git a/src/amd/llvm/ac_llvm_helper.cpp b/src/amd/llvm/ac_llvm_helper.cpp
index 40a4399e705..5d065279ad1 100644
--- a/src/amd/llvm/ac_llvm_helper.cpp
+++ b/src/amd/llvm/ac_llvm_helper.cpp
@@ -299,17 +299,12 @@ LLVMPassManagerRef ac_create_passmgr(LLVMTargetLibraryInfoRef target_library_inf
*/
unwrap(passmgr)->add(createBarrierNoopPass());
- /* This pass eliminates all loads and stores on alloca'd pointers. */
- unwrap(passmgr)->add(createPromoteMemoryToRegisterPass());
#if LLVM_VERSION_MAJOR >= 16
unwrap(passmgr)->add(createSROAPass(true));
#else
unwrap(passmgr)->add(createSROAPass());
#endif
/* TODO: restore IPSCCP */
- if (LLVM_VERSION_MAJOR >= 16)
- unwrap(passmgr)->add(createLoopSinkPass());
- /* TODO: restore IPSCCP */
unwrap(passmgr)->add(createLICMPass());
unwrap(passmgr)->add(createCFGSimplificationPass());
/* This is recommended by the instruction combining pass. */
--
2.44.0