differntiate entity kinds
[libfirm] / ir / stat / firmstat.c
index 8dabf65..d897bbf 100644 (file)
  * @file
  * @brief   Statistics for Firm.
  * @author  Michael Beck
- * @version $Id$
  */
 #include "config.h"
 
-#ifdef FIRM_STATISTICS
-
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -65,9 +62,6 @@ static ir_op _op_DivC;
 /** The Div by Const node. */
 static ir_op _op_ModC;
 
-/** The Quot by Const node. */
-static ir_op _op_QuotC;
-
 /** The memory Proj node. */
 static ir_op _op_ProjM;
 
@@ -590,12 +584,6 @@ static ir_op *stat_get_irn_op(ir_node *node)
                        op = status->op_ModC ? status->op_ModC : op;
                }  /* if */
                break;
-       case iro_Quot:
-               if (is_Const(get_Quot_right(node))) {
-                       /* special case, a floating point division by a const, count on extra counter */
-                       op = status->op_QuotC ? status->op_QuotC : op;
-               }  /* if */
-               break;
        case iro_Sel:
                if (is_Sel(get_Sel_ptr(node))) {
                        /* special case, a Sel of a Sel, count on extra counter */
@@ -607,7 +595,7 @@ static ir_op *stat_get_irn_op(ir_node *node)
                }  /* if */
                break;
        default:
-               ;
+               break;
        }  /* switch */
 
        return op;
@@ -928,10 +916,7 @@ static void stat_update_address(ir_node *node, graph_entry_t *graph)
        case iro_Sel:
                base = find_base_adr(node);
                irg = current_ir_graph;
-               if (base == get_irg_tls(irg)) {
-                       /* a TLS variable, like a global. */
-                       cnt_inc(&graph->cnt[gcnt_global_adr]);
-               } else if (base == get_irg_frame(irg)) {
+               if (base == get_irg_frame(irg)) {
                        /* a local Variable. */
                        cnt_inc(&graph->cnt[gcnt_local_adr]);
                } else {
@@ -960,7 +945,7 @@ end_parameter: ;
                        }  /* if */
                }  /* if */
        default:
-               ;
+               break;
        }  /* switch */
 }  /* stat_update_address */
 
@@ -1015,7 +1000,7 @@ static void update_node_stat(ir_node *node, void *env)
                        }
                }
        default:
-               ;
+               break;
        }  /* switch */
 
        /* we want to count the constant IN nodes, not the CSE'ed constant's itself */
@@ -1319,8 +1304,7 @@ static void update_graph_stat_2(graph_entry_t *global, graph_entry_t *graph)
 static void stat_register_dumper(const dumper_t *dumper)
 {
        dumper_t *p = XMALLOC(dumper_t);
-
-       memcpy(p, dumper, sizeof(*p));
+       *p = *dumper;
 
        p->next        = status->dumper;
        p->status      = status;
@@ -1443,7 +1427,7 @@ void stat_register_dumper_func(dump_graph_FUNC func)
 /*
  * Helper: get an ir_op from an opcode.
  */
-ir_op *stat_get_op_from_opcode(ir_opcode code)
+ir_op *stat_get_op_from_opcode(unsigned code)
 {
        return opcode_find_entry(code, status->ir_op_hash);
 }  /* stat_get_op_from_opcode */
@@ -2375,16 +2359,12 @@ void firm_init_stat(unsigned enable_options)
                _op_ModC.code    = --num;
                _op_ModC.name    = new_id_from_chars(X("ModC"));
 
-               _op_QuotC.code   = --num;
-               _op_QuotC.name   = new_id_from_chars(X("QuotC"));
-
                status->op_Phi0    = &_op_Phi0;
                status->op_PhiM    = &_op_PhiM;
                status->op_ProjM   = &_op_ProjM;
                status->op_MulC    = &_op_MulC;
                status->op_DivC    = &_op_DivC;
                status->op_ModC    = &_op_ModC;
-               status->op_QuotC   = &_op_QuotC;
        } else {
                status->op_Phi0    = NULL;
                status->op_PhiM    = NULL;
@@ -2392,7 +2372,6 @@ void firm_init_stat(unsigned enable_options)
                status->op_MulC    = NULL;
                status->op_DivC    = NULL;
                status->op_ModC    = NULL;
-               status->op_QuotC   = NULL;
        }  /* if */
 
        /* for Florian: count the Sel depth */
@@ -2469,16 +2448,3 @@ int stat_is_active(void)
 {
        return status != (stat_info_t *)&status_disable;
 }  /* stat_is_active */
-
-#else
-
-/* initialize the statistics module. */
-void firm_init_stat(unsigned enable_options) {}
-
-/* Dumps a statistics snapshot */
-void stat_dump_snapshot(const char *name, const char *phase) {}
-
-/* terminates the statistics module, frees all memory */
-void stat_term(void);
-
-#endif /* FIRM_STATISTICS */