split irg and irp resources, add IRP_RESOURCE_TYPE_LINK
[libfirm] / ir / opt / return.c
index b21c92c..7fac730 100644 (file)
@@ -163,9 +163,7 @@ void normalize_one_return(ir_graph *irg)
         * trouts and callee-state should be still valid
         */
        set_irg_doms_inconsistent(irg);
-       set_irg_outs_inconsistent(irg);
        set_irg_extblk_inconsistent(irg);
-       set_irg_loopinfo_inconsistent(irg);
 }
 
 /* Create a graph pass. */
@@ -181,7 +179,7 @@ ir_graph_pass_t *normalize_one_return_pass(const char *name)
  * with the Return, otherwise they are dead (because the Return leaves
  * the graph, so no more users of the other nodes can exists.
  *
- * We can move a Return, if it's predecessors are Phi nodes or
+ * We can move a Return, if its predecessors are Phi nodes or
  * comes from another block. In the later case, it is always possible
  * to move the Return one block up, because the predecessor block must
  * dominate the Return block (SSA) and then it dominates the predecessor
@@ -297,7 +295,7 @@ void normalize_n_returns(ir_graph *irg)
                dbg_info *dbgi  = get_irn_dbg_info(ret);
                ir_node  *phiM;
 
-               list = get_irn_link(ret);
+               list = (ir_node*)get_irn_link(ret);
                --n_rets;
 
                n = get_Block_n_cfgpreds(block);
@@ -340,7 +338,7 @@ void normalize_n_returns(ir_graph *irg)
                        }
 
                        /* remove the Jmp, we have placed a Return here */
-                       exchange(jmp, new_r_Bad(irg));
+                       exchange(jmp, new_r_Bad(irg, mode_X));
                }
 
                /*
@@ -353,7 +351,7 @@ void normalize_n_returns(ir_graph *irg)
                        n = get_End_n_keepalives(end);
                        for (i = 0; i < n; ++i) {
                                if (get_End_keepalive(end, i) == phiM) {
-                                       set_End_keepalive(end, i, new_r_Bad(irg));
+                                       set_End_keepalive(end, i, new_r_Bad(irg, mode_M));
                                        break;
                                }
                        }
@@ -366,7 +364,7 @@ void normalize_n_returns(ir_graph *irg)
         */
        in = ALLOCAN(ir_node*, n_finals);
 
-       for (i = 0; final; ++i, final = get_irn_link(final))
+       for (i = 0; final != NULL; ++i, final = (ir_node*)get_irn_link(final))
                in[i] = final;
 
        exchange(endbl, new_r_Block(irg, n_finals, in));
@@ -380,8 +378,6 @@ void normalize_n_returns(ir_graph *irg)
         */
        set_irg_doms_inconsistent(irg);
        set_irg_extblk_inconsistent(irg);  /* may not be needed */
-       set_irg_outs_inconsistent(irg);
-       set_irg_loopinfo_inconsistent(irg);
 }
 
 /* Create a graph pass. */