X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Frm_bads.c;h=ad5aadf33a6d856dd85bf6d860794885af4f1e7a;hb=7a4389d62c358d1a419189140512df08866c9941;hp=81f3813648b66eb289913409fa7b3f5607a9f94d;hpb=255a9cc77e3cdf878406d722cf8414063c87e99b;p=libfirm diff --git a/ir/ir/rm_bads.c b/ir/ir/rm_bads.c index 81f381364..ad5aadf33 100644 --- a/ir/ir/rm_bads.c +++ b/ir/ir/rm_bads.c @@ -125,13 +125,7 @@ static void collect(ir_node *node, void *env) } } -/* Remove Bad nodes from Phi and Block inputs. - * - * This does NOT remove unreachable code. - * - * Postcondition: No Bad nodes. - */ -int remove_bads(ir_graph *irg) +void remove_bads(ir_graph *irg) { size_t i; size_t n_to_process; @@ -149,10 +143,8 @@ int remove_bads(ir_graph *irg) if (n_to_process > 0) { edges_deactivate(irg); - clear_irg_state(irg, IR_GRAPH_STATE_CONSISTENT_OUTS); - clear_irg_state(irg, IR_GRAPH_STATE_CONSISTENT_DOMINANCE); - return 1; + clear_irg_properties(irg, IR_GRAPH_PROPERTY_CONSISTENT_OUTS); + clear_irg_properties(irg, IR_GRAPH_PROPERTY_CONSISTENT_DOMINANCE); } - - return 0; + add_irg_properties(irg, IR_GRAPH_PROPERTY_NO_BADS); }