- removed old global handling artifact
[libfirm] / ir / ir / irgmod.c
index 4a6926e..d7f9705 100644 (file)
@@ -23,9 +23,7 @@
  * @author   Martin Trapp, Christian Schaefer, Goetz Lindenmaier
  * @version  $Id$
  */
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include "config.h"
 
 #include "irvrfy.h"
 #include "irflag_t.h"
@@ -152,21 +150,10 @@ static void collect_phiprojs_walker(ir_node *n, void *env) {
        }
 }
 
-/**
- * clear all links, including the Phi list of blocks and Phi nodes.
- */
-static void clear_node_and_phis_links(ir_node *n, void *env) {
-       (void) env;
-
-       set_irn_link(n, NULL);
-       if (is_Block(n))
-               set_Block_phis(n, NULL);
-       else if (is_Phi(n))
-               set_Phi_next(n, NULL);
-}
-
 void collect_phiprojs(ir_graph *irg) {
-       irg_walk_graph(irg, clear_node_and_phis_links, collect_phiprojs_walker, NULL);
+       assert((ir_resources_reserved(irg) & (IR_RESOURCE_IRN_LINK|IR_RESOURCE_PHI_LIST)) ==
+               (IR_RESOURCE_IRN_LINK|IR_RESOURCE_PHI_LIST));
+       irg_walk_graph(irg, firm_clear_node_and_phi_links, collect_phiprojs_walker, NULL);
 }
 
 /*--------------------------------------------------------------------*/