From: Alyssa Rosenzweig Date: Wed, 24 Jul 2019 18:16:15 +0000 (-0700) Subject: pan/midgard: Extend liveness analysis to st_vary X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0f38f6466e8f1db31aec0bc60e12246a67f91d4d;p=mesa.git pan/midgard: Extend liveness analysis to st_vary These can consume sources now. Signed-off-by: Alyssa Rosenzweig --- diff --git a/src/panfrost/midgard/midgard_ra.c b/src/panfrost/midgard/midgard_ra.c index 5f12cb9fc07..2f4bdc65c35 100644 --- a/src/panfrost/midgard/midgard_ra.c +++ b/src/panfrost/midgard/midgard_ra.c @@ -372,20 +372,13 @@ allocate_registers(compiler_context *ctx, bool *spilled) mir_foreach_instr_in_block(block, ins) { if (ins->compact_branch) continue; - /* Dest is < 0 for st_vary instructions, which break - * the usual SSA conventions. Liveness analysis doesn't - * make sense on these instructions, so skip them to - * avoid memory corruption */ - - if (ins->ssa_args.dest < 0) continue; - if (ins->ssa_args.dest < SSA_FIXED_MINIMUM) { /* If this destination is not yet live, it is * now since we just wrote it */ int dest = ins->ssa_args.dest; - if (live_start[dest] == -1) + if (dest >= 0 && live_start[dest] == -1) live_start[dest] = d; }