Fixed some typos.
[libfirm] / ir / stat / firmstat.c
index 391bbc7..563106a 100644 (file)
@@ -123,7 +123,7 @@ static int opt_cmp(const void *elt, const void *key)
 }  /* opt_cmp */
 
 /**
- * Compare two elements of the block/extbb hash.
+ * Compare two elements of the block hash.
  */
 static int block_cmp(const void *elt, const void *key)
 {
@@ -275,11 +275,6 @@ static void graph_clear_entry(graph_entry_t *elem, int all)
                elem->block_hash = NULL;
        }  /* if */
 
-       if (elem->extbb_hash) {
-               del_pset(elem->extbb_hash);
-               elem->extbb_hash = NULL;
-       }  /* if */
-
        obstack_free(&elem->recalc_cnts, NULL);
        obstack_init(&elem->recalc_cnts);
 }  /* graph_clear_entry */
@@ -322,7 +317,6 @@ static graph_entry_t *graph_get_entry(ir_graph *irg, hmap_graph_entry_t *hmap)
 
        /* these hash tables are created on demand */
        elem->block_hash = NULL;
-       elem->extbb_hash = NULL;
 
        for (i = 0; i != ARRAY_SIZE(elem->opt_hash); ++i)
                elem->opt_hash[i] = new_pset(opt_cmp, 4);
@@ -607,13 +601,12 @@ static ir_op *stat_get_irn_op(ir_node *node)
  */
 static void undate_block_info(ir_node *node, graph_entry_t *graph)
 {
-       ir_op *op = get_irn_op(node);
        ir_node *block;
        block_entry_t *b_entry;
        int i, arity;
 
        /* check for block */
-       if (op == op_Block) {
+       if (is_Block(node)) {
                arity = get_irn_arity(node);
                b_entry = block_get_entry(&graph->recalc_cnts, get_irn_node_nr(node), graph->block_hash);
                /* mark start end block to allow to filter them out */
@@ -637,7 +630,7 @@ static void undate_block_info(ir_node *node, graph_entry_t *graph)
        block   = get_nodes_block(node);
        b_entry = block_get_entry(&graph->recalc_cnts, get_irn_node_nr(block), graph->block_hash);
 
-       if (op == op_Phi && mode_is_datab(get_irn_mode(node))) {
+       if (is_Phi(node) && mode_is_datab(get_irn_mode(node))) {
                /* count data Phi per block */
                cnt_inc(&b_entry->cnt[bcnt_phi_data]);
        }  /* if */
@@ -668,69 +661,6 @@ static void undate_block_info(ir_node *node, graph_entry_t *graph)
        }  /* for */
 }  /* undate_block_info */
 
-/**
- * Update the extended block counter.
- */
-static void update_extbb_info(ir_node *node, graph_entry_t *graph)
-{
-       ir_op *op = get_irn_op(node);
-       ir_extblk *extbb;
-       extbb_entry_t *eb_entry;
-       int i, arity;
-
-       /* check for block */
-       if (op == op_Block) {
-               extbb = get_nodes_extbb(node);
-               arity = get_irn_arity(node);
-               eb_entry = block_get_entry(&graph->recalc_cnts, get_extbb_node_nr(extbb), graph->extbb_hash);
-
-               /* count all incoming edges */
-               for (i = 0; i < arity; ++i) {
-                       ir_node *pred = get_irn_n(node, i);
-                       ir_extblk *other_extbb = get_nodes_extbb(pred);
-
-                       if (extbb != other_extbb) {
-                               extbb_entry_t *eb_entry_other = block_get_entry(&graph->recalc_cnts, get_extbb_node_nr(other_extbb), graph->extbb_hash);
-
-                               cnt_inc(&eb_entry->cnt[bcnt_in_edges]); /* an edge coming from another extbb */
-                               cnt_inc(&eb_entry_other->cnt[bcnt_out_edges]);
-                       }  /* if */
-               }  /* for */
-               return;
-       }  /* if */
-
-       extbb    = get_nodes_extbb(node);
-       eb_entry = block_get_entry(&graph->recalc_cnts, get_extbb_node_nr(extbb), graph->extbb_hash);
-
-       if (op == op_Phi && mode_is_datab(get_irn_mode(node))) {
-               /* count data Phi per extbb */
-               cnt_inc(&eb_entry->cnt[bcnt_phi_data]);
-       }  /* if */
-
-       /* we have a new node in our block */
-       cnt_inc(&eb_entry->cnt[bcnt_nodes]);
-
-       /* don't count keep-alive edges */
-       if (is_End(node))
-               return;
-
-       arity = get_irn_arity(node);
-
-       for (i = 0; i < arity; ++i) {
-               ir_node *pred = get_irn_n(node, i);
-               ir_extblk *other_extbb = get_nodes_extbb(pred);
-
-               if (other_extbb == extbb)
-                       cnt_inc(&eb_entry->cnt[bcnt_edges]);    /* a in extbb edge */
-               else {
-                       extbb_entry_t *eb_entry_other = block_get_entry(&graph->recalc_cnts, get_extbb_node_nr(other_extbb), graph->extbb_hash);
-
-                       cnt_inc(&eb_entry->cnt[bcnt_in_edges]); /* an edge coming from another extbb */
-                       cnt_inc(&eb_entry_other->cnt[bcnt_out_edges]);
-               }  /* if */
-       }  /* for */
-}  /* update_extbb_info */
-
 /**
  * Calculates how many arguments of the call are const, updates
  * param distribution.
@@ -969,12 +899,6 @@ static void update_node_stat(ir_node *node, void *env)
        /* count block edges */
        undate_block_info(node, graph);
 
-       /* count extended block edges */
-       if (status->stat_options & FIRMSTAT_COUNT_EXTBB) {
-               if (graph->irg != get_const_code_irg())
-                       update_extbb_info(node, graph);
-       }  /* if */
-
        /* handle statistics for special node types */
 
        switch (op->code) {
@@ -1036,7 +960,8 @@ static void update_node_stat_2(ir_node *node, void *env)
  */
 static unsigned get_adr_mark(graph_entry_t *graph, ir_node *node)
 {
-       address_mark_entry_t *value = (address_mark_entry_t*)set_find(graph->address_mark, &node, sizeof(*value), hash_ptr(node));
+       address_mark_entry_t const val = { node, 0 };
+       address_mark_entry_t *value = set_find(address_mark_entry_t, graph->address_mark, &val, sizeof(val), hash_ptr(node));
 
        return value ? value->mark : 0;
 }  /* get_adr_mark */
@@ -1046,9 +971,8 @@ static unsigned get_adr_mark(graph_entry_t *graph, ir_node *node)
  */
 static void set_adr_mark(graph_entry_t *graph, ir_node *node, unsigned val)
 {
-       address_mark_entry_t *value = (address_mark_entry_t*)set_insert(graph->address_mark, &node, sizeof(*value), hash_ptr(node));
-
-       value->mark = val;
+       address_mark_entry_t const value = { node, val };
+       (void)set_insert(address_mark_entry_t, graph->address_mark, &value, sizeof(value), hash_ptr(node));
 }  /* set_adr_mark */
 
 #undef DUMP_ADR_MODE
@@ -1176,11 +1100,10 @@ static void count_adr_ops(ir_node *node, void *env)
  */
 static void update_graph_stat(graph_entry_t *global, graph_entry_t *graph)
 {
-       node_entry_t *entry;
        int i;
 
        /* clear first the alive counter in the graph */
-       foreach_pset(graph->opcode_hash, node_entry_t*, entry) {
+       foreach_pset(graph->opcode_hash, node_entry_t, entry) {
                cnt_clr(&entry->cnt_alive);
        }  /* foreach_pset */
 
@@ -1197,14 +1120,6 @@ static void update_graph_stat(graph_entry_t *global, graph_entry_t *graph)
        /* we need dominator info */
        if (graph->irg != get_const_code_irg()) {
                assure_doms(graph->irg);
-
-               if (status->stat_options & FIRMSTAT_COUNT_EXTBB) {
-                       /* we need extended basic blocks */
-                       compute_extbb(graph->irg);
-
-                       /* create new extbb counter */
-                       graph->extbb_hash = new_pset(block_cmp, 5);
-               }  /* if */
        }  /* if */
 
        /* count the nodes in the graph */
@@ -1224,7 +1139,7 @@ static void update_graph_stat(graph_entry_t *global, graph_entry_t *graph)
                graph->is_chain_call = 0;
 
        /* assume we walk every graph only ONCE, we could sum here the global count */
-       foreach_pset(graph->opcode_hash, node_entry_t*, entry) {
+       foreach_pset(graph->opcode_hash, node_entry_t, entry) {
                node_entry_t *g_entry = opcode_get_entry(entry->op, global->opcode_hash);
 
                /* update the node counter */
@@ -1336,8 +1251,6 @@ static void stat_dump_registered(graph_entry_t *entry)
 
        for (dumper = status->dumper; dumper; dumper = dumper->next) {
                if (dumper->func_map) {
-                       dump_graph_FUNC func;
-
                        foreach_pset(dumper->func_map, dump_graph_FUNC, func)
                                func(dumper, entry);
                }  /* if */
@@ -1412,7 +1325,7 @@ static void stat_dump_finish(void)
 /**
  * Register an additional function for all dumper.
  */
-void stat_register_dumper_func(dump_graph_FUNC func)
+void stat_register_dumper_func(dump_graph_FUNC *const func)
 {
        dumper_t *dumper;
 
@@ -1430,7 +1343,7 @@ void stat_register_dumper_func(dump_graph_FUNC func)
  */
 ir_op *stat_get_op_from_opcode(unsigned code)
 {
-       return opcode_find_entry(code, status->ir_op_hash);
+       return opcode_find_entry((ir_opcode)code, status->ir_op_hash);
 }  /* stat_get_op_from_opcode */
 
 /**
@@ -1759,9 +1672,8 @@ static void stat_merge_nodes(
 
                                /* sometimes we did not detect, that it is replaced by a Const */
                                if (opt == HOOK_OPT_CONFIRM && new_num_entries == 1) {
-                                       ir_op *op = get_irn_op(new_node_array[0]);
-
-                                       if (op == op_Const || op == op_SymConst)
+                                       ir_node *const irn = new_node_array[0];
+                                       if (is_Const(irn) || is_SymConst(irn))
                                                xopt = HOOK_OPT_CONFIRM_C;
                                }  /* if */
 
@@ -2115,7 +2027,6 @@ void stat_dump_snapshot(const char *name, const char *phase)
 
        STAT_ENTER;
        {
-               graph_entry_t *entry;
                graph_entry_t *global = graph_get_entry(NULL, status->irg_hash);
 
                /*
@@ -2160,8 +2071,7 @@ void stat_dump_snapshot(const char *name, const char *phase)
                stat_dump_init(fname);
 
                /* calculate the graph statistics */
-               for (entry = (graph_entry_t*)pset_first(status->irg_hash);
-                     entry != NULL; entry = (graph_entry_t*)pset_next(status->irg_hash)) {
+               foreach_pset(status->irg_hash, graph_entry_t, entry) {
                        if (entry->irg == NULL) {
                                /* special entry for the global count */
                                continue;
@@ -2174,14 +2084,13 @@ void stat_dump_snapshot(const char *name, const char *phase)
 
                /* some calculations are dependent, we pushed them on the wait_q */
                while (! pdeq_empty(status->wait_q)) {
-                       entry = (graph_entry_t*)pdeq_getr(status->wait_q);
+                       graph_entry_t *const entry = (graph_entry_t*)pdeq_getr(status->wait_q);
 
                        update_graph_stat_2(global, entry);
                }  /* while */
 
                /* dump per graph */
-               for (entry = (graph_entry_t*)pset_first(status->irg_hash);
-                    entry != NULL; entry = (graph_entry_t*)pset_next(status->irg_hash)) {
+               foreach_pset(status->irg_hash, graph_entry_t, entry) {
                        if (entry->irg == NULL) {
                                /* special entry for the global count */
                                continue;
@@ -2217,16 +2126,11 @@ void stat_dump_snapshot(const char *name, const char *phase)
                stat_finish_pattern_history(fname);
 
                /* clear the global counters here */
-               {
-                       node_entry_t *entry;
-
-                       for (entry = (node_entry_t*)pset_first(global->opcode_hash);
-                            entry != NULL; entry = (node_entry_t*)pset_next(global->opcode_hash)) {
-                               opcode_clear_entry(entry);
-                       }  /* for */
-                       /* clear all global counter */
-                       graph_clear_entry(global, /*all=*/1);
-               }
+               foreach_pset(global->opcode_hash, node_entry_t, entry) {
+                       opcode_clear_entry(entry);
+               }  /* for */
+               /* clear all global counter */
+               graph_clear_entry(global, /*all=*/1);
        }
        STAT_LEAVE;
 }  /* stat_dump_snapshot */