Emit debug_insn for CPU_LOG_TB_OP_OPT as well.
For all targets that currently call tcg_gen_debug_insn_start, add CPU_LOG_TB_OP_OPT to the condition that gates it. This is useful for comparing optimization dumps, when the pre-optimization dump is merely noise. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
		
							parent
							
								
									6673f47da2
								
							
						
					
					
						commit
						fdefe51c28
					
				@ -3421,7 +3421,7 @@ static inline void gen_intermediate_code_internal(CPUAlphaState *env,
 | 
				
			|||||||
        insn = cpu_ldl_code(env, ctx.pc);
 | 
					        insn = cpu_ldl_code(env, ctx.pc);
 | 
				
			||||||
        num_insns++;
 | 
					        num_insns++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP))) {
 | 
						if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP | CPU_LOG_TB_OP_OPT))) {
 | 
				
			||||||
            tcg_gen_debug_insn_start(ctx.pc);
 | 
					            tcg_gen_debug_insn_start(ctx.pc);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -9816,7 +9816,7 @@ static inline void gen_intermediate_code_internal(CPUARMState *env,
 | 
				
			|||||||
        if (num_insns + 1 == max_insns && (tb->cflags & CF_LAST_IO))
 | 
					        if (num_insns + 1 == max_insns && (tb->cflags & CF_LAST_IO))
 | 
				
			||||||
            gen_io_start();
 | 
					            gen_io_start();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP))) {
 | 
					        if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP | CPU_LOG_TB_OP_OPT))) {
 | 
				
			||||||
            tcg_gen_debug_insn_start(dc->pc);
 | 
					            tcg_gen_debug_insn_start(dc->pc);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -3074,8 +3074,9 @@ static unsigned int crisv32_decoder(CPUCRISState *env, DisasContext *dc)
 | 
				
			|||||||
	int insn_len = 2;
 | 
						int insn_len = 2;
 | 
				
			||||||
	int i;
 | 
						int i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP)))
 | 
						if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP | CPU_LOG_TB_OP_OPT))) {
 | 
				
			||||||
		tcg_gen_debug_insn_start(dc->pc);
 | 
							tcg_gen_debug_insn_start(dc->pc);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Load a halfword onto the instruction register.  */
 | 
						/* Load a halfword onto the instruction register.  */
 | 
				
			||||||
        dc->ir = cris_fetch(env, dc, dc->pc, 2, 0);
 | 
					        dc->ir = cris_fetch(env, dc, dc->pc, 2, 0);
 | 
				
			||||||
 | 
				
			|||||||
@ -4202,8 +4202,9 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start)
 | 
				
			|||||||
    target_ulong next_eip, tval;
 | 
					    target_ulong next_eip, tval;
 | 
				
			||||||
    int rex_w, rex_r;
 | 
					    int rex_w, rex_r;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP)))
 | 
					    if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP | CPU_LOG_TB_OP_OPT))) {
 | 
				
			||||||
        tcg_gen_debug_insn_start(pc_start);
 | 
					        tcg_gen_debug_insn_start(pc_start);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    s->pc = pc_start;
 | 
					    s->pc = pc_start;
 | 
				
			||||||
    prefixes = 0;
 | 
					    prefixes = 0;
 | 
				
			||||||
    aflag = s->code32;
 | 
					    aflag = s->code32;
 | 
				
			||||||
 | 
				
			|||||||
@ -942,7 +942,7 @@ static const DecoderInfo decinfo[] = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
static inline void decode(DisasContext *dc, uint32_t ir)
 | 
					static inline void decode(DisasContext *dc, uint32_t ir)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP))) {
 | 
					    if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP | CPU_LOG_TB_OP_OPT))) {
 | 
				
			||||||
        tcg_gen_debug_insn_start(dc->pc);
 | 
					        tcg_gen_debug_insn_start(dc->pc);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1664,8 +1664,9 @@ static inline void decode(DisasContext *dc, uint32_t ir)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    int i;
 | 
					    int i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP)))
 | 
					    if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP | CPU_LOG_TB_OP_OPT))) {
 | 
				
			||||||
        tcg_gen_debug_insn_start(dc->pc);
 | 
					        tcg_gen_debug_insn_start(dc->pc);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dc->ir = ir;
 | 
					    dc->ir = ir;
 | 
				
			||||||
    LOG_DIS("%8.8x\t", dc->ir);
 | 
					    LOG_DIS("%8.8x\t", dc->ir);
 | 
				
			||||||
 | 
				
			|||||||
@ -12124,8 +12124,9 @@ static void decode_opc (CPUMIPSState *env, DisasContext *ctx, int *is_branch)
 | 
				
			|||||||
        gen_set_label(l1);
 | 
					        gen_set_label(l1);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP)))
 | 
					    if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP | CPU_LOG_TB_OP_OPT))) {
 | 
				
			||||||
        tcg_gen_debug_insn_start(ctx->pc);
 | 
					        tcg_gen_debug_insn_start(ctx->pc);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    op = MASK_OP_MAJOR(ctx->opcode);
 | 
					    op = MASK_OP_MAJOR(ctx->opcode);
 | 
				
			||||||
    rs = (ctx->opcode >> 21) & 0x1f;
 | 
					    rs = (ctx->opcode >> 21) & 0x1f;
 | 
				
			||||||
 | 
				
			|||||||
@ -1715,7 +1715,7 @@ static inline void gen_intermediate_code_internal(OpenRISCCPU *cpu,
 | 
				
			|||||||
            gen_opc_icount[k] = num_insns;
 | 
					            gen_opc_icount[k] = num_insns;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP))) {
 | 
					        if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP | CPU_LOG_TB_OP_OPT))) {
 | 
				
			||||||
            tcg_gen_debug_insn_start(dc->pc);
 | 
					            tcg_gen_debug_insn_start(dc->pc);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -9690,8 +9690,9 @@ static inline void gen_intermediate_code_internal(CPUPPCState *env,
 | 
				
			|||||||
        LOG_DISAS("translate opcode %08x (%02x %02x %02x) (%s)\n",
 | 
					        LOG_DISAS("translate opcode %08x (%02x %02x %02x) (%s)\n",
 | 
				
			||||||
                    ctx.opcode, opc1(ctx.opcode), opc2(ctx.opcode),
 | 
					                    ctx.opcode, opc1(ctx.opcode), opc2(ctx.opcode),
 | 
				
			||||||
                    opc3(ctx.opcode), little_endian ? "little" : "big");
 | 
					                    opc3(ctx.opcode), little_endian ? "little" : "big");
 | 
				
			||||||
        if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP)))
 | 
					        if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP | CPU_LOG_TB_OP_OPT))) {
 | 
				
			||||||
            tcg_gen_debug_insn_start(ctx.nip);
 | 
					            tcg_gen_debug_insn_start(ctx.nip);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        ctx.nip += 4;
 | 
					        ctx.nip += 4;
 | 
				
			||||||
        table = env->opcodes;
 | 
					        table = env->opcodes;
 | 
				
			||||||
        num_insns++;
 | 
					        num_insns++;
 | 
				
			||||||
 | 
				
			|||||||
@ -1924,7 +1924,7 @@ static void decode_opc(DisasContext * ctx)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    uint32_t old_flags = ctx->flags;
 | 
					    uint32_t old_flags = ctx->flags;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP))) {
 | 
					    if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP | CPU_LOG_TB_OP_OPT))) {
 | 
				
			||||||
        tcg_gen_debug_insn_start(ctx->pc);
 | 
					        tcg_gen_debug_insn_start(ctx->pc);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2394,8 +2394,9 @@ static void disas_sparc_insn(DisasContext * dc, unsigned int insn)
 | 
				
			|||||||
    TCGv_i64 cpu_src1_64, cpu_src2_64, cpu_dst_64;
 | 
					    TCGv_i64 cpu_src1_64, cpu_src2_64, cpu_dst_64;
 | 
				
			||||||
    target_long simm;
 | 
					    target_long simm;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP)))
 | 
					    if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP | CPU_LOG_TB_OP_OPT))) {
 | 
				
			||||||
        tcg_gen_debug_insn_start(dc->pc);
 | 
					        tcg_gen_debug_insn_start(dc->pc);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    opc = GET_FIELD(insn, 0, 1);
 | 
					    opc = GET_FIELD(insn, 0, 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2923,7 +2923,7 @@ static void gen_intermediate_code_internal(
 | 
				
			|||||||
            gen_opc_icount[lj] = insn_count;
 | 
					            gen_opc_icount[lj] = insn_count;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP))) {
 | 
					        if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP | CPU_LOG_TB_OP_OPT))) {
 | 
				
			||||||
            tcg_gen_debug_insn_start(dc.pc);
 | 
					            tcg_gen_debug_insn_start(dc.pc);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user