X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbenode.h;h=003cad1fff83d9f4af855ba0587e3fbed0e4032d;hb=5474a1c188c9d59eea2c915515980cd9cbab58d8;hp=fc01db6ec87991d2bcd668fff7f18c4ed7759721;hpb=6b45fde8adadc605dfe4c3a181c7fd8f78ac227c;p=libfirm diff --git a/ir/be/benode.h b/ir/be/benode.h index fc01db6ec..003cad1ff 100644 --- a/ir/be/benode.h +++ b/ir/be/benode.h @@ -22,7 +22,6 @@ * @brief Backend node support for generic backend nodes. * @author Sebastian Hack * @date 17.05.2005 - * @version $Id$ * * Backend node support for generic backend nodes. * This file provides Perm, Copy, Spill and Reload nodes. @@ -64,6 +63,8 @@ int is_be_node(const ir_node *irn); */ void be_init_op(void); +void be_finish_op(void); + /** * Position numbers for the be_Spill inputs. */ @@ -104,8 +105,7 @@ enum { /** * Make a new Copy node. */ -ir_node *be_new_Copy(const arch_register_class_t *cls, ir_node *block, - ir_node *in); +ir_node *be_new_Copy(ir_node *block, ir_node *in); /** Returns the Copy Argument. */ ir_node *be_get_Copy_op(const ir_node *cpy); /** Sets the Copy Argument. */ @@ -359,43 +359,15 @@ int be_Return_get_emit_pop(const ir_node *ret); */ void be_Return_set_emit_pop(ir_node *ret, int emit_pop); -/** appends a node to the return node, returns the position of the node */ -int be_Return_append_node(ir_node *ret, ir_node *node); - ir_node *be_new_Start(dbg_info *dbgi, ir_node *block, int n_out); -/** - * Make a spill node. - * - * @param irn The node to be spilled. - * @param block the block where the spill should be placed - * @return The new spill node. - */ -ir_node *be_spill(ir_node *block, ir_node *irn); - -/** - * Make a reload and insert it into the schedule. - * - * @param cls The register class of the reloaded value. - * @param insert The node in the schedule in front of which the reload is - * inserted. - * @param mode The mode of the original (spilled) value. - * @param spill The spill node corresponding to this reload. - * @return A freshly made reload. - */ -ir_node *be_reload(const arch_register_class_t *cls, ir_node *insert, - ir_mode *mode, ir_node *spill); - enum { n_be_CopyKeep_op = 0 }; -ir_node *be_new_CopyKeep(const arch_register_class_t *cls, ir_node *block, - ir_node *src, int n, ir_node *in_keep[], - ir_mode *mode); +ir_node *be_new_CopyKeep(ir_node *block, ir_node *src, + int n, ir_node *in_keep[]); -ir_node *be_new_CopyKeep_single(const arch_register_class_t *cls, - ir_node *block, ir_node *src, ir_node *keep, - ir_mode *mode); +ir_node *be_new_CopyKeep_single(ir_node *block, ir_node *src, ir_node *keep); ir_node *be_get_CopyKeep_op(const ir_node *cpy); @@ -472,7 +444,7 @@ void be_node_set_reg_class_out(ir_node *irn, int pos, */ void be_set_phi_reg_req(ir_node *phi, const arch_register_req_t *req); -void be_dump_phi_reg_reqs(FILE *out, ir_node *node, dump_reason_t reason); +void be_dump_phi_reg_reqs(FILE *out, const ir_node *node, dump_reason_t reason); /** * Creates a new phi with associated backend informations