From d1d3411ba55aaa177a2a0619284d5b3891b9b7cd Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Wed, 16 Oct 2019 12:30:13 -0400 Subject: [PATCH] pan/midgard: Implement per-byte liveness tracking Now that we have notion of byte masks, liveness tracking can be updated to reflect this extra granularity without loss of correctness. Signed-off-by: Alyssa Rosenzweig --- src/panfrost/midgard/midgard_liveness.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/panfrost/midgard/midgard_liveness.c b/src/panfrost/midgard/midgard_liveness.c index 1aa4158e353..08f8a07bcee 100644 --- a/src/panfrost/midgard/midgard_liveness.c +++ b/src/panfrost/midgard/midgard_liveness.c @@ -60,14 +60,13 @@ mir_liveness_ins_update(uint16_t *live, midgard_instruction *ins, unsigned max) { /* live_in[s] = GEN[s] + (live_out[s] - KILL[s]) */ - liveness_kill(live, ins->dest, max, ins->mask); + liveness_kill(live, ins->dest, max, mir_bytemask(ins)); mir_foreach_src(ins, src) { unsigned node = ins->src[src]; unsigned bytemask = mir_bytemask_of_read_components(ins, node); - unsigned mask = mir_from_bytemask(bytemask, midgard_reg_mode_32); - liveness_gen(live, node, max, mask); + liveness_gen(live, node, max, bytemask); } } -- 2.30.2