becopyilp: fix size_reduction code
[libfirm] / ir / be / beschednormal.c
index ffa7788..9cc401f 100644 (file)
@@ -20,7 +20,6 @@
 /**
  * @brief   Use the strong normal form theorem (though it does not hold)
  * @author  Christoph Mallon
- * @version $Id$
  */
 #include "config.h"
 
 #include "belive_t.h"
 #include "beutil.h"
 #include "heights.h"
-#include "irtools.h"
 #include "irgwalk.h"
 #include "benode.h"
 #include "bemodule.h"
+#include "util.h"
 #include "array_t.h"
 
 // XXX there is no one time init for schedulers
@@ -120,7 +119,7 @@ static int count_result(const ir_node* irn)
        if (mode == mode_T)
                return 1;
 
-       if (arch_get_register_req_out(irn)->type & arch_register_req_type_ignore)
+       if (arch_get_irn_register_req(irn)->type & arch_register_req_type_ignore)
                return 0;
 
        return 1;
@@ -198,6 +197,8 @@ static int normal_tree_cost(ir_node* irn, instance_t *inst)
                mode = get_irn_mode(op);
                if (mode == mode_M)
                        continue;
+               if (arch_get_irn_flags(op) & arch_irn_flags_not_scheduled)
+                       continue;
                if (mode != mode_T && arch_irn_is_ignore(op))
                        continue;
                cost = MAX(fc->costs[i].cost + n_op_res, cost);