X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Freturn.c;h=7fac730cf48baad976a1bc29430cea77f5a15a48;hb=eb7ac83b870791219e7a50cc262f2f1ee9c01b39;hp=b21c92ced8dfddcec6546463e13788eb106f6aed;hpb=842280b66974a618f663838a489fd5059300e3b0;p=libfirm diff --git a/ir/opt/return.c b/ir/opt/return.c index b21c92ced..7fac730cf 100644 --- a/ir/opt/return.c +++ b/ir/opt/return.c @@ -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. */