From 5fd3f27406bfe25705cf963015f3b4660b750757 Mon Sep 17 00:00:00 2001 From: Lorenzo Rossi Date: Tue, 12 May 2026 12:19:19 +0200 Subject: [PATCH] pan/bifrost: Make CSE independent of liveliness labels CSE should not depend on liveliness analysis. When the pass runs the only possible liveliness analysis that is run is on the bi_validate path, having a dependency only makes our validated runs different (and slower) than the unvalidated runs. Signed-off-by: Lorenzo Rossi Found-by: Ryan Zhang Reviewed-by: Ryan Zhang Reviewed-by: Eric R. Smith Part-of: --- src/panfrost/compiler/bifrost/bi_opt_cse.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/panfrost/compiler/bifrost/bi_opt_cse.c b/src/panfrost/compiler/bifrost/bi_opt_cse.c index 23984bef4f9..86de9962143 100644 --- a/src/panfrost/compiler/bifrost/bi_opt_cse.c +++ b/src/panfrost/compiler/bifrost/bi_opt_cse.c @@ -84,6 +84,9 @@ instrs_equal(const void *_i1, const void *_i2) bi_foreach_src(i1, s) { bi_index s1 = i1->src[s], s2 = i2->src[s]; + /* kill_ssa is a liveness annotation, not part of instruction semantics */ + s1.kill_ssa = s2.kill_ssa = false; + if (memcmp(&s1, &s2, sizeof(s1)) != 0) return false; }