condeval.h added
[libfirm] / ir / common / statistics.h
1 /*
2  * Project:     libFIRM
3  * File name:   ir/common/statistics.h
4  * Purpose:     Compute statistics about firm library.
5  * Author:      Goetz Lindenmaier
6  * Modified by:
7  * Created:
8  * CVS-ID:      $Id$
9  * Copyright:   (c) 2004 Universität Karlsruhe
10  * Licence:     This file protected by GPL -  GNU GENERAL PUBLIC LICENSE.
11  */
12
13 /**
14  *  @file statistics.h
15  *
16  *  This file defines a set ouf routines to output statistics
17  *  about the firm library.  These statistics include
18  *   - number of datastructures allocated, as entities, types, nodes...
19  *   - memory consumption of data structures
20  *   - effectiveness of optimizations
21  *   - ... more to come.
22  *
23  *  This file is thought for compiler optimization, not to run it in a
24  *  production compiler. I.e., the routines may be inefficient.
25  */
26
27 # ifndef _STATISTICS_H_
28 # define _STATISTICS_H_
29
30 /* Statistics about allocated datastructures: counts. */
31 /** verbosity:
32  *  0: information about the whole program
33  *  1: information per type/procedure
34  */
35
36 void print_all_counts(int verbosity);
37
38 /** Prints number of irgraphs, number of nodes in them and
39  *  totals in intRAprocedural view. */
40 void print_graph_counts(int verbosity);
41
42 /** Prints number of types, number of entities and totals.
43  *  Does not consider frame types or types to representent call by
44  *  value arguments/results. */
45 void print_type_counts(int verbosity);
46
47 /** Prints number of tarvals.
48  *   */
49 void print_tarval_counts(int verbosity);
50
51 /** Prints number of idents.
52  *   */
53 void print_ident_counts(int verbosity);
54
55
56 # endif /* _STATISTICS_H_ */