/**
* Returns non-zero if node has no backarray, or
* if size of backarray == size of in array.
*/
/**
* Returns non-zero if node has no backarray, or
* if size of backarray == size of in array.
*/
else if (opc == iro_Block) {
if (!get_interprocedural_view())
n->attr.block.backedge = arr;
else if (opc == iro_Block) {
if (!get_interprocedural_view())
n->attr.block.backedge = arr;
unsigned *ba = get_backarray(n);
if (ba)
return rbitset_is_set(ba, pos);
unsigned *ba = get_backarray(n);
if (ba)
return rbitset_is_set(ba, pos);
unsigned *ba = get_backarray(n);
assert(ba && "can only set backedges at Phi, Filter, Block nodes.");
rbitset_set(ba, pos);
}
/* Remarks that edge pos is a backedge. */
unsigned *ba = get_backarray(n);
assert(ba && "can only set backedges at Phi, Filter, Block nodes.");
rbitset_set(ba, pos);
}
/* Remarks that edge pos is a backedge. */
unsigned *ba = get_backarray(n);
assert(ba && "can only set backedges at Phi, Filter, Block nodes.");
rbitset_clear(ba, pos);
}
/* Returns non-zero if n has backedges. */
unsigned *ba = get_backarray(n);
assert(ba && "can only set backedges at Phi, Filter, Block nodes.");
rbitset_clear(ba, pos);
}
/* Returns non-zero if n has backedges. */
return rbitset_w_size_obstack_alloc(obst, size);
}
/* TODO: add an ir_op operation */
return rbitset_w_size_obstack_alloc(obst, size);
}
/* TODO: add an ir_op operation */
switch (get_irn_opcode(n)) {
case iro_Block:
n->attr.block.cg_backedge = NULL;
n->attr.block.backedge = new_backedge_arr(current_ir_graph->obst, get_irn_arity(n));
break;
case iro_Phi:
switch (get_irn_opcode(n)) {
case iro_Block:
n->attr.block.cg_backedge = NULL;
n->attr.block.backedge = new_backedge_arr(current_ir_graph->obst, get_irn_arity(n));
break;
case iro_Phi: