X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=inline;f=ir%2Fbe%2Fbetranshlp.h;h=2c269efc9294ecb21851a38f5d4c861bea9db530;hb=568a27341dd03831ca76a7fa3b83f7fdcfbb0859;hp=0edf64dfbafe7ef50746f4087f51e6dad4c57c12;hpb=443730f33bedbae60304c7773d6b14062eceaa6d;p=libfirm diff --git a/ir/be/betranshlp.h b/ir/be/betranshlp.h index 0edf64dfb..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,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. @@ -53,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. */ @@ -63,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. */ @@ -71,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