for (i = 0; i < n; ++i) {
ir_node *idx = get_Sel_index(sel, i);
- if (get_irn_op(idx) != op_Const)
+ if (!is_Const(idx))
return 0;
}
return 1;
int i;
int res = 0;
- set_using_irn_visited(irg);
+ ir_reserve_resources(irg, IR_RESOURCE_IRN_VISITED);
inc_irg_visited(irg);
/*
}
}
- clear_using_irn_visited(irg);
+ ir_free_resources(irg, IR_RESOURCE_IRN_VISITED);
return res;
}
*/
static void topologic_walker(ir_node *node, void *ctx) {
env_t *env = ctx;
- ir_op *op = get_irn_op(node);
ir_node *adr, *block, *mem, *val;
ir_mode *mode;
unsigned vnum;
- if (op == op_Load) {
+ if (is_Load(node)) {
/* a load, check if we can resolve it */
adr = get_Load_ptr(node);
DB((dbg, SET_LEVEL_3, "replacing by value %u\n", vnum));
+ block = get_nodes_block(node);
+ set_cur_block(block);
+
/* check, if we can replace this Load */
val = get_value(vnum, env->modes[vnum]);
val = new_d_Conv(get_irn_dbg_info(node), val, mode);
mem = get_Load_mem(node);
- block = get_nodes_block(node);
turn_into_tuple(node, pn_Load_max);
set_Tuple_pred(node, pn_Load_M, mem);
set_Tuple_pred(node, pn_Load_res, val);
- set_Tuple_pred(node, pn_Load_X_regular, new_r_Jmp(current_ir_graph, block));
+ set_Tuple_pred(node, pn_Load_X_regular, new_Jmp());
set_Tuple_pred(node, pn_Load_X_except, new_Bad());
- } else if (op == op_Store) {
+ } else if (is_Store(node)) {
DB((dbg, SET_LEVEL_3, " checking %+F for replacement ", node));
/* a Store always can be replaced */
val = get_Store_value(node);
if (get_irn_mode(val) != env->modes[vnum])
val = new_d_Conv(get_irn_dbg_info(node), val, env->modes[vnum]);
- set_value(vnum, val);
- mem = get_Store_mem(node);
block = get_nodes_block(node);
+ set_cur_block(block);
+ set_value(vnum, val);
+ mem = get_Store_mem(node);
turn_into_tuple(node, pn_Store_max);
set_Tuple_pred(node, pn_Store_M, mem);
- set_Tuple_pred(node, pn_Store_X_regular, new_r_Jmp(current_ir_graph, block));
+ set_Tuple_pred(node, pn_Store_X_regular, new_Jmp());
set_Tuple_pred(node, pn_Store_X_except, new_Bad());
}
}