From: Alyssa Rosenzweig Date: Thu, 23 May 2019 02:23:39 +0000 (+0000) Subject: panfrost/midgard: Cleanup copy propagation X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5da0a33fab0b3cc6ea03c102bd1e156904d983e5;p=mesa.git panfrost/midgard: Cleanup copy propagation Signed-off-by: Alyssa Rosenzweig Reviewed-by: Ryan Houdek --- diff --git a/src/gallium/drivers/panfrost/midgard/midgard_compile.c b/src/gallium/drivers/panfrost/midgard/midgard_compile.c index b57b46aaecd..c519193a56a 100644 --- a/src/gallium/drivers/panfrost/midgard/midgard_compile.c +++ b/src/gallium/drivers/panfrost/midgard/midgard_compile.c @@ -1769,17 +1769,10 @@ midgard_opt_copy_prop(compiler_context *ctx, midgard_block *block) if (mir_nontrivial_mod(src, is_int, mask)) continue; if (ins->alu.outmod != midgard_outmod_none) continue; - mir_foreach_instr_in_block_from(block, v, mir_next_op(ins)) { - if (v->ssa_args.src0 == to) { - v->ssa_args.src0 = from; - progress = true; - } - - if (v->ssa_args.src1 == to && !v->ssa_args.inline_constant) { - v->ssa_args.src1 = from; - progress = true; - } - } + /* We're clear -- rewrite */ + mir_rewrite_index_src(ctx, to, from); + mir_remove_instruction(ins); + progress |= true; } return progress;