From 56ffad0c3a97f47019225554e1aa649589b3468a Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Thu, 16 Apr 2026 10:28:50 -0400 Subject: [PATCH] jay: call DCE an extra time Totals: Instrs: 2767235 -> 2765908 (-0.05%); split: -0.10%, +0.05% CodeSize: 44349488 -> 44328688 (-0.05%); split: -0.10%, +0.06% Totals from 347 (13.11% of 2647) affected shaders: Instrs: 718067 -> 716740 (-0.18%); split: -0.39%, +0.20% CodeSize: 11626032 -> 11605232 (-0.18%); split: -0.39%, +0.21% Signed-off-by: Alyssa Rosenzweig Part-of: --- src/intel/compiler/jay/jay_from_nir.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/intel/compiler/jay/jay_from_nir.c b/src/intel/compiler/jay/jay_from_nir.c index 5554ebaad8c..15cc59c1808 100644 --- a/src/intel/compiler/jay/jay_from_nir.c +++ b/src/intel/compiler/jay/jay_from_nir.c @@ -2624,8 +2624,14 @@ jay_compile(const struct intel_device_info *devinfo, jay_validate(s, "NIR->Jay translation"); + /* After each propagation pass, eliminate dead code. This ensures use counts + * are correct in jay_opt_propagate_backwards which allows more progress. We + * don't do a progress loop - just run DCE an extra time. DCE is cheap. + */ if (!(jay_debug & JAY_DBG_NOOPT)) { JAY_PASS(s, jay_opt_propagate_forwards); + JAY_PASS(s, jay_opt_dead_code); + JAY_PASS(s, jay_opt_propagate_backwards); JAY_PASS(s, jay_opt_dead_code); }