bring back Carry and Borrow (firm_decomp apparently uses it) and add a note that...
[libfirm] / include / libfirm / height.h
index 840accb..61597ae 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.
  *
 #ifndef FIRM_ANA_HEIGHTS_H
 #define FIRM_ANA_HEIGHTS_H
 
+#include "firm_types.h"
+#include "begin.h"
+
 typedef struct _heights_t heights_t;
 
 /**
  * Get the height of a node inside a basic block.
- * The height of the node is the maximal number of edges between a sink node in that block and the node itself (plus 1).
+ * The height of the node is the maximal number of edges between a sink node in
+ * that block and the node itself (plus 1).
  * @param h    The heights object.
  * @param irn  The node.
  * @return     The height of the node.
  */
-unsigned get_irn_height(heights_t *h, const ir_node *irn);
+FIRM_API unsigned get_irn_height(const heights_t *h, const ir_node *irn);
 
 /**
  * Check, if a certain node is reachable according to data dependence edges from another node.
@@ -45,14 +49,15 @@ unsigned get_irn_height(heights_t *h, const ir_node *irn);
  * @param m The other node.
  * @return  1, if n is data dependent on m, 0 if not.
  */
-int heights_reachable_in_block(heights_t *h, const ir_node *n, const ir_node *m);
+FIRM_API int heights_reachable_in_block(heights_t *h, const ir_node *n,
+                                        const ir_node *m);
 
 /**
  * Recompute the height information.
  * This can be used to recompute the height information if the graph has changed since the last computation.
  * @param h The heights object.
  */
-void heights_recompute(heights_t *h);
+FIRM_API void heights_recompute(heights_t *h);
 
 /**
  * Recompute the height information for a certain block.
@@ -61,20 +66,21 @@ void heights_recompute(heights_t *h);
  * @param block The block
  * @return The maximum over all heights in the block.
  */
-unsigned heights_recompute_block(heights_t *h, ir_node *block);
+FIRM_API unsigned heights_recompute_block(heights_t *h, ir_node *block);
 
 /**
  * Make a new heights object.
  * This also computes the heights for each block in the graph.
  * @param irg The graph.
  */
-heights_t *heights_new(ir_graph *irg);
+FIRM_API heights_t *heights_new(ir_graph *irg);
 
 /**
  * Free a heights object.
  * @param h The heights object.
  */
-void heights_free(heights_t *h);
+FIRM_API void heights_free(heights_t *h);
 
+#include "end.h"
 
-#endif /* FIRM_ANA_HEIGHTS_H */
+#endif