bechordal: Remove the attribute cls from struct post_spill_env_t.
[libfirm] / ir / be / arm / arm_transform.c
index c2413d9..36f7c96 100644 (file)
@@ -1592,24 +1592,6 @@ static ir_node *gen_Proj(ir_node *node)
        }
 }
 
-typedef ir_node *(*create_const_node_func)(dbg_info *db, ir_node *block);
-
-static inline ir_node *create_const(ir_graph *irg, ir_node **place,
-                                    create_const_node_func func,
-                                    const arch_register_t* reg)
-{
-       ir_node *block, *res;
-
-       if (*place != NULL)
-               return *place;
-
-       block = get_irg_start_block(irg);
-       res = func(NULL, block);
-       arch_set_irn_register(res, reg);
-       *place = res;
-       return res;
-}
-
 static ir_node *gen_Unknown(ir_node *node)
 {
        ir_node  *block     = get_nodes_block(node);
@@ -1991,18 +1973,10 @@ static ir_node *gen_Sel(ir_node *node)
        return new_bd_arm_FrameAddr(dbgi, new_block, new_ptr, entity, 0);
 }
 
-/**
- * Change some phi modes
- */
 static ir_node *gen_Phi(ir_node *node)
 {
+       ir_mode                   *mode = get_irn_mode(node);
        const arch_register_req_t *req;
-       ir_node  *block = be_transform_node(get_nodes_block(node));
-       ir_graph *irg   = current_ir_graph;
-       dbg_info *dbgi  = get_irn_dbg_info(node);
-       ir_mode  *mode  = get_irn_mode(node);
-       ir_node  *phi;
-
        if (mode_needs_gp_reg(mode)) {
                /* we shouldn't have any 64bit stuff around anymore */
                assert(get_mode_size_bits(mode) <= 32);
@@ -2013,21 +1987,9 @@ static ir_node *gen_Phi(ir_node *node)
                req = arch_no_register_req;
        }
 
-       /* phi nodes allow loops, so we use the old arguments for now
-        * and fix this later */
-       phi = new_ir_node(dbgi, irg, block, op_Phi, mode, get_irn_arity(node),
-                         get_irn_in(node) + 1);
-       copy_node_attr(irg, node, phi);
-       be_duplicate_deps(node, phi);
-
-       arch_set_irn_register_req_out(phi, 0, req);
-
-       be_enqueue_preds(node);
-
-       return phi;
+       return be_transform_phi(node, req);
 }
 
-
 /**
  * Enters all transform functions into the generic pointer
  */