From 4bedd8c35c1dfa86a015b4751393e275a53b81fc Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Mon, 11 Aug 2025 13:29:02 +0200 Subject: [PATCH] pan/bi: bail from optimizing on oom Allocations can fail, and since this is an optimization pass, let's just skip the pass and let some other code deal with the OOM situation. Fixes: 800a8614313 ("pan/bi: Fuse FCMP/ICMP on Valhall") Reviewed-by: Eric R. Smith Part-of: --- src/panfrost/compiler/valhall/va_optimize.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/panfrost/compiler/valhall/va_optimize.c b/src/panfrost/compiler/valhall/va_optimize.c index fb1c87d928b..45cefae177a 100644 --- a/src/panfrost/compiler/valhall/va_optimize.c +++ b/src/panfrost/compiler/valhall/va_optimize.c @@ -306,6 +306,9 @@ va_optimize_forward(bi_context *ctx) bi_instr **uses = calloc(count, sizeof(*uses)); BITSET_WORD *multiple = calloc(BITSET_WORDS(count), sizeof(*multiple)); + if (!lut || !uses || !multiple) + goto out; + /* Record usage across blocks */ bi_foreach_block(ctx, block) { bi_foreach_instr_in_block(block, I) { @@ -323,6 +326,7 @@ va_optimize_forward(bi_context *ctx) va_fuse_cmp(ctx, lut, multiple, I); } +out: free(uses); free(lut); free(multiple);