X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbetranshlp.h;h=2c269efc9294ecb21851a38f5d4c861bea9db530;hb=568a27341dd03831ca76a7fa3b83f7fdcfbb0859;hp=40558804cf234b02557fcb5a859ed5eefad63864;hpb=f804035cd7874e073e02b9513bd5e3c3047f861f;p=libfirm diff --git a/ir/be/betranshlp.h b/ir/be/betranshlp.h index 40558804c..2c269efc9 100644 --- a/ir/be/betranshlp.h +++ b/ir/be/betranshlp.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. * @@ -33,18 +33,13 @@ /** * A callback to pre-transform some nodes before the transformation starts. */ -typedef void (arch_pretrans_nodes)(void *arch_cg); +typedef void (arch_pretrans_nodes)(void); /** * The type of a transform function. */ typedef ir_node *(be_transform_func)(ir_node *node); -/** - * Returns an old (saved) anchor of the currently tranforming graph. - */ -ir_node *be_get_old_anchor(unsigned anchor); - /** pre-transform a node */ ir_node *be_pre_transform_node(ir_node *place); @@ -58,6 +53,12 @@ ir_node *be_transform_node(ir_node *node); */ void be_duplicate_deps(ir_node *old_node, ir_node *new_node); +/** + * Depend on the frame if the node is in the start block. This prevents + * nodes being scheduled before they can be spilled. + */ +void be_dep_on_frame(ir_node *node); + /** * Duplicate a node during transformation. */ @@ -68,6 +69,11 @@ ir_node *be_duplicate_node(ir_node *node); */ void be_set_transformed_node(ir_node *old_node, ir_node *new_node); +/** + * returns 1 if the node is already transformed + */ +int be_is_transformed(const ir_node *node); + /** * enqueue all inputs into the transform queue. */ @@ -76,6 +82,6 @@ void be_enqueue_preds(ir_node *node); /** * Transform a graph. Transformers must be registered first. */ -void be_transform_graph(be_irg_t *birg, arch_pretrans_nodes *func, void *cg_env); +void be_transform_graph(ir_graph *irg, arch_pretrans_nodes *func); -#endif /* FIRM_BE_BETRANSHLP_H */ +#endif