X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fana%2Finterval_analysis.h;h=bac1a9c4bbf6c92256fa840068288c6401786ba5;hb=f274dcf35aa0d3f4748387dbddfe50e8d7d44951;hp=db4637c6217cb994998ce97db4daed34759ab69f;hpb=5ceb18e5f9c9afa7b0ac63e2bfdda2875e8bc5df;p=libfirm diff --git a/ir/ana/interval_analysis.h b/ir/ana/interval_analysis.h index db4637c62..bac1a9c4b 100644 --- a/ir/ana/interval_analysis.h +++ b/ir/ana/interval_analysis.h @@ -11,20 +11,21 @@ */ /** -* @file interval_analysis.h -* -* Decompost control flow graph into acylic, hierarchic intervals. -* -* @author Goetz Lindenmaier -* -* The analysis is based on the control flow looptree. An intervall are basically -* all nodes in a single ir_loop entry, i.e., basic blocks and inner loop nodes. -* The analysis computes a new set of edges that link all nodes of a loop to an -* acyclic graph. -* -* -* -*/ + * @file interval_analysis.h + * + * Decompost control flow graph into acylic, hierarchic intervals. + * + * @author Goetz Lindenmaier + * + * The analysis is based on the control flow looptree. An intervall + * are basically all nodes in a single ir_loop entry, i.e., basic + * blocks and inner loop nodes. The analysis computes a new set of + * edges that link all nodes of a loop to an acyclic graph. + * + * The interval analysis counts the number of exception control flow + * operations leaving a block. This depends on stuff computed in + * execution_freqencies. + */ #ifndef _INTERVAL_ANALYSIS_H_ #define _INTERVAL_ANALYSIS_H_ @@ -46,7 +47,12 @@ void add_region_in (void *region, void *in); * * This number is useful for evaluation of execution frequencies. */ -int get_region_n_outs(void *region); +int get_region_n_outs(void *region); + +/** The number of exception out edges of a region. + * + * This number is useful for evaluation of execution frequencies. + */ int get_region_n_exc_outs(void *region); /** The control flow operation corresponding to the loop-region in at @@ -55,16 +61,16 @@ int get_region_n_exc_outs(void *region); void *get_loop_cfop(void *region, int pos); - - /** The algorithm to construct the interval graph. + * + * Constructs the cf loop tree and leaves a valid version of it. * * @todo: @@@ add flag that states correctness of interval analysis information * to irg. **/ - void construct_intervals(ir_graph *irg); + /** frees interval information of all graphs. */ void free_intervals(void);