* @brief Representation and computation of the callgraph.
* @author Goetz Lindenmaier
* @date 21.7.2004
- * @version $Id$
- * @brief
+ * @brief callgraph analysis
+ */
+#ifndef FIRM_ANA_CALLGRAPH_H
+#define FIRM_ANA_CALLGRAPH_H
+
+#include "firm_types.h"
+#include "begin.h"
+
+/**
+ * @ingroup irana
+ * @defgroup callgraph Callgraph
+ *
* This file contains the representation of the callgraph.
* The nodes of the call graph are ir_graphs. The edges between
* the nodes are calling relations. I.e., if method a calls method
* Finally this file contains an algorithm that computes backedges
* in the callgraph, i.e., the algorithm finds possibly recursive calls.
* The algorithm computes an upper bound of all recursive calls.
+ * @{
*/
-#ifndef FIRM_ANA_CALLGRAPH_H
-#define FIRM_ANA_CALLGRAPH_H
-
-#include "firm_types.h"
-#include "begin.h"
/** Flag to indicate state of callgraph. */
typedef enum {
FIRM_API size_t get_irg_n_callers(const ir_graph *irg);
/** Returns the caller at position pos. */
-ir_graph *get_irg_caller(const ir_graph *irg, size_t pos);
+FIRM_API ir_graph *get_irg_caller(const ir_graph *irg, size_t pos);
/** Returns non-zero if the caller at position pos is "a backedge", i.e. a recursion. */
FIRM_API int is_irg_caller_backedge(const ir_graph *irg, size_t pos);
/** Marks the nesting depth state of the program representation as inconsistent. */
FIRM_API void set_irp_loop_nesting_depth_state_inconsistent(void);
+/** @} */
+
#include "end.h"
#endif