assert(is_Block(bl));
if (get_Block_dom_depth(bl) == -1) {
/* This block is not reachable from Start */
- return new_Bad();
+ ir_graph *irg = get_irn_irg(bl);
+ return new_r_Bad(irg);
}
return get_dom_info(bl)->idom;
}
assert(is_Block(bl));
if (get_Block_postdom_depth(bl) == -1) {
/* This block is not reachable from Start */
- return new_Bad();
+ ir_graph *irg = get_irn_irg(bl);
+ return new_r_Bad(irg);
}
return get_pdom_info(bl)->idom;
}
static void assign_tree_dom_pre_order(ir_node *bl, void *data)
{
- unsigned *num = data;
+ unsigned *num = (unsigned*) data;
ir_dom_info *bi = get_dom_info(bl);
bi->tree_pre_num = (*num)++;
static void assign_tree_postdom_pre_order(ir_node *bl, void *data)
{
- unsigned *num = data;
+ unsigned *num = (unsigned*) data;
ir_dom_info *bi = get_pdom_info(bl);
bi->tree_pre_num = (*num)++;
{
int *n_blocks = (int *) env;
- if (is_Block_dead(bl))
- return;
-
(*n_blocks) ++;
memset(get_pdom_info(bl), 0, sizeof(ir_dom_info));
tmp_dom_info *tdi;
int i;
- if (is_Block_dead(bl))
- return;
-
assert(is_Block(bl));
if (Block_block_visited(bl))
return;
tmp_dom_info *tdi;
int i;
- if (is_Block_dead(bl))
- return;
-
assert(is_Block(bl));
if (get_irg_block_visited(current_ir_graph) == get_Block_block_visited(bl))
return;
static void count_and_init_blocks_dom(ir_node *bl, void *env)
{
int *n_blocks = (int *) env;
- if (is_Block_dead(bl))
- return;
(*n_blocks) ++;
tmp_dom_info *u;
if (is_Bad(pred) || (get_Block_dom_pre_num (pred) == -1))
- continue; /* control-dead */
+ continue; /* control-dead */
u = dom_eval (&tdi_list[get_Block_dom_pre_num(pred)]);
if (u->semi < w->semi) w->semi = u->semi;
tmp_dom_info *u;
if (!is_Block(pred) || get_Block_dom_pre_num(pred) == -1)
- continue; /* control-dead */
+ continue; /* control-dead */
u = dom_eval (&tdi_list[get_Block_dom_pre_num(pred)]);
if (u->semi < w->semi) w->semi = u->semi;
tmp_dom_info *u;
if (get_Block_postdom_pre_num (succ) == -1)
- continue; /* endless-loop */
+ continue; /* endless-loop */
u = dom_eval (&tdi_list[get_Block_postdom_pre_num(succ)]);
if (u->semi < w->semi) w->semi = u->semi;