rename tarval to ir_tarval
[libfirm] / ir / opt / tropt.c
index bb8c44a..3716a70 100644 (file)
@@ -32,7 +32,6 @@
 #include "irprog.h"
 #include "irtypeinfo.h"
 #include "irgwalk.h"
-#include "irsimpletype.h"
 #include "trouts.h"
 #include "ircons.h"
 #include "irgmod.h"
@@ -95,6 +94,7 @@ static ir_node *normalize_values_type(ir_type *totype, ir_node *pred)
 {
        ir_type *fromtype = get_irn_typeinfo_type(pred);
        ir_node *new_cast = pred;
+       ir_node *block;
        int ref_depth = 0;
 
        if (totype == fromtype) return pred;   /* Case for optimization! */
@@ -114,7 +114,7 @@ static ir_node *normalize_values_type(ir_type *totype, ir_node *pred)
                        return pred;
        }
 
-       set_cur_block(get_nodes_block(pred));
+       block = get_nodes_block(pred);
 
        if (is_SubClass_of(totype, fromtype)) {
                /* downcast */
@@ -131,7 +131,7 @@ static ir_node *normalize_values_type(ir_type *totype, ir_node *pred)
                        assert(new_type);
                        fromtype = new_type;
                        new_type = pointerize_type(new_type, ref_depth);
-                       new_cast = new_Cast(pred, new_type);
+                       new_cast = new_r_Cast(block, pred, new_type);
                        pred = new_cast;
                        n_casts_normalized ++;
                        set_irn_typeinfo_type(new_cast, new_type);  /* keep type information up to date. */
@@ -152,7 +152,7 @@ static ir_node *normalize_values_type(ir_type *totype, ir_node *pred)
                        assert(new_type);
                        fromtype = new_type;
                        new_type = pointerize_type(new_type, ref_depth);
-                       new_cast = new_Cast(pred, new_type);
+                       new_cast = new_r_Cast(block, pred, new_type);
                        pred = new_cast;
                        n_casts_normalized ++;
                        set_irn_typeinfo_type(new_cast, new_type);  /* keep type information up to date. */
@@ -218,8 +218,10 @@ void normalize_irp_class_casts(gen_pointer_type_to_func gppt_fct)
        int i;
        if (gppt_fct) gen_pointer_type_to = gppt_fct;
 
+#if 0
        if (get_irp_typeinfo_state() != ir_typeinfo_consistent)
                simple_analyse_types();
+#endif
 
        for (i = get_irp_n_irgs() - 1; i >= 0; --i) {
                pure_normalize_irg_class_casts(get_irp_irg(i));
@@ -415,6 +417,7 @@ static int concretize_Phi_type(ir_node *phi)
  */
 static int remove_Cmp_Null_cast(ir_node *cmp)
 {
+       ir_graph *irg;
        ir_node *cast, *null, *new_null;
        int     cast_pos, null_pos;
        ir_type *fromtype;
@@ -443,9 +446,10 @@ static int remove_Cmp_Null_cast(ir_node *cmp)
                return 0;
 
        /* Transform Cmp */
+       irg = get_irn_irg(cmp);
        set_irn_n(cmp, cast_pos, get_Cast_op(cast));
        fromtype = get_irn_typeinfo_type(get_Cast_op(cast));
-       new_null = new_Const_type(get_Const_tarval(null), fromtype);
+       new_null = new_r_Const(irg, get_Const_tarval(null));
        set_irn_typeinfo_type(new_null, fromtype);
        set_irn_n(cmp, null_pos, new_null);
        ++n_casts_removed;
@@ -473,8 +477,10 @@ void optimize_class_casts(void)
 {
        int changed;
 
+#if 0
        if (get_irp_typeinfo_state() != ir_typeinfo_consistent)
                simple_analyse_types();
+#endif
 
        changed = 0;
        all_irg_walk(NULL, irn_optimize_class_cast, &changed);