fix bug in switch_lowerer
[libfirm] / ir / ana / irlivechk.c
index fc2a1b2..3ea67bd 100644 (file)
@@ -58,7 +58,7 @@
 
 #include "statev.h"
 
-typedef struct _bl_info_t {
+typedef struct bl_info_t {
        const ir_node *block;      /**< The block. */
 
        int be_tgt_calc : 1;
@@ -75,19 +75,19 @@ typedef struct _bl_info_t {
 
 #define get_block_info(lv, bl) ((bl_info_t *) phase_get_irn_data(&(lv)->ph, bl))
 
-struct _lv_chk_t {
-       ir_phase ph;
+struct lv_chk_t {
+       ir_phase     ph;
        const dfs_t *dfs;
-       int n_blocks;
-       bitset_t *back_edge_src;
-       bitset_t *back_edge_tgt;
-       bl_info_t **map;
+       int          n_blocks;
+       bitset_t    *back_edge_src;
+       bitset_t    *back_edge_tgt;
+       bl_info_t  **map;
        DEBUG_ONLY(firm_dbg_module_t *dbg;)
 };
 
-static void *init_block_data(ir_phase *ph, const ir_node *irn, void *old)
+static void *init_block_data(ir_phase *ph, const ir_node *irn)
 {
-       lv_chk_t *lv      = container_of(ph, lv_chk_t, ph);
+       lv_chk_t *lv      = firm_container_of(ph, lv_chk_t, ph);
        bl_info_t *bi     = phase_alloc(ph, sizeof(bi[0]));
 
        bi->id            = get_Block_dom_tree_pre_num(irn);
@@ -95,7 +95,6 @@ static void *init_block_data(ir_phase *ph, const ir_node *irn, void *old)
        bi->red_reachable = bitset_obstack_alloc(phase_obst(ph), lv->n_blocks);
        bi->be_tgt_reach  = bitset_obstack_alloc(phase_obst(ph), lv->n_blocks);
        bi->be_tgt_calc   = 0;
-       (void) old;
        return bi;
 }
 
@@ -112,7 +111,8 @@ static inline int is_liveness_node(const ir_node *irn)
        case iro_End:
        case iro_Anchor:
                return 0;
-       default:;
+       default:
+               break;
        }
 
        return 1;
@@ -168,7 +168,7 @@ static void compute_back_edge_chain(lv_chk_t *lv, const ir_node *bl)
        bitset_t *tmp = bitset_alloca(lv->n_blocks);
        bl_info_t *bi = get_block_info(lv, bl);
 
-       bitset_pos_t elm;
+       unsigned elm;
 
        DBG((lv->dbg, LEVEL_2, "computing T_%d\n", bi->id));
 
@@ -205,7 +205,7 @@ static void compute_back_edge_chain(lv_chk_t *lv, const ir_node *bl)
 
 static inline void compute_back_edge_chains(lv_chk_t *lv)
 {
-       bitset_pos_t elm;
+       unsigned elm;
        int i, n;
 
        DBG((lv->dbg, LEVEL_2, "back edge sources: %B\n", lv->back_edge_src));
@@ -251,7 +251,7 @@ lv_chk_t *lv_chk_new(ir_graph *irg, const dfs_t *dfs)
        compute_doms(irg);
 
        stat_ev_tim_push();
-       phase_init(&res->ph, "liveness check", irg, PHASE_DEFAULT_GROWTH, init_block_data, NULL);
+       phase_init(&res->ph, irg, init_block_data);
        obst = phase_obst(&res->ph);
 
        FIRM_DBG_REGISTER(res->dbg, "ir.ana.lvchk");
@@ -310,7 +310,7 @@ lv_chk_t *lv_chk_new(ir_graph *irg, const dfs_t *dfs)
 
 void lv_chk_free(lv_chk_t *lv)
 {
-       phase_free(&lv->ph);
+       phase_deinit(&lv->ph);
        xfree(lv);
 }