fix new_Block users
authorMatthias Braun <matze@braunis.de>
Sat, 13 Dec 2008 18:08:33 +0000 (18:08 +0000)
committerMatthias Braun <matze@braunis.de>
Sat, 13 Dec 2008 18:08:33 +0000 (18:08 +0000)
[r24615]

ir/ir/ircgcons.c
ir/lower/lower_switch.c
ir/opt/opt_inline.c

index 5cba4bb..ca32dea 100644 (file)
@@ -203,6 +203,7 @@ static ir_node * create_Block(int n, ir_node ** in) {
   ir_node * block;
   set_optimize(0);
   block = new_Block(n, in);
+  set_cur_block(block);
   set_optimize(rem_opt);
   return block;
 }
index 3570c25..6524b34 100644 (file)
@@ -135,6 +135,7 @@ static void create_if_cascade(ifcas_env_t *env, ir_node *curblock,
                set_Block_cfgpred(curcases[0].target, 0, new_Proj(cond, mode_X, pn_Cond_true));
                in[0] = new_Proj(cond, mode_X, pn_Cond_false);
                neblock = new_Block(1, in);
+               set_cur_block(neblock);
 
                /* second part: "else if(sel == val[1]) goto target[1] else goto default;" */
                val  = new_Const_long(get_irn_mode(env->sel), curcases[1].value);
@@ -160,6 +161,7 @@ static void create_if_cascade(ifcas_env_t *env, ir_node *curblock,
                set_cur_block(curblock);
                in[0] = new_Proj(cond, mode_X, pn_Cond_false);
                geblock = new_Block(1, in);
+               set_cur_block(geblock);
 
                create_if_cascade(env, ltblock, curcases, midcase);
                create_if_cascade(env, geblock, curcases + midcase, numcases - midcase);
index 350434b..1e33bfa 100644 (file)
@@ -1167,7 +1167,9 @@ int inline_method(ir_node *call, ir_graph *called_graph) {
                        }
                }
                if (n_exc > 0) {
-                       new_Block(n_exc, cf_pred);      /* watch it: current_block is changed! */
+                       ir_node *block = new_Block(n_exc, cf_pred);
+                       set_cur_block(block);
+
                        set_Tuple_pred(call, pn_Call_X_except, new_Jmp());
                        /* The Phi for the memories with the exception objects */
                        n_exc = 0;