avoid unnecessary passing around of arch_env_t* in backend APIs
[libfirm] / ir / be / benode.c
index 5e89abd..3383f38 100644 (file)
@@ -441,9 +441,10 @@ void be_Perm_reduce(ir_node *perm, int new_size, int *map)
        set_irn_in(perm, new_size, new_in);
 }
 
-ir_node *be_new_MemPerm(const arch_env_t *arch_env, ir_node *bl, int n, ir_node *in[])
+ir_node *be_new_MemPerm(ir_node *block, int n, ir_node *in[])
 {
-       ir_graph                     *irg       = get_Block_irg(bl);
+       ir_graph                     *irg       = get_Block_irg(block);
+       const arch_env_t             *arch_env  = be_get_irg_arch_env(irg);
        ir_node                      *frame     = get_irg_frame(irg);
        const arch_register_t        *sp        = arch_env->sp;
        ir_node                      *irn;
@@ -454,7 +455,7 @@ ir_node *be_new_MemPerm(const arch_env_t *arch_env, ir_node *bl, int n, ir_node
        real_in[0] = frame;
        memcpy(&real_in[1], in, n * sizeof(real_in[0]));
 
-       irn = new_ir_node(NULL, irg, bl, op_be_MemPerm, mode_T, n+1, real_in);
+       irn = new_ir_node(NULL, irg, block, op_be_MemPerm, mode_T, n+1, real_in);
 
        init_node_attr(irn, n + 1, n);
        be_node_set_reg_class_in(irn, 0, sp->reg_class);
@@ -1078,7 +1079,7 @@ static ir_entity *be_node_get_frame_entity(const ir_node *irn)
        return be_get_frame_entity(irn);
 }
 
-static void be_node_set_frame_entity(ir_node *irn, ir_entity *ent)
+void be_node_set_frame_entity(ir_node *irn, ir_entity *ent)
 {
        be_frame_attr_t *a;
 
@@ -1123,7 +1124,6 @@ static const arch_irn_ops_t be_node_irn_ops = {
        be_node_get_in_reg_req,
        be_node_classify,
        be_node_get_frame_entity,
-       be_node_set_frame_entity,
        be_node_set_frame_offset,
        be_node_get_sp_bias,
        NULL,    /* get_inverse             */
@@ -1152,13 +1152,6 @@ static ir_entity* dummy_get_frame_entity(const ir_node *node)
        return NULL;
 }
 
-static void dummy_set_frame_entity(ir_node *node, ir_entity *entity)
-{
-       (void) node;
-       (void) entity;
-       panic("dummy_set_frame_entity() should not be called");
-}
-
 static void dummy_set_frame_offset(ir_node *node, int bias)
 {
        (void) node;
@@ -1177,7 +1170,6 @@ static const arch_irn_ops_t dummy_be_irn_ops = {
        dummy_reg_req,
        dummy_classify,
        dummy_get_frame_entity,
-       dummy_set_frame_entity,
        dummy_set_frame_offset,
        dummy_get_sp_bias,
        NULL,      /* get_inverse           */
@@ -1318,7 +1310,6 @@ static const arch_irn_ops_t phi_irn_ops = {
        phi_get_irn_reg_req,
        dummy_classify,
        dummy_get_frame_entity,
-       dummy_set_frame_entity,
        dummy_set_frame_offset,
        dummy_get_sp_bias,
        NULL,    /* get_inverse             */