X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbetranshlp.h;h=e0be48a95a17689dd10f55447e7e2e31224834dc;hb=6322e3310a2da6f19fba3aa1017a9c84d45266fd;hp=3869c7bb918d3f22fbf211c9934c921be2df5973;hpb=14dd44aff9c64c496e886508b1e27fc09b13c0a8;p=libfirm diff --git a/ir/be/betranshlp.h b/ir/be/betranshlp.h index 3869c7bb9..e0be48a95 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,7 +33,7 @@ /** * 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. @@ -49,14 +49,15 @@ ir_node *be_pre_transform_node(ir_node *place); ir_node *be_transform_node(ir_node *node); /** - * returns an anchor from the graph before the transformation + * Duplicate all dependency edges of a node. */ -ir_node *be_get_old_anchor(int anchor); +void be_duplicate_deps(ir_node *old_node, ir_node *new_node); /** - * Duplicate all dependency edges of a 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_duplicate_deps(ir_node *old_node, ir_node *new_node); +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(be_irg_t *birg, arch_pretrans_nodes *func); #endif /* FIRM_BE_BETRANSHLP_H */