From 257a33ee8b83070f826f3e8a932e12acfba5ba8c Mon Sep 17 00:00:00 2001 Message-Id: From: Blue Swirl Date: Sat, 30 Jul 2011 19:18:32 +0000 Subject: [PATCH] TCG: improve optimizer debugging Use enum TCGOpcode instead of plain old int so that the name of current op can be seen in GDB. Add a default case to switch so that GCC does not complain about unhandled enum cases. Signed-off-by: Blue Swirl --- tcg/optimize.c | 15 +++++++++------ 1 files changed, 9 insertions(+), 6 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index a3bfa5e..23e69f6 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -92,7 +92,7 @@ static void reset_temp(TCGArg temp, int nb_temps, int nb_globals) } } -static int op_bits(int op) +static int op_bits(TCGOpcode op) { switch (op) { case INDEX_op_mov_i32: @@ -169,7 +169,7 @@ static int op_bits(int op) } } -static int op_to_movi(int op) +static TCGOpcode op_to_movi(TCGOpcode op) { switch (op_bits(op)) { case 32: @@ -218,7 +218,7 @@ static void tcg_opt_gen_movi(TCGArg *gen_args, TCGArg dst, TCGArg val, gen_args[1] = val; } -static int op_to_mov(int op) +static TCGOpcode op_to_mov(TCGOpcode op) { switch (op_bits(op)) { case 32: @@ -234,7 +234,7 @@ static int op_to_mov(int op) } } -static TCGArg do_constant_folding_2(int op, TCGArg x, TCGArg y) +static TCGArg do_constant_folding_2(TCGOpcode op, TCGArg x, TCGArg y) { switch (op) { CASE_OP_32_64(add): @@ -384,7 +384,7 @@ static TCGArg do_constant_folding_2(int op, TCGArg x, TCGArg y) } } -static TCGArg do_constant_folding(int op, TCGArg x, TCGArg y) +static TCGArg do_constant_folding(TCGOpcode op, TCGArg x, TCGArg y) { TCGArg res = do_constant_folding_2(op, x, y); #if TCG_TARGET_REG_BITS == 64 @@ -399,7 +399,8 @@ static TCGArg do_constant_folding(int op, TCGArg x, TCGArg y) static TCGArg *tcg_constant_folding(TCGContext *s, uint16_t *tcg_opc_ptr, TCGArg *args, TCGOpDef *tcg_op_defs) { - int i, nb_ops, op_index, op, nb_temps, nb_globals, nb_call_args; + int i, nb_ops, op_index, nb_temps, nb_globals, nb_call_args; + TCGOpcode op; const TCGOpDef *def; TCGArg *gen_args; TCGArg tmp; @@ -508,6 +509,8 @@ static TCGArg *tcg_constant_folding(TCGContext *s, uint16_t *tcg_opc_ptr, continue; } break; + default: + break; } /* Propagate constants through copy operations and do constant -- 1.7.2.5