mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
tcg: Reorg TCGOp chaining
Instead of using -1 as end of chain, use 0, and link through the 0 entry as a fully circular double-linked list. Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
parent
a1b3c48d2b
commit
dcb8e75870
5 changed files with 31 additions and 38 deletions
|
@ -103,11 +103,7 @@ static TCGOp *insert_op_before(TCGContext *s, TCGOp *old_op,
|
|||
.prev = prev,
|
||||
.next = next
|
||||
};
|
||||
if (prev >= 0) {
|
||||
s->gen_op_buf[prev].next = oi;
|
||||
} else {
|
||||
s->gen_first_op_idx = oi;
|
||||
}
|
||||
s->gen_op_buf[prev].next = oi;
|
||||
old_op->prev = oi;
|
||||
|
||||
return new_op;
|
||||
|
@ -583,7 +579,7 @@ void tcg_optimize(TCGContext *s)
|
|||
nb_globals = s->nb_globals;
|
||||
reset_all_temps(nb_temps);
|
||||
|
||||
for (oi = s->gen_first_op_idx; oi >= 0; oi = oi_next) {
|
||||
for (oi = s->gen_op_buf[0].next; oi != 0; oi = oi_next) {
|
||||
tcg_target_ulong mask, partmask, affected;
|
||||
int nb_oargs, nb_iargs, i;
|
||||
TCGArg tmp;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue