* Sets all node inputs to BAD node.
*/
void be_kill_node(ir_node *irn) {
- int i;
- ir_graph *irg;
+ ir_graph *irg = get_irn_irg(irn);
- if (is_Bad(irn))
- return;
+ assert(!is_Bad(irn));
- irg = get_irn_irg(irn);
+#ifdef DEBUG_libfirm
+ {
+ int i, first;
+ first = 0 - ! is_Block(irn);
- for (i = get_irn_arity(irn) - 1; i >= 0; --i) {
+ for (i = get_irn_arity(irn) - 1; i >= first; --i) {
set_irn_n(irn, i, get_irg_bad(irg));
}
+ }
+#endif
+
+ edges_node_deleted(irn, irg);
}
/* FIXME: not used. can be deleted? */