Accepting request 1030363 from home:favogt:boo1204267
- Add patch to fix LLVM optimization to avoid failure on armv7 (https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19217, boo#1204267): * u_0001-gallivm-Fix-LLVM-optimization-with-the-new-pass-mana.patch OBS-URL: https://build.opensuse.org/request/show/1030363 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=1150
This commit is contained in:
parent
79acec9253
commit
da69acf230
@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 21 09:41:37 UTC 2022 - Fabian Vogt <fvogt@suse.com>
|
||||||
|
|
||||||
|
- Add patch to fix LLVM optimization to avoid failure on armv7
|
||||||
|
(https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19217,
|
||||||
|
boo#1204267):
|
||||||
|
* u_0001-gallivm-Fix-LLVM-optimization-with-the-new-pass-mana.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Oct 20 08:46:59 UTC 2022 - Stefan Dirsch <sndirsch@suse.com>
|
Thu Oct 20 08:46:59 UTC 2022 - Stefan Dirsch <sndirsch@suse.com>
|
||||||
|
|
||||||
|
@ -139,6 +139,7 @@ Patch54: n_drirc-disable-rgb10-for-chromium-on-amd.patch
|
|||||||
Patch58: u_dep_xcb.patch
|
Patch58: u_dep_xcb.patch
|
||||||
Patch100: U_fix-mpeg1_2-decode-mesa-20.2.patch
|
Patch100: U_fix-mpeg1_2-decode-mesa-20.2.patch
|
||||||
Patch200: u_fix-build-on-ppc64le.patch
|
Patch200: u_fix-build-on-ppc64le.patch
|
||||||
|
Patch201: u_0001-gallivm-Fix-LLVM-optimization-with-the-new-pass-mana.patch
|
||||||
Patch300: n_buildfix-21.3.0.patch
|
Patch300: n_buildfix-21.3.0.patch
|
||||||
Patch400: n_no-sse2-on-ix86-except-for-intel-drivers.patch
|
Patch400: n_no-sse2-on-ix86-except-for-intel-drivers.patch
|
||||||
Patch500: n_stop-iris-flicker.patch
|
Patch500: n_stop-iris-flicker.patch
|
||||||
@ -760,6 +761,7 @@ rm -rf docs/README.{VMS,WIN32,OS2}
|
|||||||
%patch58 -p1
|
%patch58 -p1
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%patch200 -p1
|
%patch200 -p1
|
||||||
|
%patch201 -p1
|
||||||
%patch300 -p1
|
%patch300 -p1
|
||||||
%ifarch %{ix86}
|
%ifarch %{ix86}
|
||||||
%patch400 -p1
|
%patch400 -p1
|
||||||
|
@ -0,0 +1,92 @@
|
|||||||
|
From 7d6df34deeed5a42163f9b548945e4d785ba48cf Mon Sep 17 00:00:00 2001
|
||||||
|
From: Fabian Vogt <fvogt@suse.de>
|
||||||
|
Date: Fri, 21 Oct 2022 11:20:31 +0200
|
||||||
|
Subject: [PATCH] gallivm: Fix LLVM optimization with the new pass manager
|
||||||
|
|
||||||
|
The previous list of passes contained several errors: "constprop" does not
|
||||||
|
exist anymore and a trailing ',' is not allowed. This made LLVMRunPasses
|
||||||
|
fail, but the error is silently ignored. Thus none of the listed passes
|
||||||
|
ran at all.
|
||||||
|
|
||||||
|
https://reviews.llvm.org/D85159 suggests "InstSimplify really should be
|
||||||
|
used anywhere ConstProp is being used" so replace constprop with
|
||||||
|
instsimplify and remove the trailing comma.
|
||||||
|
|
||||||
|
By enabling pass logging with
|
||||||
|
LLVMPassBuilderOptionsSetDebugLogging(opts, true),
|
||||||
|
the difference is visible. Before:
|
||||||
|
|
||||||
|
Running pass: AlwaysInlinerPass on [module]
|
||||||
|
Running analysis: InnerAnalysisManagerProxy<llvm::FunctionAnalysisManager, llvm::Module> on [module]
|
||||||
|
Running analysis: ProfileSummaryAnalysis on [module]
|
||||||
|
Running pass: CoroConditionalWrapper on [module]
|
||||||
|
Running pass: AnnotationRemarksPass on fs_variant_partial (1162 instructions)
|
||||||
|
Running analysis: TargetLibraryAnalysis on fs_variant_partial
|
||||||
|
Running pass: AnnotationRemarksPass on fs_variant_whole (1110 instructions)
|
||||||
|
Running analysis: TargetLibraryAnalysis on fs_variant_whole
|
||||||
|
|
||||||
|
After:
|
||||||
|
|
||||||
|
Running pass: AlwaysInlinerPass on [module]
|
||||||
|
Running analysis: InnerAnalysisManagerProxy<llvm::FunctionAnalysisManager, llvm::Module> on [module]
|
||||||
|
Running analysis: ProfileSummaryAnalysis on [module]
|
||||||
|
Running pass: CoroConditionalWrapper on [module]
|
||||||
|
Running pass: AnnotationRemarksPass on fs_variant_partial (1162 instructions)
|
||||||
|
Running analysis: TargetLibraryAnalysis on fs_variant_partial
|
||||||
|
Running pass: AnnotationRemarksPass on fs_variant_whole (1110 instructions)
|
||||||
|
Running analysis: TargetLibraryAnalysis on fs_variant_whole
|
||||||
|
Running analysis: InnerAnalysisManagerProxy<llvm::FunctionAnalysisManager, llvm::Module> on [module]
|
||||||
|
Running pass: SROAPass on fs_variant_partial (1162 instructions)
|
||||||
|
Running analysis: DominatorTreeAnalysis on fs_variant_partial
|
||||||
|
Running analysis: AssumptionAnalysis on fs_variant_partial
|
||||||
|
Running analysis: TargetIRAnalysis on fs_variant_partial
|
||||||
|
Running pass: EarlyCSEPass on fs_variant_partial (1111 instructions)
|
||||||
|
Running analysis: TargetLibraryAnalysis on fs_variant_partial
|
||||||
|
Running pass: SimplifyCFGPass on fs_variant_partial (961 instructions)
|
||||||
|
Running pass: ReassociatePass on fs_variant_partial (961 instructions)
|
||||||
|
Running pass: PromotePass on fs_variant_partial (897 instructions)
|
||||||
|
Running pass: InstCombinePass on fs_variant_partial (897 instructions)
|
||||||
|
Running analysis: OptimizationRemarkEmitterAnalysis on fs_variant_partial
|
||||||
|
Running analysis: AAManager on fs_variant_partial
|
||||||
|
Running analysis: BasicAA on fs_variant_partial
|
||||||
|
Running analysis: ScopedNoAliasAA on fs_variant_partial
|
||||||
|
Running analysis: TypeBasedAA on fs_variant_partial
|
||||||
|
Running analysis: OuterAnalysisManagerProxy<llvm::ModuleAnalysisManager, llvm::Function> on fs_variant_partial
|
||||||
|
Running pass: SROAPass on fs_variant_whole (1110 instructions)
|
||||||
|
Running analysis: DominatorTreeAnalysis on fs_variant_whole
|
||||||
|
Running analysis: AssumptionAnalysis on fs_variant_whole
|
||||||
|
Running analysis: TargetIRAnalysis on fs_variant_whole
|
||||||
|
Running pass: EarlyCSEPass on fs_variant_whole (1059 instructions)
|
||||||
|
Running analysis: TargetLibraryAnalysis on fs_variant_whole
|
||||||
|
Running pass: SimplifyCFGPass on fs_variant_whole (912 instructions)
|
||||||
|
Running pass: ReassociatePass on fs_variant_whole (912 instructions)
|
||||||
|
Running pass: PromotePass on fs_variant_whole (844 instructions)
|
||||||
|
Running pass: InstCombinePass on fs_variant_whole (844 instructions)
|
||||||
|
Running analysis: OptimizationRemarkEmitterAnalysis on fs_variant_whole
|
||||||
|
Running analysis: AAManager on fs_variant_whole
|
||||||
|
Running analysis: BasicAA on fs_variant_whole
|
||||||
|
Running analysis: ScopedNoAliasAA on fs_variant_whole
|
||||||
|
Running analysis: TypeBasedAA on fs_variant_whole
|
||||||
|
Running analysis: OuterAnalysisManagerProxy<llvm::ModuleAnalysisManager, llvm::Function> on fs_variant_whole
|
||||||
|
|
||||||
|
Fixes: 2037c34f245 ("gallivm: move to new pass manager to handle coroutines change.")
|
||||||
|
---
|
||||||
|
src/gallium/auxiliary/gallivm/lp_bld_init.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c
|
||||||
|
index f77aac75b76..cc410cc1928 100644
|
||||||
|
--- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
|
||||||
|
+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
|
||||||
|
@@ -601,7 +601,7 @@ gallivm_compile_module(struct gallivm_state *gallivm)
|
||||||
|
LLVMRunPasses(gallivm->module, passes, LLVMGetExecutionEngineTargetMachine(gallivm->engine), opts);
|
||||||
|
|
||||||
|
if (!(gallivm_perf & GALLIVM_PERF_NO_OPT))
|
||||||
|
- strcpy(passes, "sroa,early-cse,simplifycfg,reassociate,mem2reg,constprop,instcombine,");
|
||||||
|
+ strcpy(passes, "sroa,early-cse,simplifycfg,reassociate,mem2reg,instsimplify,instcombine");
|
||||||
|
else
|
||||||
|
strcpy(passes, "mem2reg");
|
||||||
|
|
||||||
|
--
|
||||||
|
2.38.0
|
||||||
|
|
Loading…
Reference in New Issue
Block a user