/*
- * 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.
* @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.
* @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