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>
|
||||
|
||||
|
@ -139,6 +139,7 @@ Patch54: n_drirc-disable-rgb10-for-chromium-on-amd.patch
|
||||
Patch58: u_dep_xcb.patch
|
||||
Patch100: U_fix-mpeg1_2-decode-mesa-20.2.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
|
||||
Patch400: n_no-sse2-on-ix86-except-for-intel-drivers.patch
|
||||
Patch500: n_stop-iris-flicker.patch
|
||||
@ -760,6 +761,7 @@ rm -rf docs/README.{VMS,WIN32,OS2}
|
||||
%patch58 -p1
|
||||
%patch100 -p1
|
||||
%patch200 -p1
|
||||
%patch201 -p1
|
||||
%patch300 -p1
|
||||
%ifarch %{ix86}
|
||||
%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