Message ID | 1415723092-4088-9-git-send-email-rth@twiddle.net |
---|---|
State | New |
Headers | show |
On 11/14/2014 04:31 PM, Bastian Koppelmann wrote: > > On 11/11/2014 04:24 PM, Richard Henderson wrote: >> diff --git a/tci.c b/tci.c >> index 4711ee4..28292b3 100644 >> --- a/tci.c >> +++ b/tci.c >> @@ -506,19 +506,6 @@ uintptr_t tcg_qemu_tb_exec(CPUArchState *env, uint8_t >> *tb_ptr) >> tb_ptr += 2; >> switch (opc) { >> - case INDEX_op_end: >> - case INDEX_op_nop: >> - break; >> - case INDEX_op_nop1: >> - case INDEX_op_nop2: >> - case INDEX_op_nop3: >> - case INDEX_op_nopn: >> - case INDEX_op_discard: >> - TODO(); >> - break; >> - case INDEX_op_set_label: >> - TODO(); >> - break; > Why do you remove the TODO notice for INDEX_op_discard/set_label? Is TCI no > longer maintained? Barely. But these opcodes never reach this far anyway, so the todo is bogus. r~
On 11/11/2014 04:24 PM, Richard Henderson wrote: > diff --git a/tci.c b/tci.c > index 4711ee4..28292b3 100644 > --- a/tci.c > +++ b/tci.c > @@ -506,19 +506,6 @@ uintptr_t tcg_qemu_tb_exec(CPUArchState *env, uint8_t *tb_ptr) > tb_ptr += 2; > > switch (opc) { > - case INDEX_op_end: > - case INDEX_op_nop: > - break; > - case INDEX_op_nop1: > - case INDEX_op_nop2: > - case INDEX_op_nop3: > - case INDEX_op_nopn: > - case INDEX_op_discard: > - TODO(); > - break; > - case INDEX_op_set_label: > - TODO(); > - break; Why do you remove the TODO notice for INDEX_op_discard/set_label? Is TCI no longer maintained? > case INDEX_op_call: > t0 = tci_read_ri(&tb_ptr); > #if TCG_TARGET_REG_BITS == 32 Other than that, Reviewed-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> Cheers, Bastian
diff --git a/tcg/tcg-opc.h b/tcg/tcg-opc.h index 042d442..42d0cfe 100644 --- a/tcg/tcg-opc.h +++ b/tcg/tcg-opc.h @@ -27,15 +27,6 @@ */ /* predefined ops */ -DEF(end, 0, 0, 0, TCG_OPF_NOT_PRESENT) /* must be kept first */ -DEF(nop, 0, 0, 0, TCG_OPF_NOT_PRESENT) -DEF(nop1, 0, 0, 1, TCG_OPF_NOT_PRESENT) -DEF(nop2, 0, 0, 2, TCG_OPF_NOT_PRESENT) -DEF(nop3, 0, 0, 3, TCG_OPF_NOT_PRESENT) - -/* variable number of parameters */ -DEF(nopn, 0, 0, 1, TCG_OPF_NOT_PRESENT) - DEF(discard, 1, 0, 0, TCG_OPF_NOT_PRESENT) DEF(set_label, 0, 0, 1, TCG_OPF_BB_END | TCG_OPF_NOT_PRESENT) diff --git a/tcg/tcg.c b/tcg/tcg.c index 50d7af8..e73b8c9 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -1260,7 +1260,7 @@ void tcg_op_remove(TCGContext *s, TCGOp *op) s->gen_first_op_idx = next; } - *op = (TCGOp){ .opc = INDEX_op_nop, .next = -1, .prev = -1 }; + memset(op, -1, sizeof(*op)); #ifdef CONFIG_PROFILER s->del_op_count++; @@ -1385,8 +1385,6 @@ static void tcg_liveness_analysis(TCGContext *s) } break; case INDEX_op_debug_insn_start: - case INDEX_op_nop: - case INDEX_op_end: break; case INDEX_op_discard: /* mark the temporary as dead */ @@ -2244,8 +2242,9 @@ static void dump_op_count(void) { int i; - for(i = INDEX_op_end; i < NB_OPS; i++) { - qemu_log("%s %" PRId64 "\n", tcg_op_defs[i].name, tcg_table_op_count[i]); + for (i = 0; i < NB_OPS; i++) { + qemu_log("%s %" PRId64 "\n", tcg_op_defs[i].name, + tcg_table_op_count[i]); } } #endif @@ -2322,7 +2321,6 @@ static inline int tcg_gen_code_common(TCGContext *s, tcg_reg_alloc_movi(s, args, dead_args, sync_args); break; case INDEX_op_debug_insn_start: - case INDEX_op_nop: break; case INDEX_op_discard: temp_dead(s, args[0]); diff --git a/tci.c b/tci.c index 4711ee4..28292b3 100644 --- a/tci.c +++ b/tci.c @@ -506,19 +506,6 @@ uintptr_t tcg_qemu_tb_exec(CPUArchState *env, uint8_t *tb_ptr) tb_ptr += 2; switch (opc) { - case INDEX_op_end: - case INDEX_op_nop: - break; - case INDEX_op_nop1: - case INDEX_op_nop2: - case INDEX_op_nop3: - case INDEX_op_nopn: - case INDEX_op_discard: - TODO(); - break; - case INDEX_op_set_label: - TODO(); - break; case INDEX_op_call: t0 = tci_read_ri(&tb_ptr); #if TCG_TARGET_REG_BITS == 32
We no longer need INDEX_op_end to terminate the list, nor do we need 5 forms of nop, since we just remove the TCGOp instead. Signed-off-by: Richard Henderson <rth@twiddle.net> --- tcg/tcg-opc.h | 9 --------- tcg/tcg.c | 10 ++++------ tci.c | 13 ------------- 3 files changed, 4 insertions(+), 28 deletions(-)