for (i = n_except - 1; i >= 0; --i) {
ir_node * node = skip_Proj(skip_Tuple(except_arr[i]));
if (get_irn_op(node) == op_Call) {
- in[i] = new_r_Proj(irg, get_nodes_Block(node), node, mode_M, 3);
+ in[i] = new_r_Proj(irg, get_nodes_Block(node), node, mode_M, 3);
} else if (get_irn_op(node) == op_Raise) {
- in[i] = new_r_Proj(irg, get_nodes_Block(node), node, mode_M, 1);
+ in[i] = new_r_Proj(irg, get_nodes_Block(node), node, mode_M, 1);
} else {
- assert(is_fragile_op(node));
- /* We rely that all cfops have the memory output at the same position. */
- in[i] = new_r_Proj(irg, get_nodes_Block(node), node, mode_M, 0);
+ assert(is_fragile_op(node));
+ /* We rely that all cfops have the memory output at the same position. */
+ in[i] = new_r_Proj(irg, get_nodes_Block(node), node, mode_M, 0);
}
}
data->except_mem = new_Phi(n_except, in, mode_M);
/* This Phi is a merge, therefor needs not be kept alive.
It might be optimized away, though. */
if (get_End_keepalive(end, get_End_n_keepalives(end)-1 )
- == data->except_mem)
+ == data->except_mem)
set_End_keepalive(end, get_End_n_keepalives(end)-1, new_Bad());
DEL_ARR_F(in);
}
current_ir_graph = get_irp_irg(i);
for (node = get_irn_link(get_irg_end(current_ir_graph)); node; node = get_irn_link(node)) {
if (get_irn_op(node) == op_Call) {
- n_callees = get_Call_n_callees(node);
- if (n_callees > 1 || (n_callees == 1 && get_Call_callee(node, 0) != NULL)) {
- construct_call(node);
- }
+ n_callees = get_Call_n_callees(node);
+ if (n_callees > 1 || (n_callees == 1 && get_Call_callee(node, 0) != NULL)) {
+ construct_call(node);
+ }
}
}
}
for (i = 0; i < ARR_LEN(marked); ++i) {
/* check for extern methods, these don't have an IRG */
if (get_entity_visibility(marked[i]) != visibility_external_allocated) {
- ir_graph * irg = get_entity_irg(marked[i]);
- ir_node * node = get_irg_end(irg);
- /* collect calls */
- irg_walk_graph(irg, clear_link, (irg_walk_func *) collect_call, node);
- /* iterate calls */
- for (node = get_irn_link(node); node; node = get_irn_link(node)) {
- int i;
- assert(get_irn_op(node) == op_Call);
- for (i = get_Call_n_callees(node) - 1; i >= 0; --i) {
- entity * ent = get_Call_callee(node, i);
- if (ent && get_entity_irg(ent) && get_entity_link(ent) != MARK) {
- set_entity_link(ent, MARK);
- ARR_APP1(entity *, marked, ent);
- }
- }
- }
+ ir_graph * irg = get_entity_irg(marked[i]);
+ ir_node * node = get_irg_end(irg);
+ /* collect calls */
+ irg_walk_graph(irg, clear_link, (irg_walk_func *) collect_call, node);
+ /* iterate calls */
+ for (node = get_irn_link(node); node; node = get_irn_link(node)) {
+ int i;
+ assert(get_irn_op(node) == op_Call);
+ for (i = get_Call_n_callees(node) - 1; i >= 0; --i) {
+ entity * ent = get_Call_callee(node, i);
+ if (ent && get_entity_irg(ent) && get_entity_link(ent) != MARK) {
+ set_entity_link(ent, MARK);
+ ARR_APP1(entity *, marked, ent);
+ }
+ }
+ }
}
}
DEL_ARR_F(marked);
entity * ent = get_irg_ent(irg);
/* Removing any graph invalidates all interprocedural loop trees. */
if (get_irg_loopinfo_state(irg) == loopinfo_ip_consistent ||
- get_irg_loopinfo_state(irg) == loopinfo_ip_inconsistent)
+ get_irg_loopinfo_state(irg) == loopinfo_ip_inconsistent) {
free_loop_information(irg);
+ }
if (get_entity_link(ent) != MARK) {
remove_irp_irg(irg);
set_entity_peculiarity(ent, peculiarity_description);
- if (get_opt_dead_method_elimination_verbose())
- printf("dead method elimination: freeing method %s\n", get_entity_ld_name(ent));
+ if (get_opt_dead_method_elimination_verbose()) {
+ printf("dead method elimination: freeing method %s\n", get_entity_ld_name(ent));
+ }
}
set_entity_link(ent, NULL);
}
case iro_Const: {
tarval *tv = get_Const_tarval(n);
if (tarval_is_entity(tv))
- ASSERT_AND_RET(
- (get_irn_irg(n) == get_const_code_irg()) ||
- (get_entity_peculiarity(tarval_to_entity(tv)) != peculiarity_description),
- "descriptions have no address", 0);
- ASSERT_AND_RET(
- /* Const: BB --> data */
- (mode_is_data (mymode) ||
- mymode == mode_b) /* we want boolean constants for static evaluation */
- ,"Const node", 0 /* of Cmp. */
- );
+ ASSERT_AND_RET((get_irn_irg(n) == get_const_code_irg()) ||
+ (get_entity_peculiarity(tarval_to_entity(tv)) != peculiarity_description),
+ "descriptions have no address", 0);
+ ASSERT_AND_RET(
+ /* Const: BB --> data */
+ (mode_is_data (mymode) ||
+ mymode == mode_b) /* we want boolean constants for static evaluation */
+ ,"Const node", 0 /* of Cmp. */
+ );
} break;
case iro_SymConst: