X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Flibfirm%2Fcallgraph.h;h=d0ea120281fbfa51059c67ae6b2b9faec1d0c5e0;hb=eff21a4b5b5c5fe09ad5d43129105f58cd1ce70e;hp=2cbb3f588a8b786187df017ce9a0b2159956d359;hpb=04569019f10d7a80fa4e9c3558f3c6326e13ef9b;p=libfirm diff --git a/include/libfirm/callgraph.h b/include/libfirm/callgraph.h index 2cbb3f588..d0ea12028 100644 --- a/include/libfirm/callgraph.h +++ b/include/libfirm/callgraph.h @@ -22,8 +22,18 @@ * @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 @@ -36,12 +46,8 @@ * 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 { @@ -135,23 +141,6 @@ FIRM_API void callgraph_walk(callgraph_walk_func *pre, */ FIRM_API void find_callgraph_recursions(void); -/** Compute interprocedural performance estimates. - * - * Computes - * - the loop depth of the method. - * The loop depth of an edge between two methods is the - * maximal loop depth of the Call nodes that call along this edge. - * The loop depth of the method is the loop depth of the most expensive - * path from main(). - * - The recursion depth. The maximal number of recursions passed - * on all paths reaching this method. - * - The execution frequency. As loop depth, but the edge weight is the sum - * of the execution frequencies of all Calls along the edge. - * - * Expects the main irg is set, see set_irp_main_irg(); - **/ -FIRM_API void compute_performance_estimates(void); - /** Computes the interprocedural loop nesting information. * * Computes two numbers for each irg: the depth it is called in 'normal' @@ -182,6 +171,8 @@ FIRM_API void set_irp_loop_nesting_depth_state(loop_nesting_depth_state s); /** 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