mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
tcg: correctly mark dead inputs for mov with a constant
When tcg_reg_alloc_mov propagate a constant, we failed to correctly mark a temp as dead if the liveness analysis hints so. This fixes the following assert when configure with --enable-debug-tcg: qemu-x86_64: tcg/tcg.c:1827: tcg_reg_alloc_bb_end: Assertion `ts->val_type == TEMP_VAL_DEAD' failed. Cc: Richard Henderson <rth@twiddle.net> Reported-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Message-Id: <1437994568-7825-2-git-send-email-aurelien@aurel32.net> Signed-off-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
parent
e40db4c6d3
commit
7df69deadf
1 changed files with 3 additions and 0 deletions
|
@ -1920,6 +1920,9 @@ static void tcg_reg_alloc_mov(TCGContext *s, const TCGOpDef *def,
|
|||
}
|
||||
ots->val_type = TEMP_VAL_CONST;
|
||||
ots->val = ts->val;
|
||||
if (IS_DEAD_ARG(1)) {
|
||||
temp_dead(s, args[1]);
|
||||
}
|
||||
} else {
|
||||
/* The code in the first if block should have moved the
|
||||
temp to a register. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue