On 4/15/25 12:25, Richard Henderson wrote:
Here we cannot rely on the default copied from
tcg_op_insert_{after,before}, because the relevant
op could be typeless, such as INDEX_op_call.

Fixes: ...
Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
---
  tcg/tcg.c | 3 +++
  1 file changed, 3 insertions(+)

diff --git a/tcg/tcg.c b/tcg/tcg.c
index 05604d122a..3c80ad086c 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -4408,6 +4408,7 @@ liveness_pass_2(TCGContext *s)
                                    : INDEX_op_ld_i64);
                  TCGOp *lop = tcg_op_insert_before(s, op, lopc, 3);
+ TCGOP_TYPE(lop) = arg_ts->type;
                  lop->args[0] = temp_arg(dir_ts);
                  lop->args[1] = temp_arg(arg_ts->mem_base);
                  lop->args[2] = arg_ts->mem_offset;
@@ -4480,6 +4481,7 @@ liveness_pass_2(TCGContext *s)
                          arg_ts->state = TS_MEM;
                      }
+ TCGOP_TYPE(sop) = arg_ts->type;
                      sop->args[0] = temp_arg(out_ts);
                      sop->args[1] = temp_arg(arg_ts->mem_base);
                      sop->args[2] = arg_ts->mem_offset;
@@ -4507,6 +4509,7 @@ liveness_pass_2(TCGContext *s)
                                        : INDEX_op_st_i64);
                      TCGOp *sop = tcg_op_insert_after(s, op, sopc, 3);
+ TCGOP_TYPE(sop) = arg_ts->type;
                      sop->args[0] = temp_arg(dir_ts);
                      sop->args[1] = temp_arg(arg_ts->mem_base);
                      sop->args[2] = arg_ts->mem_offset;

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


Reply via email to