consolidate utility macros in util.h
[libfirm] / ir / common / irtools.c
index 6065951..7ff3994 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
+ * Copyright (C) 1995-2011 University of Karlsruhe.  All right reserved.
  *
  * This file is part of libFirm.
  *
@@ -51,6 +51,23 @@ void firm_clear_node_and_phi_links(ir_node *n, void *env)
                set_Phi_next(n, NULL);
 }
 
+void firm_clear_block_phis(ir_node *node, void *env)
+{
+       (void) env;
+       if (is_Block(node)) {
+               set_Block_phis(node, NULL);
+       } else if (is_Phi(node)) {
+               set_Phi_next(node, NULL);
+       }
+}
+
+void firm_collect_block_phis(ir_node *node, void *env)
+{
+       (void) env;
+       if (is_Phi(node))
+               add_Block_phi(get_nodes_block(node), node);
+}
+
 void copy_irn_to_irg(ir_node *n, ir_graph *irg)
 {
        ir_op *op = get_irn_op(n);