X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeirgmod.h;h=0777ec9426d761d55ba324f6e9a505ee5c4a15f8;hb=03300a88ae8d61bb6c2129dcf55937f3250c1217;hp=7ec959a4a9395ab63344724809f4143411b89a0b;hpb=39f3a8dbd0f00f90b7b12a849d1bf7b9c1329479;p=libfirm diff --git a/ir/be/beirgmod.h b/ir/be/beirgmod.h index 7ec959a4a..0777ec942 100644 --- a/ir/be/beirgmod.h +++ b/ir/be/beirgmod.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -32,47 +32,9 @@ #ifndef FIRM_BE_BEIRGMOD_H #define FIRM_BE_BEIRGMOD_H -#include "irnode.h" +#include "firm_types.h" #include "beirg.h" -#if 0 -/** - * Introduce several copies for one node. - * - * A copy in this context means, that you want to introduce several new - * abstract values (in Firm: nodes) for which you know, that they - * represent the same concrete value. This is the case if you - * - copy - * - spill and reload - * - re-materialize - * a value. - * - * This function reroutes all uses of the original value to the copies in the - * corresponding dominance subtrees and creates Phi functions where necessary. - * - * @note The visited flag and link fields are used. - * - * @param info Dominance frontier information. - * @param lv Liveness information to be updated. If NULL, no liveness - * updating is performed. - * @param value The value that has been duplicated. - * @param copies_len the length of the copies array - * @param copie an array holding all copies of the value - * @param phis An ARR_F where all newly created phis will be inserted, - * may be NULL - * @param ignore_uses A set of nodes probably using one of the nodes in - * @p nodes. Their usage will not adjusted. They remain - * untouched by this function. May be NULL. - */ -ir_node **be_ssa_construction(const be_dom_front_info_t *info, be_lv_t *lv, - ir_node *value, int copies_len, ir_node **copies, - const ir_nodeset_t *ignore_uses, int need_new_phis); - -/** @deprecated */ -void be_ssa_constr_set_ignore(const be_dom_front_info_t *info, be_lv_t *lv, - pset *nodes, pset *ignores); -#endif - /** * Insert a Perm which permutes all (non-ignore) live values of a given register class * after a certain instruction. @@ -80,7 +42,7 @@ void be_ssa_constr_set_ignore(const be_dom_front_info_t *info, be_lv_t *lv, * @param irn The node to insert the Perm after. * @return The Perm or NULL if nothing was live before @p irn. */ -ir_node *insert_Perm_after(be_irg_t *birg, const arch_register_class_t *cls, +ir_node *insert_Perm_after(ir_graph *irg, const arch_register_class_t *cls, ir_node *irn); /** @@ -93,4 +55,10 @@ ir_node *insert_Perm_after(be_irg_t *birg, const arch_register_class_t *cls, */ int be_remove_empty_blocks(ir_graph *irg); -#endif /* FIRM_BE_BEIRGMOD_H */ +/** + * Removes dead nodes from schedule + * @param irg the graph + */ +void be_remove_dead_nodes_from_schedule(ir_graph *irg); + +#endif