pan/mdg: Free previous liveness
Before we drop the reference.
160 calls with 0B peak consumption from:
0xffffbd9d2fc3
in ??
pan_compute_liveness
at ../src/panfrost/util/pan_liveness.c:127
in /home/alyssa/rockchip_dri.so
mir_compute_liveness
at ../src/panfrost/midgard/midgard_liveness.c:55
in /home/alyssa/rockchip_dri.so
midgard_opt_dead_code_eliminate
at ../src/panfrost/midgard/midgard_opt_dce.c:118
in /home/alyssa/rockchip_dri.so
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Cc: mesa-stable
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>
diff --git a/src/panfrost/util/pan_liveness.c b/src/panfrost/util/pan_liveness.c
index 9772feb..0ec9652 100644
--- a/src/panfrost/util/pan_liveness.c
+++ b/src/panfrost/util/pan_liveness.c
@@ -120,11 +120,13 @@
_mesa_hash_pointer,
_mesa_key_pointer_equal);
- /* Allocate */
+ /* Free any previous liveness, and allocate */
+
+ pan_free_liveness(blocks);
list_for_each_entry(pan_block, block, blocks, link) {
- block->live_in = rzalloc_array(NULL, uint16_t, temp_count);
- block->live_out = rzalloc_array(NULL, uint16_t, temp_count);
+ block->live_in = rzalloc_array(block, uint16_t, temp_count);
+ block->live_out = rzalloc_array(block, uint16_t, temp_count);
}
/* Initialize the work list with the exit block */