we can do without the odd align.h
[libfirm] / ir / lower / lower_copyb.c
index 1e4ad86..610f535 100644 (file)
@@ -64,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;
@@ -98,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;
                }
@@ -118,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;
@@ -156,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);