beifg: Factorise code to count interference components.
[libfirm] / ir / be / beirgmod.c
index 2813339..aa9b51b 100644 (file)
@@ -1,20 +1,6 @@
 /*
- * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
- *
  * This file is part of libFirm.
- *
- * This file may be distributed and/or modified under the terms of the
- * GNU General Public License version 2 as published by the Free Software
- * Foundation and appearing in the file LICENSE.GPL included in the
- * packaging of this file.
- *
- * Licensees holding valid libFirm Professional Edition licenses may use
- * this file in accordance with the libFirm Commercial License.
- * Agreement provided with the Software.
- *
- * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE.
+ * Copyright (C) 2012 University of Karlsruhe.
  */
 
 /**
@@ -51,7 +37,7 @@
 #include "irgraph_t.h"
 #include "irgopt.h"
 #include "irgmod.h"
-#include "irprintf_t.h"
+#include "irprintf.h"
 #include "irgwalk.h"
 
 #include "be_t.h"
@@ -299,12 +285,8 @@ static void mark_dead_nodes_walker(ir_node *node, void *data)
 static void remove_dead_nodes_walker(ir_node *block, void *data)
 {
        remove_dead_nodes_env_t *env = (remove_dead_nodes_env_t*) data;
-       ir_node                 *node, *next;
-
-       for (node = sched_first(block); ! sched_is_end(node); node = next) {
-               /* get next node now, as after calling sched_remove it will be invalid */
-               next = sched_next(node);
 
+       sched_foreach_safe(block, node) {
                if (bitset_is_set(env->reachable, get_irn_idx(node)))
                        continue;