mirror of https://gitee.com/openkylin/qemu.git
tcg: Remove tcg_gen_code_search_pc
It's no longer used, so tidy up everything reached by it. Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
parent
4e5e121515
commit
04fe640001
59
tcg/tcg.c
59
tcg/tcg.c
|
@ -2290,12 +2290,28 @@ void tcg_dump_op_count(FILE *f, fprintf_function cpu_fprintf)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
static inline int tcg_gen_code_common(TCGContext *s,
|
int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf)
|
||||||
tcg_insn_unit *gen_code_buf,
|
|
||||||
long search_pc)
|
|
||||||
{
|
{
|
||||||
int i, oi, oi_next, num_insns;
|
int i, oi, oi_next, num_insns;
|
||||||
|
|
||||||
|
#ifdef CONFIG_PROFILER
|
||||||
|
{
|
||||||
|
int n;
|
||||||
|
|
||||||
|
n = s->gen_last_op_idx + 1;
|
||||||
|
s->op_count += n;
|
||||||
|
if (n > s->op_count_max) {
|
||||||
|
s->op_count_max = n;
|
||||||
|
}
|
||||||
|
|
||||||
|
n = s->nb_temps;
|
||||||
|
s->temp_count += n;
|
||||||
|
if (n > s->temp_count_max) {
|
||||||
|
s->temp_count_max = n;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef DEBUG_DISAS
|
#ifdef DEBUG_DISAS
|
||||||
if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP))) {
|
if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP))) {
|
||||||
qemu_log("OP:\n");
|
qemu_log("OP:\n");
|
||||||
|
@ -2398,9 +2414,6 @@ static inline int tcg_gen_code_common(TCGContext *s,
|
||||||
tcg_reg_alloc_op(s, def, opc, args, dead_args, sync_args);
|
tcg_reg_alloc_op(s, def, opc, args, dead_args, sync_args);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (search_pc >= 0 && search_pc < tcg_current_code_size(s)) {
|
|
||||||
return oi;
|
|
||||||
}
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
check_regs(s);
|
check_regs(s);
|
||||||
#endif
|
#endif
|
||||||
|
@ -2410,30 +2423,6 @@ static inline int tcg_gen_code_common(TCGContext *s,
|
||||||
|
|
||||||
/* Generate TB finalization at the end of block */
|
/* Generate TB finalization at the end of block */
|
||||||
tcg_out_tb_finalize(s);
|
tcg_out_tb_finalize(s);
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf)
|
|
||||||
{
|
|
||||||
#ifdef CONFIG_PROFILER
|
|
||||||
{
|
|
||||||
int n;
|
|
||||||
|
|
||||||
n = s->gen_last_op_idx + 1;
|
|
||||||
s->op_count += n;
|
|
||||||
if (n > s->op_count_max) {
|
|
||||||
s->op_count_max = n;
|
|
||||||
}
|
|
||||||
|
|
||||||
n = s->nb_temps;
|
|
||||||
s->temp_count += n;
|
|
||||||
if (n > s->temp_count_max) {
|
|
||||||
s->temp_count_max = n;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
tcg_gen_code_common(s, gen_code_buf, -1);
|
|
||||||
|
|
||||||
/* flush instruction cache */
|
/* flush instruction cache */
|
||||||
flush_icache_range((uintptr_t)s->code_buf, (uintptr_t)s->code_ptr);
|
flush_icache_range((uintptr_t)s->code_buf, (uintptr_t)s->code_ptr);
|
||||||
|
@ -2441,16 +2430,6 @@ int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf)
|
||||||
return tcg_current_code_size(s);
|
return tcg_current_code_size(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return the index of the micro operation such as the pc after is <
|
|
||||||
offset bytes from the start of the TB. The contents of gen_code_buf must
|
|
||||||
not be changed, though writing the same values is ok.
|
|
||||||
Return -1 if not found. */
|
|
||||||
int tcg_gen_code_search_pc(TCGContext *s, tcg_insn_unit *gen_code_buf,
|
|
||||||
long offset)
|
|
||||||
{
|
|
||||||
return tcg_gen_code_common(s, gen_code_buf, offset);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef CONFIG_PROFILER
|
#ifdef CONFIG_PROFILER
|
||||||
void tcg_dump_info(FILE *f, fprintf_function cpu_fprintf)
|
void tcg_dump_info(FILE *f, fprintf_function cpu_fprintf)
|
||||||
{
|
{
|
||||||
|
|
|
@ -626,8 +626,6 @@ void tcg_prologue_init(TCGContext *s);
|
||||||
void tcg_func_start(TCGContext *s);
|
void tcg_func_start(TCGContext *s);
|
||||||
|
|
||||||
int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf);
|
int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf);
|
||||||
int tcg_gen_code_search_pc(TCGContext *s, tcg_insn_unit *gen_code_buf,
|
|
||||||
long offset);
|
|
||||||
|
|
||||||
void tcg_set_frame(TCGContext *s, int reg, intptr_t start, intptr_t size);
|
void tcg_set_frame(TCGContext *s, int reg, intptr_t start, intptr_t size);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue