IR_GRAPH_STATE_OPTIMIZE_UNREACHABLE_CODE = 1U << 4,
/** graph contains no critical edges */
IR_GRAPH_STATE_NO_CRITICAL_EDGES = 1U << 5,
- /** graph contains no Bads */
- IR_GRAPH_STATE_NO_BAD_BLOCKS = 1U << 6,
+ /** graph contains no Bad nodes */
+ IR_GRAPH_STATE_NO_BADS = 1U << 6,
/**
* there exists no (obviously) unreachable code in the graph.
* Unreachable in this context is code that you can't reach by following
ir_printf("node %+F", n);
);
} else if (!is_Block(n) && is_irn_pinned_in_irg(n)
- && is_irg_state(irg, IR_GRAPH_STATE_NO_BAD_BLOCKS)) {
+ && is_irg_state(irg, IR_GRAPH_STATE_NO_BADS)) {
ASSERT_AND_RET_DBG(is_Block(get_nodes_block(n)) || is_Anchor(n),
"block input is not a block", 0,
ir_printf("node %+F", n);
if (changed) {
edges_deactivate(irg);
clear_irg_state(irg, IR_GRAPH_STATE_CONSISTENT_OUTS);
- clear_irg_state(irg, IR_GRAPH_STATE_NO_BAD_BLOCKS);
+ clear_irg_state(irg, IR_GRAPH_STATE_NO_BADS);
}
set_irg_state(irg, IR_GRAPH_STATE_NO_UNREACHABLE_CODE);
}
ir_graph_state_t required = opt->requirements;
const bool dump = get_irp_optimization_dumps();
- /* no bad block requires no unreachable code */
- if (required & IR_GRAPH_STATE_NO_BAD_BLOCKS)
- required |= IR_GRAPH_STATE_NO_UNREACHABLE_CODE;
-
/** Some workarounds because information is currently duplicated */
// FIXME should not be necessary!
if (loopinfo_inconsistent == get_irg_loopinfo_state(irg))
PREPARE(IR_GRAPH_STATE_ONE_RETURN, normalize_one_return)
PREPARE(IR_GRAPH_STATE_NO_CRITICAL_EDGES, remove_critical_cf_edges)
PREPARE(IR_GRAPH_STATE_NO_UNREACHABLE_CODE, remove_unreachable_blocks)
- PREPARE(IR_GRAPH_STATE_NO_BAD_BLOCKS, remove_bads)
+ PREPARE(IR_GRAPH_STATE_NO_BADS, remove_bads)
PREPARE(IR_GRAPH_STATE_CONSISTENT_DOMINANCE, assure_doms)
PREPARE(IR_GRAPH_STATE_CONSISTENT_POSTDOMINANCE, assure_postdoms)
PREPARE(IR_GRAPH_STATE_CONSISTENT_OUT_EDGES, edges_assure)
#define INVALIDATE(state,func) if (!(state & new_irg_state)) {clear_irg_state(irg,state); func(irg);}
INVALIDATE(IR_GRAPH_STATE_NO_CRITICAL_EDGES, nop)
INVALIDATE(IR_GRAPH_STATE_NO_UNREACHABLE_CODE, nop)
- INVALIDATE(IR_GRAPH_STATE_NO_BAD_BLOCKS, nop)
+ INVALIDATE(IR_GRAPH_STATE_NO_BADS, nop)
INVALIDATE(IR_GRAPH_STATE_ONE_RETURN, nop)
INVALIDATE(IR_GRAPH_STATE_CONSISTENT_DOMINANCE, nop)
INVALIDATE(IR_GRAPH_STATE_CONSISTENT_POSTDOMINANCE, nop)