[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5 15/43] tcg: Fix tcg_reg_alloc_dup*
From: |
Richard Henderson |
Subject: |
[PATCH v5 15/43] tcg: Fix tcg_reg_alloc_dup* |
Date: |
Sat, 24 Dec 2022 15:56:52 -0800 |
The assignment to mem_coherent should be done with any
modification, not simply with a newly allocated register.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
tcg/tcg.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tcg/tcg.c b/tcg/tcg.c
index 05d2b70ab7..371908b34b 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -3498,7 +3498,6 @@ static void tcg_reg_alloc_dup(TCGContext *s, const TCGOp
*op)
ots->reg = tcg_reg_alloc(s, dup_out_regs, allocated_regs,
op->output_pref[0], ots->indirect_base);
ots->val_type = TEMP_VAL_REG;
- ots->mem_coherent = 0;
s->reg_to_temp[ots->reg] = ots;
}
@@ -3552,6 +3551,7 @@ static void tcg_reg_alloc_dup(TCGContext *s, const TCGOp
*op)
tcg_debug_assert(ok);
done:
+ ots->mem_coherent = 0;
if (IS_DEAD_ARG(1)) {
temp_dead(s, its);
}
@@ -3779,7 +3779,6 @@ static bool tcg_reg_alloc_dup2(TCGContext *s, const TCGOp
*op)
ots->reg = tcg_reg_alloc(s, dup_out_regs, allocated_regs,
op->output_pref[0], ots->indirect_base);
ots->val_type = TEMP_VAL_REG;
- ots->mem_coherent = 0;
s->reg_to_temp[ots->reg] = ots;
}
@@ -3823,6 +3822,7 @@ static bool tcg_reg_alloc_dup2(TCGContext *s, const TCGOp
*op)
return false;
done:
+ ots->mem_coherent = 0;
if (IS_DEAD_ARG(1)) {
temp_dead(s, itsl);
}
--
2.34.1
- [PATCH v5 07/43] target/ppc: Use QEMU_IOTHREAD_LOCK_GUARD in ppc_maybe_interrupt, (continued)
- [PATCH v5 07/43] target/ppc: Use QEMU_IOTHREAD_LOCK_GUARD in ppc_maybe_interrupt, Richard Henderson, 2022/12/24
- [PATCH v5 06/43] hw/mips: Use QEMU_IOTHREAD_LOCK_GUARD in cpu_mips_irq_request, Richard Henderson, 2022/12/24
- [PATCH v5 08/43] target/ppc: Use QEMU_IOTHREAD_LOCK_GUARD in cpu_interrupt_exittb, Richard Henderson, 2022/12/24
- [PATCH v5 01/43] tcg: convert tcg/README to rst, Richard Henderson, 2022/12/24
- [PATCH v5 09/43] target/riscv: Use QEMU_IOTHREAD_LOCK_GUARD in riscv_cpu_update_mip, Richard Henderson, 2022/12/24
- [PATCH v5 12/43] tcg: Tidy tcg_reg_alloc_op, Richard Henderson, 2022/12/24
- [PATCH v5 11/43] accel/tcg: Use QEMU_IOTHREAD_LOCK_GUARD in io_readx/io_writex, Richard Henderson, 2022/12/24
- [PATCH v5 13/43] tcg: Remove TCG_TARGET_STACK_GROWSUP, Richard Henderson, 2022/12/24
- [PATCH v5 14/43] tci: MAX_OPC_PARAM_IARGS is no longer used, Richard Henderson, 2022/12/24
- [PATCH v5 10/43] hw/ppc: Use QEMU_IOTHREAD_LOCK_GUARD in ppc_set_irq, Richard Henderson, 2022/12/24
- [PATCH v5 15/43] tcg: Fix tcg_reg_alloc_dup*,
Richard Henderson <=
- [PATCH v5 17/43] tcg: Remove check_regs, Richard Henderson, 2022/12/24
- [PATCH v5 18/43] tcg: Massage process_op_defs(), Richard Henderson, 2022/12/24
- [PATCH v5 20/43] accel/tcg: Set cflags_next_tb in cpu_common_initfn, Richard Henderson, 2022/12/24
- [PATCH v5 21/43] target/sparc: Avoid TCGV_{LOW,HIGH}, Richard Henderson, 2022/12/24
- [PATCH v5 16/43] tcg: Centralize updates to reg_to_temp, Richard Henderson, 2022/12/24
- [PATCH v5 23/43] tcg: Add temp_subindex to TCGTemp, Richard Henderson, 2022/12/24
- [PATCH v5 28/43] tcg: Introduce TCGCallReturnKind and TCGCallArgumentKind, Richard Henderson, 2022/12/24
- [PATCH v5 30/43] tcg: Replace TCG_TARGET_EXTEND_ARGS with TCG_TARGET_CALL_ARG_I32, Richard Henderson, 2022/12/24
- [PATCH v5 22/43] tcg: Move TCG_{LOW,HIGH} to tcg-internal.h, Richard Henderson, 2022/12/24
- [PATCH v5 24/43] tcg: Simplify calls to temp_sync vs mem_coherent, Richard Henderson, 2022/12/24