qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] TCG: improve optimizer debugging


From: Blue Swirl
Subject: [Qemu-devel] [PATCH] TCG: improve optimizer debugging
Date: Sat, 30 Jul 2011 22:21:33 +0300

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 <address@hidden>
---
 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.6.2.4

Attachment: 0001-TCG-improve-optimizer-debugging.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]