summaryrefslogtreecommitdiffstats
path: root/src/panfrost/midgard/midgard_liveness.c
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-10-16 12:30:13 -0400
committerAlyssa Rosenzweig <[email protected]>2019-10-20 12:02:31 +0000
commitd1d3411ba55aaa177a2a0619284d5b3891b9b7cd (patch)
treed14c2347fcf17080286091f0f7847bb4dce0128d /src/panfrost/midgard/midgard_liveness.c
parent43fd730fc4d9382b94cc6f296f4e07e7508c3ca3 (diff)
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 <[email protected]>
Diffstat (limited to 'src/panfrost/midgard/midgard_liveness.c')
-rw-r--r--src/panfrost/midgard/midgard_liveness.c5
1 files 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);
}
}