amd64: small changes w.r.t. stack alignment.
[libfirm] / ir / be / betranshlp.h
index 0edf64d..2c269ef 100644 (file)
@@ -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