From: Alyssa Rosenzweig Date: Thu, 23 Dec 2021 18:12:19 +0000 (-0500) Subject: pan/bi: Cull DTSEL_IMM dests in post-RA DCE X-Git-Tag: upstream/22.3.5~12391 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=87d46f40c87c6c612d61646382c74ccf533c5e09;p=platform%2Fupstream%2Fmesa.git pan/bi: Cull DTSEL_IMM dests in post-RA DCE They are useless (given the semantics of DTSEL_IMM) and complicate scoreboarding. Just remove them in the pass that removes all the other silly register destinations. Signed-off-by: Alyssa Rosenzweig Part-of: --- diff --git a/src/panfrost/bifrost/bi_opt_dce.c b/src/panfrost/bifrost/bi_opt_dce.c index 141591d..d1d3592 100644 --- a/src/panfrost/bifrost/bi_opt_dce.c +++ b/src/panfrost/bifrost/bi_opt_dce.c @@ -160,6 +160,9 @@ bi_opt_dce_post_ra(bi_context *ctx) uint64_t live = block->reg_live_out; bi_foreach_instr_in_block_rev(block, ins) { + if (ins->op == BI_OPCODE_DTSEL_IMM) + ins->dest[0] = bi_null(); + bi_foreach_dest(ins, d) { if (ins->dest[d].type != BI_INDEX_REGISTER) continue;