we can do without the odd align.h
[libfirm] / ir / lower / lower_copyb.c
index de1a3b3..610f535 100644 (file)
@@ -23,9 +23,7 @@
  * @author  Michael Beck, Matthias Braun
  * @version $Id$
  */
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include "config.h"
 
 #include "adt/list.h"
 #include "ircons.h"
@@ -66,7 +64,8 @@ static ir_mode *get_ir_mode(unsigned bytes)
 /**
  * lower a CopyB node.
  */
-static void lower_copyb_nodes(ir_node *irn, unsigned mode_bytes) {
+static void lower_copyb_nodes(ir_node *irn, unsigned mode_bytes)
+{
        ir_graph        *irg = current_ir_graph;
        unsigned         size;
        unsigned         offset;
@@ -100,18 +99,18 @@ static void lower_copyb_nodes(ir_node *irn, unsigned mode_bytes) {
                        ir_node *store;
                        ir_node *store_mem;
 
-                       addr_const = new_r_Const_long(irg, block, mode_Iu, offset);
-                       add        = new_r_Add(irg, block, addr_src, addr_const, addr_mode);
+                       addr_const = new_r_Const_long(irg, mode_Iu, offset);
+                       add        = new_r_Add(block, addr_src, addr_const, addr_mode);
 
-                       load     = new_r_Load(irg, block, mem, add, mode);
-                       load_res = new_r_Proj(irg, block, load, mode, pn_Load_res);
-                       load_mem = new_r_Proj(irg, block, load, mode_M, pn_Load_M);
+                       load     = new_r_Load(block, mem, add, mode, 0);
+                       load_res = new_r_Proj(load, mode, pn_Load_res);
+                       load_mem = new_r_Proj(load, mode_M, pn_Load_M);
 
-                       addr_const = new_r_Const_long(irg, block, mode_Iu, offset);
-                       add        = new_r_Add(irg, block, addr_dst, addr_const, addr_mode);
+                       addr_const = new_r_Const_long(irg, mode_Iu, offset);
+                       add        = new_r_Add(block, addr_dst, addr_const, addr_mode);
 
-                       store     = new_r_Store(irg, block, mem, add, load_res);
-                       store_mem = new_r_Proj(irg, block, store, mode_M, pn_Store_M);
+                       store     = new_r_Store(block, load_mem, add, load_res, 0);
+                       store_mem = new_r_Proj(store, mode_M, pn_Store_M);
 
                        mem = store_mem;
                }
@@ -120,16 +119,16 @@ static void lower_copyb_nodes(ir_node *irn, unsigned mode_bytes) {
        }
 
        turn_into_tuple(irn, pn_CopyB_max);
-       set_Tuple_pred(irn, pn_CopyB_M_regular, mem);
+       set_Tuple_pred(irn, pn_CopyB_M,         mem);
        set_Tuple_pred(irn, pn_CopyB_X_regular, get_irg_bad(irg));
        set_Tuple_pred(irn, pn_CopyB_X_except,  get_irg_bad(irg));
-       set_Tuple_pred(irn, pn_CopyB_M_except,  get_irg_bad(irg));
 }
 
 /**
  * Post-Walker: find small CopyB nodes.
  */
-static void find_copyb_nodes(ir_node *irn, void *ctx) {
+static void find_copyb_nodes(ir_node *irn, void *ctx)
+{
        walk_env_t *env = ctx;
        ir_type    *tp;
        unsigned   size;
@@ -158,7 +157,7 @@ static void find_copyb_nodes(ir_node *irn, void *ctx) {
                return;
 
        /* ok, link it in */
-       entry = obstack_alloc(&env->obst, sizeof(*entry));
+       entry = OALLOC(&env->obst, entry_t);
        entry->copyb = irn;
        INIT_LIST_HEAD(&entry->list);
        set_irn_link(irn, entry);