[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 11/51] tcg/optimize: Return true from tcg_opt_gen_{mov, movi}
From: |
Richard Henderson |
Subject: |
[PATCH v4 11/51] tcg/optimize: Return true from tcg_opt_gen_{mov, movi} |
Date: |
Tue, 26 Oct 2021 16:09:03 -0700 |
This will allow callers to tail call to these functions
and return true indicating processing complete.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
tcg/optimize.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/tcg/optimize.c b/tcg/optimize.c
index 19c01687b4..066e635f73 100644
--- a/tcg/optimize.c
+++ b/tcg/optimize.c
@@ -180,7 +180,7 @@ static bool args_are_copies(TCGArg arg1, TCGArg arg2)
return ts_are_copies(arg_temp(arg1), arg_temp(arg2));
}
-static void tcg_opt_gen_mov(OptContext *ctx, TCGOp *op, TCGArg dst, TCGArg src)
+static bool tcg_opt_gen_mov(OptContext *ctx, TCGOp *op, TCGArg dst, TCGArg src)
{
TCGTemp *dst_ts = arg_temp(dst);
TCGTemp *src_ts = arg_temp(src);
@@ -192,7 +192,7 @@ static void tcg_opt_gen_mov(OptContext *ctx, TCGOp *op,
TCGArg dst, TCGArg src)
if (ts_are_copies(dst_ts, src_ts)) {
tcg_op_remove(ctx->tcg, op);
- return;
+ return true;
}
reset_ts(dst_ts);
@@ -228,9 +228,10 @@ static void tcg_opt_gen_mov(OptContext *ctx, TCGOp *op,
TCGArg dst, TCGArg src)
di->is_const = si->is_const;
di->val = si->val;
}
+ return true;
}
-static void tcg_opt_gen_movi(OptContext *ctx, TCGOp *op,
+static bool tcg_opt_gen_movi(OptContext *ctx, TCGOp *op,
TCGArg dst, uint64_t val)
{
const TCGOpDef *def = &tcg_op_defs[op->opc];
@@ -248,7 +249,7 @@ static void tcg_opt_gen_movi(OptContext *ctx, TCGOp *op,
/* Convert movi to mov with constant temp. */
tv = tcg_constant_internal(type, val);
init_ts_info(ctx, tv);
- tcg_opt_gen_mov(ctx, op, dst, temp_arg(tv));
+ return tcg_opt_gen_mov(ctx, op, dst, temp_arg(tv));
}
static uint64_t do_constant_folding_2(TCGOpcode op, uint64_t x, uint64_t y)
--
2.25.1
- [PATCH v4 03/51] tcg/optimize: Remove do_default label, (continued)
- [PATCH v4 03/51] tcg/optimize: Remove do_default label, Richard Henderson, 2021/10/26
- [PATCH v4 05/51] tcg/optimize: Move prev_mb into OptContext, Richard Henderson, 2021/10/26
- [PATCH v4 04/51] tcg/optimize: Change tcg_opt_gen_{mov, movi} interface, Richard Henderson, 2021/10/26
- [PATCH v4 09/51] tcg/optimize: Drop nb_oargs, nb_iargs locals, Richard Henderson, 2021/10/26
- [PATCH v4 13/51] tcg/optimize: Use a boolean to avoid a mass of continues, Richard Henderson, 2021/10/26
- [PATCH v4 12/51] tcg/optimize: Split out finish_folding, Richard Henderson, 2021/10/26
- [PATCH v4 06/51] tcg/optimize: Split out init_arguments, Richard Henderson, 2021/10/26
- [PATCH v4 07/51] tcg/optimize: Split out copy_propagate, Richard Henderson, 2021/10/26
- [PATCH v4 08/51] tcg/optimize: Split out fold_call, Richard Henderson, 2021/10/26
- [PATCH v4 10/51] tcg/optimize: Change fail return for do_constant_folding_cond*, Richard Henderson, 2021/10/26
- [PATCH v4 11/51] tcg/optimize: Return true from tcg_opt_gen_{mov, movi},
Richard Henderson <=
- [PATCH v4 14/51] tcg/optimize: Split out fold_mb, fold_qemu_{ld,st}, Richard Henderson, 2021/10/26
- [PATCH v4 18/51] tcg/optimize: Split out fold_brcond, Richard Henderson, 2021/10/26
- [PATCH v4 19/51] tcg/optimize: Split out fold_setcond, Richard Henderson, 2021/10/26
- [PATCH v4 20/51] tcg/optimize: Split out fold_mulu2_i32, Richard Henderson, 2021/10/26
- [PATCH v4 17/51] tcg/optimize: Split out fold_brcond2, Richard Henderson, 2021/10/26
- [PATCH v4 21/51] tcg/optimize: Split out fold_addsub2_i32, Richard Henderson, 2021/10/26
- [PATCH v4 22/51] tcg/optimize: Split out fold_movcond, Richard Henderson, 2021/10/26
- [PATCH v4 15/51] tcg/optimize: Split out fold_const{1,2}, Richard Henderson, 2021/10/26
- [PATCH v4 26/51] tcg/optimize: Split out fold_count_zeros, Richard Henderson, 2021/10/26
- [PATCH v4 23/51] tcg/optimize: Split out fold_extract2, Richard Henderson, 2021/10/26