tcg/optimize: Remove z_mask, s_mask from OptContext

All mask setting is now done with parameters via fold_masks_*.

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson 2024-12-09 13:57:09 -06:00
parent 0ae5642889
commit a3a88b17c2

View file

@ -64,8 +64,6 @@ typedef struct OptContext {
QSIMPLEQ_HEAD(, MemCopyInfo) mem_free; QSIMPLEQ_HEAD(, MemCopyInfo) mem_free;
/* In flight values from optimization. */ /* In flight values from optimization. */
uint64_t z_mask; /* mask bit is 0 iff value bit is 0 */
uint64_t s_mask; /* mask bit is 1 if value bit matches msb */
TCGType type; TCGType type;
} OptContext; } OptContext;
@ -961,13 +959,6 @@ static bool finish_folding(OptContext *ctx, TCGOp *op)
for (i = 0; i < nb_oargs; i++) { for (i = 0; i < nb_oargs; i++) {
TCGTemp *ts = arg_temp(op->args[i]); TCGTemp *ts = arg_temp(op->args[i]);
reset_ts(ctx, ts); reset_ts(ctx, ts);
/*
* Save the corresponding known-zero/sign bits mask for the
* first output argument (only one supported so far).
*/
if (i == 0) {
ts_info(ts)->z_mask = ctx->z_mask;
}
} }
return true; return true;
} }
@ -2879,10 +2870,6 @@ void tcg_optimize(TCGContext *s)
ctx.type = TCG_TYPE_I32; ctx.type = TCG_TYPE_I32;
} }
/* Assume all bits affected, no bits known zero, no sign reps. */
ctx.z_mask = -1;
ctx.s_mask = 0;
/* /*
* Process each opcode. * Process each opcode.
* Sorted alphabetically by opcode as much as possible. * Sorted alphabetically by opcode as much as possible.