Rework Block labels: They are entities now so we don't need a special symconst type...
[libfirm] / ir / lower / lower_dw.c
index 57b803a..bc5493f 100644 (file)
@@ -120,9 +120,7 @@ typedef struct _lower_env_t {
        const lwrdw_param_t *params;  /**< transformation parameter */
        unsigned flags;               /**< some flags */
        int      n_entries;           /**< number of entries */
-#ifndef NDEBUG
        ir_type  *value_param_tp;     /**< the old value param type */
-#endif
 } lower_env_t;
 
 /**
@@ -962,7 +960,7 @@ static void lower_Shl(ir_node *node, ir_mode *mode, lower_env_t *env) {
                        long shf_cnt = get_tarval_long(tv) - get_mode_size_bits(mode);
                        int idx = get_irn_idx(left);
 
-                       left = new_r_Conv(irg, block, env->entries[idx]->low_word, mode, 0);
+                       left = new_r_Conv(irg, block, env->entries[idx]->low_word, mode);
                        idx = get_irn_idx(node);
 
                        mode_l = env->params->low_unsigned;
@@ -1011,7 +1009,7 @@ static void lower_Shrs(ir_node *node, ir_mode *mode, lower_env_t *env) {
                                low = left;
                        }  /* if */
                        /* low word is expected to have mode_l */
-                       env->entries[idx]->low_word = new_r_Conv(irg, block, low, mode_l, 0);
+                       env->entries[idx]->low_word = new_r_Conv(irg, block, low, mode_l);
 
                        c = new_r_Const_long(irg, mode_l, get_mode_size_bits(mode) - 1);
                        env->entries[idx]->high_word = new_r_Shrs(irg, block, left, c, mode);
@@ -1317,8 +1315,8 @@ static void lower_Cond(ir_node *node, ir_mode *mode, lower_env_t *env) {
                        if (pnc == pn_Cmp_Eq || pnc == pn_Cmp_Lg) {
                                /* x ==/!= 0 ==> or(low,high) ==/!= 0 */
                                ir_mode *mode = env->params->low_unsigned;
-                               ir_node *low  = new_r_Conv(irg, block, lentry->low_word, mode, 0);
-                               ir_node *high = new_r_Conv(irg, block, lentry->high_word, mode, 0);
+                               ir_node *low  = new_r_Conv(irg, block, lentry->low_word, mode);
+                               ir_node *high = new_r_Conv(irg, block, lentry->high_word, mode);
                                ir_node *or   = new_rd_Or(dbg, irg, block, low, high, mode);
                                ir_node *cmp  = new_rd_Cmp(dbg, irg, block, or, new_Const_long(mode, 0));
 
@@ -1499,17 +1497,17 @@ static void lower_Conv_to_Ls(ir_node *node, lower_env_t *env) {
                                pdeq_putr(env->waitq, node);
                                return;
                        }  /* if */
-                       env->entries[idx]->low_word  = new_rd_Conv(dbg, irg, block, env->entries[op_idx]->low_word,  dst_mode_l, 0);
-                       env->entries[idx]->high_word = new_rd_Conv(dbg, irg, block, env->entries[op_idx]->high_word, dst_mode_h, 0);
+                       env->entries[idx]->low_word  = new_rd_Conv(dbg, irg, block, env->entries[op_idx]->low_word,  dst_mode_l);
+                       env->entries[idx]->high_word = new_rd_Conv(dbg, irg, block, env->entries[op_idx]->high_word, dst_mode_h);
                } else {
                        /* simple case: create a high word */
                        if (imode != dst_mode_l)
-                               op = new_rd_Conv(dbg, irg, block, op, dst_mode_l, 0);
+                               op = new_rd_Conv(dbg, irg, block, op, dst_mode_l);
 
                        env->entries[idx]->low_word  = op;
 
                        if (mode_is_signed(imode)) {
-                               ir_node *op_conv = new_rd_Conv(dbg, irg, block, op, dst_mode_h, 0);
+                               ir_node *op_conv = new_rd_Conv(dbg, irg, block, op, dst_mode_h);
                                env->entries[idx]->high_word = new_rd_Shrs(dbg, irg, block, op_conv,
                                        new_Const_long(dst_mode_l, get_mode_size_bits(dst_mode_h) - 1), dst_mode_h);
                        } else {
@@ -1555,12 +1553,12 @@ static void lower_Conv_to_Lu(ir_node *node, lower_env_t *env) {
                                pdeq_putr(env->waitq, node);
                                return;
                        }  /* if */
-                       env->entries[idx]->low_word  = new_rd_Conv(dbg, irg, block, env->entries[op_idx]->low_word, dst_mode, 0);
-                       env->entries[idx]->high_word = new_rd_Conv(dbg, irg, block, env->entries[op_idx]->high_word, dst_mode, 0);
+                       env->entries[idx]->low_word  = new_rd_Conv(dbg, irg, block, env->entries[op_idx]->low_word, dst_mode);
+                       env->entries[idx]->high_word = new_rd_Conv(dbg, irg, block, env->entries[op_idx]->high_word, dst_mode);
                } else {
                        /* simple case: create a high word */
                        if (imode != dst_mode)
-                               op = new_rd_Conv(dbg, irg, block, op, dst_mode, 0);
+                               op = new_rd_Conv(dbg, irg, block, op, dst_mode);
 
                        env->entries[idx]->low_word  = op;
 
@@ -1611,7 +1609,7 @@ static void lower_Conv_from_Ls(ir_node *node, lower_env_t *env) {
 
                /* simple case: create a high word */
                if (omode != env->params->low_signed)
-                       op = new_rd_Conv(dbg, irg, block, op, omode, 0);
+                       op = new_rd_Conv(dbg, irg, block, op, omode);
 
                set_Conv_op(node, op);
        } else {
@@ -1655,7 +1653,7 @@ static void lower_Conv_from_Lu(ir_node *node, lower_env_t *env) {
 
                /* simple case: create a high word */
                if (omode != env->params->low_unsigned)
-                       op = new_rd_Conv(dbg, irg, block, op, omode, 0);
+                       op = new_rd_Conv(dbg, irg, block, op, omode);
 
                set_Conv_op(node, op);
        } else {
@@ -2661,9 +2659,7 @@ void lower_dw_ops(const lwrdw_param_t *param)
                lenv.l_mtp        = NULL;
                lenv.flags        = 0;
                lenv.proj_2_block = pmap_create();
-#ifndef NDEBUG
                lenv.value_param_tp = NULL;
-#endif
                ir_reserve_resources(irg, IR_RESOURCE_PHI_LIST | IR_RESOURCE_IRN_LINK);
 
                ent = get_irg_entity(irg);
@@ -2674,9 +2670,7 @@ void lower_dw_ops(const lwrdw_param_t *param)
                        lenv.flags |= MUST_BE_LOWERED;
                        set_entity_type(ent, ltp);
                        lenv.l_mtp = ltp;
-#ifndef NDEBUG
                        lenv.value_param_tp = get_method_value_param_type(mtp);
-#endif
                }  /* if */
 
                /* first step: link all nodes and allocate data */