Use foreach_ir_nodeset() instead of reimplementing it.
[libfirm] / ir / be / beschedregpress.c
index 42e0abe..c2f06b4 100644 (file)
@@ -22,7 +22,6 @@
  * @brief       Register pressure node selector.
  * @author      Sebastian Hack
  * @date        29.08.2006
- * @version     $Id$
  */
 #include "config.h"
 
@@ -31,6 +30,7 @@
 #include "iredges_t.h"
 #include "irgwalk.h"
 #include "irtools.h"
+#include "util.h"
 
 #include "besched.h"
 #include "belistsched.h"
@@ -190,7 +190,7 @@ static void *reg_pressure_block_init(void *graph_env, ir_node *bl)
        sched_foreach(bl, irn) {
                int i, n;
                if (is_Proj(irn)
-                               || (arch_irn_get_flags(irn) & arch_irn_flags_not_scheduled))
+                               || (arch_get_irn_flags(irn) & arch_irn_flags_not_scheduled))
                        continue;
 
                for (i = 0, n = get_irn_arity(irn); i < n; ++i) {
@@ -246,7 +246,7 @@ static inline int reg_pr_costs(reg_pressure_selector_env_t *env, ir_node *irn)
                ir_node *op = get_irn_n(irn, i);
 
                if (is_Proj(op)
-                   || (arch_irn_get_flags(op) & arch_irn_flags_not_scheduled))
+                   || (arch_get_irn_flags(op) & arch_irn_flags_not_scheduled))
                        continue;
 
                sum += compute_max_hops(env, op);
@@ -266,8 +266,7 @@ static ir_node *reg_pressure_select(void *block_env, ir_nodeset_t *ready_set)
 
        assert(ir_nodeset_size(ready_set) > 0);
 
-       ir_nodeset_iterator_init(&iter, ready_set);
-       while ( (irn = ir_nodeset_iterator_next(&iter)) != NULL) {
+       foreach_ir_nodeset(ready_set, irn, iter) {
                /*
                Ignore branch instructions for the time being.
                They should only be scheduled if there is nothing else.