libFirm
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
firmstat.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 1995-2008 University of Karlsruhe. All right reserved.
3
*
4
* This file is part of libFirm.
5
*
6
* This file may be distributed and/or modified under the terms of the
7
* GNU General Public License version 2 as published by the Free Software
8
* Foundation and appearing in the file LICENSE.GPL included in the
9
* packaging of this file.
10
*
11
* Licensees holding valid libFirm Professional Edition licenses may use
12
* this file in accordance with the libFirm Commercial License.
13
* Agreement provided with the Software.
14
*
15
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17
* PURPOSE.
18
*/
19
25
#ifndef FIRM_STAT_FIRMSTAT_H
26
#define FIRM_STAT_FIRMSTAT_H
27
28
#include "
irhooks.h
"
29
#include "
begin.h
"
30
34
enum
firmstat_options_t
{
35
FIRMSTAT_ENABLED
= 0x00000001,
36
FIRMSTAT_PATTERN_ENABLED
= 0x00000002,
37
FIRMSTAT_COUNT_STRONG_OP
= 0x00000004,
38
FIRMSTAT_COUNT_DAG
= 0x00000008,
39
FIRMSTAT_COUNT_DELETED
= 0x00000010,
40
FIRMSTAT_COUNT_SELS
= 0x00000020,
41
FIRMSTAT_COUNT_CONSTS
= 0x00000040,
42
FIRMSTAT_CSV_OUTPUT
= 0x10000000
43
};
44
48
enum
firmstat_optimizations_t
{
49
FS_OPT_NEUTRAL_0
= HOOK_OPT_LAST,
50
FS_OPT_NEUTRAL_1
,
51
FS_OPT_ADD_A_A
,
52
FS_OPT_ADD_A_MINUS_B
,
53
FS_OPT_ADD_SUB
,
54
FS_OPT_ADD_MUL_A_X_A
,
55
FS_OPT_SUB_0_A
,
56
FS_OPT_MINUS_SUB
,
57
FS_OPT_SUB_MINUS
,
58
FS_OPT_SUB_MUL_A_X_A
,
59
FS_OPT_SUB_SUB_X_Y_Z
,
60
FS_OPT_SUB_C_NOT_X
,
61
FS_OPT_SUB_TO_ADD
,
62
FS_OPT_SUB_TO_NOT
,
63
FS_OPT_SUB_TO_CONV
,
64
FS_OPT_MUL_MINUS
,
65
FS_OPT_MUL_MINUS_1
,
66
FS_OPT_MINUS_MUL_C
,
67
FS_OPT_MUL_MINUS_MINUS
,
68
FS_OPT_OR
,
69
FS_OPT_AND
,
70
FS_OPT_TO_EOR
,
71
FS_OPT_EOR_A_A
,
72
FS_OPT_EOR_A_B_A
,
73
FS_OPT_EOR_TO_NOT_BOOL
,
74
FS_OPT_EOR_TO_NOT
,
75
FS_OPT_NOT_CMP
,
76
FS_OPT_OR_SHFT_TO_ROTL
,
77
FS_OPT_REASSOC_SHIFT
,
78
FS_OPT_SHIFT_AND
,
79
FS_OPT_SHIFT_OR
,
80
FS_OPT_SHIFT_EOR
,
81
FS_OPT_CONV
,
82
FS_OPT_CAST
,
83
FS_OPT_MIN_MAX_EQ
,
84
FS_OPT_MUX_COMBINE
,
85
FS_OPT_MUX_CONV
,
86
FS_OPT_MUX_BOOL
,
87
FS_OPT_MUX_NOT_BOOL
,
88
FS_OPT_MUX_OR_BOOL
,
89
FS_OPT_MUX_ORNOT_BOOL
,
90
FS_OPT_MUX_AND_BOOL
,
91
FS_OPT_MUX_ANDNOT_BOOL
,
92
FS_OPT_MUX_C
,
93
FS_OPT_MUX_EQ
,
94
FS_OPT_MUX_TRANSFORM
,
95
FS_OPT_MUX_TO_MIN
,
96
FS_OPT_MUX_TO_MAX
,
97
FS_OPT_MUX_TO_BITOP
,
98
FS_OPT_INVOLUTION
,
99
FS_OPT_MINUS_NOT
,
100
FS_OPT_NOT_MINUS_1
,
101
FS_OPT_NOT_PLUS_1
,
102
FS_OPT_ADD_X_NOT_X
,
103
FS_OPT_FP_INV_MUL
,
104
FS_OPT_CONST_PHI
,
105
FS_OPT_PREDICATE
,
106
FS_OPT_DEMORGAN
,
107
FS_OPT_CMP_OP_OP
,
108
FS_OPT_CMP_OP_C
,
109
FS_OPT_CMP_CONV_CONV
,
110
FS_OPT_CMP_CONV
,
111
FS_OPT_CMP_TO_BOOL
,
112
FS_OPT_CMP_CNST_MAGN
,
113
FS_OPT_CMP_SHF_TO_AND
,
114
FS_OPT_CMP_MOD_TO_AND
,
115
FS_OPT_NOP
,
116
FS_OPT_GVN_FOLLOWER
,
117
FS_OPT_GVN_FULLY
,
118
FS_OPT_GVN_PARTLY
,
119
FS_OPT_COMBO_CONST
,
120
FS_OPT_COMBO_CF
,
121
FS_OPT_COMBO_FOLLOWER
,
122
FS_OPT_COMBO_CONGRUENT
,
123
FS_OPT_JUMPTHREADING
,
124
FS_OPT_RTS_ABS
,
125
FS_OPT_RTS_ALLOCA
,
126
FS_OPT_RTS_SQRT
,
127
FS_OPT_RTS_CBRT
,
128
FS_OPT_RTS_POW
,
129
FS_OPT_RTS_EXP
,
130
FS_OPT_RTS_LOG
,
131
FS_OPT_RTS_SIN
,
132
FS_OPT_RTS_COS
,
133
FS_OPT_RTS_TAN
,
134
FS_OPT_RTS_ASIN
,
135
FS_OPT_RTS_ACOS
,
136
FS_OPT_RTS_ATAN
,
137
FS_OPT_RTS_SINH
,
138
FS_OPT_RTS_COSH
,
139
FS_OPT_RTS_TANH
,
140
FS_OPT_RTS_SYMMETRIC
,
141
FS_OPT_RTS_STRCMP
,
142
FS_OPT_RTS_STRNCMP
,
143
FS_OPT_RTS_STRCPY
,
144
FS_OPT_RTS_STRLEN
,
145
FS_OPT_RTS_MEMCPY
,
146
FS_OPT_RTS_MEMPCPY
,
147
FS_OPT_RTS_MEMMOVE
,
148
FS_OPT_RTS_MEMSET
,
149
FS_OPT_RTS_MEMCMP
,
150
FS_BE_IA32_LEA
,
151
FS_BE_IA32_LOAD_LEA
,
152
FS_BE_IA32_STORE_LEA
,
153
FS_BE_IA32_AM_S
,
154
FS_BE_IA32_AM_D
,
155
FS_BE_IA32_CJMP
,
156
FS_BE_IA32_2ADDRCPY
,
157
FS_BE_IA32_SPILL2ST
,
158
FS_BE_IA32_RELOAD2LD
,
159
FS_BE_IA32_SUB2NEGADD
,
160
FS_BE_IA32_LEA2ADD
,
161
FS_OPT_MAX
162
};
163
171
FIRM_API
void
stat_dump_snapshot
(
const
char
*fname,
const
char
*phase);
172
182
FIRM_API
ir_prog_pass_t
*
stat_dump_snapshot_pass
(
183
const
char
*name,
const
char
*fname,
const
char
*phase);
184
191
FIRM_API
void
firm_init_stat
(
unsigned
enable_options);
192
196
FIRM_API
void
stat_term
(
void
);
197
201
FIRM_API
int
stat_is_active
(
void
);
202
203
#include "
end.h
"
204
205
#endif
libfirm
firmstat.h
Generated on Sat Nov 24 2012 19:13:48 for libFirm by
1.8.1.2