refactor mode_b lowerer to have a create_set callback
[libfirm] / ir / be / benode.h
index 901cc9b..d9f8a01 100644 (file)
@@ -147,8 +147,7 @@ void be_Perm_reduce(ir_node *perm, int new_size, int *map);
  * used as spillslots). MemPerm nodes perform this operation without modifying
  * any register values.
  */
-ir_node *be_new_MemPerm(const arch_env_t *arch_env, ir_node *block, int n,
-                        ir_node *in[]);
+ir_node *be_new_MemPerm(ir_node *block, int n, ir_node *in[]);
 ir_node *be_new_Keep(ir_node *block, int arity, ir_node *in[]);
 
 void be_Keep_add_node(ir_node *keep, const arch_register_class_t *cls,
@@ -424,6 +423,8 @@ void be_set_CopyKeep_op(ir_node *cpy, ir_node *op);
  */
 ir_entity *be_get_frame_entity(const ir_node *irn);
 
+void be_node_set_frame_entity(ir_node *node, ir_entity *entity);
+
 /**
  * Returns the frame offset of this node.
  */
@@ -454,6 +455,9 @@ void be_set_constr_single_reg_in(ir_node *irn, int pos,
 void be_set_constr_single_reg_out(ir_node *irn, int pos,
                const arch_register_t *reg, arch_register_req_type_t additional_flags);
 
+const arch_register_req_t *be_create_reg_req(struct obstack *obst,
+               const arch_register_t *reg, arch_register_req_type_t additional_types);
+
 /**
  * Impose register constraints on a backend node.
  * The register subsets given by the limited function in @p req are copied to