From: Christoph Mallon Date: Thu, 29 Nov 2012 07:39:43 +0000 (+0100) Subject: be: Simplify places, which still assumed, that Projs are scheduled. X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=0a8dac2b5fb9e59ea2add322baf61237b607bea5;p=libfirm be: Simplify places, which still assumed, that Projs are scheduled. --- diff --git a/ir/be/bespillutil.c b/ir/be/bespillutil.c index 8cc61e12e..3ac055fca 100644 --- a/ir/be/bespillutil.c +++ b/ir/be/bespillutil.c @@ -250,7 +250,7 @@ void be_add_reload2(spill_env_t *env, ir_node *to_spill, ir_node *before, } } - assert(!is_Proj(before) && !be_is_Keep(before)); + assert(!be_is_Keep(before)); /* put reload into list */ rel = OALLOC(&env->obst, reloader_t); diff --git a/ir/be/bessadestr.c b/ir/be/bessadestr.c index 998d24133..636e083a0 100644 --- a/ir/be/bessadestr.c +++ b/ir/be/bessadestr.c @@ -319,14 +319,10 @@ static void set_regs_or_place_dupls_walker(ir_node *bl, void *data) */ ir_node *perm = get_Proj_pred(arg); ir_node *dupl = be_new_Copy(arg_block, arg); - ir_node *ins; set_irn_n(phi, i, dupl); arch_set_irn_register(dupl, phi_reg); - /* skip the Perm's Projs and insert the copies behind. */ - for (ins = sched_next(perm); is_Proj(ins); ins = sched_next(ins)) { - } - sched_add_before(ins, dupl); + sched_add_after(perm, dupl); pin_irn(dupl, phi_block); be_liveness_introduce(lv, dupl); be_liveness_update(lv, arg); diff --git a/ir/be/bestate.c b/ir/be/bestate.c index 672e1cec6..b111185dd 100644 --- a/ir/be/bestate.c +++ b/ir/be/bestate.c @@ -376,11 +376,9 @@ static void belady(minibelady_env_t *env, ir_node *block) int i, arity; ir_node *need_val = NULL; - /* projs are handled with the tuple value. - * Phis are no real instr (see insert_starters()) */ - if (is_Proj(node) || is_Phi(node)) { + /* Phis are no real instr (see insert_starters()) */ + if (is_Phi(node)) continue; - } /* check which state is desired for the node */ arity = get_irn_arity(node); diff --git a/ir/be/beverify.c b/ir/be/beverify.c index a31023d48..d8b2db407 100644 --- a/ir/be/beverify.c +++ b/ir/be/beverify.c @@ -206,8 +206,8 @@ static void verify_schedule_walker(ir_node *block, void *data) cfchange_found = node; } } else if (cfchange_found != NULL) { - /* proj and keepany aren't real instructions... */ - if (!is_Proj(node) && !be_is_Keep(node)) { + /* keepany isn't a real instruction. */ + if (!be_is_Keep(node)) { ir_fprintf(stderr, "Verify Warning: Node %+F scheduled after control flow changing node in block %+F (%s)\n", node, block, get_irg_name(env->irg)); env->problem_found = true;