diff options
author | Richard Henderson <rth@twiddle.net> | 2016-06-22 19:42:31 -0700 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2016-08-05 21:44:18 +0530 |
commit | dcb8e75870e2de199db853697f8839cb603beefe (patch) | |
tree | bbf412371cc5e364c86fbd812b242e5411b1d751 /tcg/optimize.c | |
parent | a1b3c48d2b23d6eaeb4529d3e1183d2648731bf8 (diff) |
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>
Diffstat (limited to 'tcg/optimize.c')
-rw-r--r-- | tcg/optimize.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/tcg/optimize.c b/tcg/optimize.c index c0d975b3d9..8df7fc7f69 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -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; |