On 12/10/24 07:23, Richard Henderson wrote:
Stores have no output operands, and so need no further work.

Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
---
  tcg/optimize.c | 11 +++++------
  1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/tcg/optimize.c b/tcg/optimize.c
index 6f41ef5adb..ee00620ce0 100644
--- a/tcg/optimize.c
+++ b/tcg/optimize.c
@@ -2125,7 +2125,7 @@ static bool fold_qemu_st(OptContext *ctx, TCGOp *op)
  {
      /* Opcodes that touch guest memory stop the mb optimization.  */
      ctx->prev_mb = NULL;
-    return false;
+    return true;
  }
static bool fold_remainder(OptContext *ctx, TCGOp *op)
@@ -2694,7 +2694,7 @@ static bool fold_tcg_st(OptContext *ctx, TCGOp *op)
if (op->args[1] != tcgv_ptr_arg(tcg_env)) {
          remove_mem_copy_all(ctx);
-        return false;
+        return true;
      }
switch (op->opc) {
@@ -2718,7 +2718,7 @@ static bool fold_tcg_st(OptContext *ctx, TCGOp *op)
          g_assert_not_reached();
      }
      remove_mem_copy_in(ctx, ofs, ofs + lm1);
-    return false;
+    return true;
  }
static bool fold_tcg_st_memcopy(OptContext *ctx, TCGOp *op)
@@ -2728,8 +2728,7 @@ static bool fold_tcg_st_memcopy(OptContext *ctx, TCGOp 
*op)
      TCGType type;
if (op->args[1] != tcgv_ptr_arg(tcg_env)) {
-        fold_tcg_st(ctx, op);
-        return false;
+        return fold_tcg_st(ctx, op);
      }
src = arg_temp(op->args[0]);
@@ -2751,7 +2750,7 @@ static bool fold_tcg_st_memcopy(OptContext *ctx, TCGOp 
*op)
      last = ofs + tcg_type_size(type) - 1;
      remove_mem_copy_in(ctx, ofs, last);
      record_mem_copy(ctx, type, src, ofs, last);
-    return false;
+    return true;
  }
static bool fold_xor(OptContext *ctx, TCGOp *op)

Reviewed-by: Pierrick Bouvier <pierrick.bouv...@linaro.org>


Reply via email to