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;
/* 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;
} OptContext;
@ -961,13 +959,6 @@ static bool finish_folding(OptContext *ctx, TCGOp *op)
for (i = 0; i < nb_oargs; i++) {
TCGTemp *ts = arg_temp(op->args[i]);
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;
}
@ -2879,10 +2870,6 @@ void tcg_optimize(TCGContext *s)
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.
* Sorted alphabetically by opcode as much as possible.