Commit 0a8dac2b authored by Christoph Mallon's avatar Christoph Mallon
Browse files

be: Simplify places, which still assumed, that Projs are scheduled.

parent 031078da
......@@ -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);
......
......@@ -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);
......
......@@ -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);
......
......@@ -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;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment