From df7a88dca3e85ad40e5313840aadce884b28bb8d Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Sun, 10 Nov 2019 10:49:59 -0800 Subject: [PATCH] freedreno/ir3: legalize cleanups We can clear the "needs" flags once we emit a flag. And also, don't open-code the opcode name. Signed-off-by: Rob Clark Reviewed-by: Kristian H. Kristensen Reviewed-by: Eric Anholt --- src/freedreno/ir3/ir3_legalize.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/freedreno/ir3/ir3_legalize.c b/src/freedreno/ir3/ir3_legalize.c index a7c41b36b10..4470eabd352 100644 --- a/src/freedreno/ir3/ir3_legalize.c +++ b/src/freedreno/ir3/ir3_legalize.c @@ -134,10 +134,16 @@ legalize_block(struct ir3_legalize_ctx *ctx, struct ir3_block *block) if (last_n && is_barrier(last_n)) { n->flags |= IR3_INSTR_SS | IR3_INSTR_SY; last_input_needs_ss = false; + regmask_init(&state->needs_ss_war); + regmask_init(&state->needs_ss); + regmask_init(&state->needs_sy); } - if (last_n && opc_cat(last_n->opc) == 0 && opc_op(last_n->opc) == 13) + if (last_n && (last_n->opc == OPC_CONDEND)) { n->flags |= IR3_INSTR_SS; + regmask_init(&state->needs_ss_war); + regmask_init(&state->needs_ss); + } /* NOTE: consider dst register too.. it could happen that * texture sample instruction (for example) writes some -- 2.30.2