OpenADFortTk (including Open64 and OpenAnalysis references)
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
config_wopt.cxx
Go to the documentation of this file.
1
/*
2
3
Copyright (C) 2000, 2001 Silicon Graphics, Inc. All Rights Reserved.
4
5
This program is free software; you can redistribute it and/or modify it
6
under the terms of version 2 of the GNU General Public License as
7
published by the Free Software Foundation.
8
9
This program is distributed in the hope that it would be useful, but
10
WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12
13
Further, this software is distributed without any warranty that it is
14
free of the rightful claim of any third person regarding infringement
15
or the like. Any license provided herein, whether implied or
16
otherwise, applies only to this software file. Patent licenses, if
17
any, provided herein do not apply to combinations of this program with
18
other software, or any other product whatsoever.
19
20
You should have received a copy of the GNU General Public License along
21
with this program; if not, write the Free Software Foundation, Inc., 59
22
Temple Place - Suite 330, Boston MA 02111-1307, USA.
23
24
Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pky,
25
Mountain View, CA 94043, or:
26
27
http://www.sgi.com
28
29
For further information regarding this notice, see:
30
31
http://oss.sgi.com/projects/GenInfo/NoticeExplan
32
33
*/
34
35
36
/* ====================================================================
37
* ====================================================================
38
*
39
*
40
* Revision history:
41
* 08-Sep-94 - Original Version (wodriver.c)
42
* 05-May-96 - config_wopt.c extracted from wodriver.c
43
*
44
* Description:
45
*
46
* Configure the -WOPT group (included in config.c).
47
* Used from ipl, inline, ipa (ld), and be.
48
*
49
* ====================================================================
50
* ====================================================================
51
*/
52
53
// This file is included in config.cxx, so it doesn't need its own set of
54
// standard includes -- only the following:
55
#include "
config_wopt.h
"
56
57
58
/* ====================================================================
59
*
60
* Global flag variables which reflect the -WOPT group options.
61
*
62
* ====================================================================
63
*/
64
65
/* List of global variables to turn on and off various optimizations */
66
UINT32
WOPT_Ip_Alias_Class_Limit
=
UINT32_MAX
;
// no limit
67
UINT32
WOPT_Alias_Class_Limit
=
UINT32_MAX
;
// no limit
68
BOOL
WOPT_Ldx_Ratio_RegIns
= 1;
69
BOOL
WOPT_Enable_Add_Do_Loop_Info
=
TRUE
;
70
BOOL
WOPT_Enable_Add_Label_Loop_Info
=
TRUE
;
71
BOOL
WOPT_Enable_Aggressive_Code_Motion
=
TRUE
;
72
INT32
WOPT_Enable_Aggressive_CM_Limit
=
INT32_MAX
;
73
INT32
WOPT_Enable_Aggressive_CM_Threshold
= 70;
74
BOOL
WOPT_Enable_Aggressive_dce
=
TRUE
;
75
BOOL
WOPT_Enable_Aggressive_Doloop_Promotion
=
FALSE
;
76
BOOL
WOPT_Enable_Aggressive_IVR
=
TRUE
;
77
BOOL
WOPT_Enable_Aggressive_Lftr
=
TRUE
;
78
BOOL
WOPT_Enable_Aggressive_Phi_Simp
=
TRUE
;
79
BOOL
WOPT_Enable_Aggstr_Reduction
=
TRUE
;
80
BOOL
WOPT_Enable_Alias_ANSI
=
TRUE
;
81
BOOL
WOPT_Enable_Alias_Classification
=
TRUE
;
82
BOOL
WOPT_Enable_Alias_Class_Fortran_Rule
=
TRUE
;
83
BOOL
WOPT_Enable_Alias_Qualifer
=
TRUE
;
84
BOOL
WOPT_Enable_Alias_Ragnarok_Unnamed
=
TRUE
;
85
BOOL
WOPT_Enable_Avoid_Rehash
=
FALSE
;
/* SSAPRE to minimize rehashing */
86
BOOL
WOPT_Enable_Bitwise_DCE
=
TRUE
;
87
BOOL
WOPT_Enable_CSE_FP_comparison
=
TRUE
;
88
BOOL
WOPT_Enable_Call_Flag
=
TRUE
;
89
BOOL
WOPT_Enable_Calls_Break_BB
=
FALSE
;
90
BOOL
WOPT_Enable_Calls_Break_BB_Set
=
FALSE
;
91
BOOL
WOPT_Enable_Canon_Expr
=
TRUE
;
92
BOOL
WOPT_Enable_Combine_Operations
=
TRUE
;
93
BOOL
WOPT_Enable_Compare_Simp
=
TRUE
;
/* simplify comparisons */
94
BOOL
WOPT_Enable_Const_PRE
=
TRUE
;
95
INT32
WOPT_Enable_Const_PRE_Limit
= 0;
96
BOOL
WOPT_Enable_Copy_Propagate
=
TRUE
;
97
BOOL
WOPT_Enable_Copy_Prop_Bad_Ops
=
FALSE
;
/* copy prop ops that strength-reduction can't handle */
98
static
BOOL
WOPT_Enable_Copy_Prop_Bad_Ops_Set
=
FALSE
;
99
BOOL
WOPT_Enable_Copy_Prop_LNO_Ops
=
FALSE
;
/* copy prop ops that LNO can't handle */
100
/* copy prop certain ops into ARRAY subscripts (enabled for mainopt) */
101
BOOL
WOPT_Enable_Copy_Prop_Ops_Into_Array
=
FALSE
;
102
BOOL
WOPT_Enable_Copy_Prop_Ops_Into_Array_Set
=
FALSE
;
103
BOOL
WOPT_Enable_CG_Alias
=
TRUE
;
104
BOOL
WOPT_Enable_DIVREM
=
TRUE
;
/* allow divrem opcode */
105
BOOL
WOPT_Enable_CRSIMP
=
TRUE
;
106
BOOL
WOPT_Enable_DCE
=
TRUE
;
107
BOOL
WOPT_Enable_DCE_Alias
=
FALSE
;
108
BOOL
WOPT_Enable_DCE_Branch
=
TRUE
;
109
INT32
WOPT_Enable_DCE_Branch_Pred_Limit
= 5;
110
BOOL
WOPT_Enable_DCE_Global
=
TRUE
;
111
BOOL
WOPT_Enable_DCE_Label
=
TRUE
;
112
BOOL
WOPT_Enable_DU_Full
=
FALSE
;
113
BOOL
WOPT_Enable_DU_Union
=
TRUE
;
114
BOOL
WOPT_Enable_Dead_CR_Fix
=
TRUE
;
115
BOOL
WOPT_Enable_Debug_Inconsistent_Ip_Class
=
FALSE
;
116
BOOL
WOPT_Enable_Estr_FB_Injury
=
FALSE
;
117
static
BOOL
WOPT_Enable_Estr_FB_Injury_Set
=
FALSE
;
118
BOOL
WOPT_Enable_Exp_PRE
=
TRUE
;
119
INT32
WOPT_Enable_Exp_PRE_Limit
= -1;
120
BOOL
WOPT_Enable_Fast_Simp
=
TRUE
;
121
BOOL
WOPT_Enable_Fold2const
=
TRUE
;
122
BOOL
WOPT_Enable_Fold_Lda_Iload_Istore
=
FALSE
;
123
BOOL
WOPT_Enable_LNO_Copy_Propagate
=
TRUE
;
124
BOOL
WOPT_Enable_FSA
=
TRUE
;
125
INT32
WOPT_Enable_Generate_Trip_Count
= 1;
126
BOOL
WOPT_Enable_Generate_DU
=
TRUE
;
127
BOOL
WOPT_Enable_Goto
=
TRUE
;
128
BOOL
WOPT_Enable_Hoisting
=
TRUE
;
129
BOOL
WOPT_Enable_Ivar_Hoisting
=
TRUE
;
130
BOOL
WOPT_Enable_I8_Primary_IV
=
FALSE
;
131
BOOL
WOPT_Enable_Improved_Addr_Taken
=
TRUE
;
132
BOOL
WOPT_Enable_Input_Prop
=
TRUE
;
133
BOOL
WOPT_Enable_Itself_Prop
=
TRUE
;
134
BOOL
WOPT_Enable_IPAA
=
FALSE
;
135
BOOL
WOPT_Enable_Ivar_Common
=
TRUE
;
136
BOOL
WOPT_Enable_Ivar_PRE
=
TRUE
;
137
BOOL
WOPT_Enable_Ivincr_Cand
=
FALSE
;
138
BOOL
WOPT_Enable_IVE
=
TRUE
;
139
BOOL
WOPT_Enable_IVE_Old
=
FALSE
;
140
BOOL
WOPT_Enable_IVR
=
TRUE
;
141
INT32
WOPT_Enable_IVR_Expand_Limit
= 1000;
/* expand 1000 statements */
142
BOOL
WOPT_Enable_IVR_Outermost_Loop_Parallel_Region
=
FALSE
;
143
BOOL
WOPT_Enable_Ldx
=
FALSE
;
144
BOOL
WOPT_Enable_Lego_Opt
=
FALSE
;
145
BOOL
WOPT_Enable_LFTR
=
TRUE
;
146
BOOL
WOPT_Enable_LFTR_Ivar
=
FALSE
;
147
#ifdef TARG_MIPS
148
BOOL
WOPT_Enable_LFTR2
=
TRUE
;
149
#else
150
BOOL
WOPT_Enable_LFTR2
=
FALSE
;
151
#endif
152
INT32
WOPT_Enable_LFTR2_Limit
= -1;
153
BOOL
WOPT_Enable_Load_PRE
=
TRUE
;
154
INT32
WOPT_Enable_Load_PRE_Limit
= -1;
155
BOOL
WOPT_Enable_Loopinvarexp_Str_Reduction
=
TRUE
;
156
BOOL
WOPT_Enable_Lower_Short_Circuit
=
FALSE
;
157
BOOL
WOPT_Enable_Lower_Short_Circuit_Set
=
FALSE
;
158
BOOL
WOPT_Enable_MINMAX
=
TRUE
;
/* allow minmax opcode */
159
BOOL
WOPT_Enable_Min_Type
=
TRUE
;
160
BOOL
WOPT_Enable_Move_Intrinsicop
=
TRUE
;
161
BOOL
WOPT_Enable_MP_varref
=
TRUE
;
162
const
BOOL
WOPT_Enable_MP_Const_Prop
=
TRUE
;
163
BOOL
WOPT_Enable_New_SR
=
TRUE
;
164
BOOL
WOPT_Enable_New_SR_Limit
= 0;
165
BOOL
WOPT_Enable_Output_Copy
=
TRUE
;
166
BOOL
WOPT_Enable_Ocopy_Lookupstmt
= 2;
167
BOOL
WOPT_Enable_Parm
=
TRUE
;
168
char
*
WOPT_Enable_Process
=
NULL
;
169
BOOL
WOPT_Enable_Phi_Simp
=
TRUE
;
170
BOOL
WOPT_Enable_Prop_Ivar
=
TRUE
;
171
BOOL
WOPT_Enable_Prop_CSE
=
FALSE
;
/* propagate CSE expressions */
172
INT32
WOPT_Enable_Prop_Limit
= 14;
/* this is a guess, PV 468862 */
173
BOOL
WOPT_Enable_Prune
=
TRUE
;
/* temporary, PV 370066 */
174
BOOL
WOPT_Enable_Replace_Second_IV
=
TRUE
;
175
BOOL
WOPT_Enable_Replace_While_Loop_Second_IV
=
TRUE
;
176
BOOL
WOPT_Enable_Restricted_Map
=
TRUE
;
177
INT32
WOPT_Enable_Rsv_Bits
= 16;
/* reserve bit count in itable */
178
BOOL
WOPT_Enable_RVI
=
TRUE
;
/* perform both rvi1 and rvi2 */
179
BOOL
WOPT_Enable_RVI1
=
TRUE
;
/* phase 1 of rvi */
180
BOOL
WOPT_Enable_RVI2
=
TRUE
;
/* phase 2 of rvi */
181
BOOL
WOPT_Enable_Rviistore
=
TRUE
;
/* agg. chi-handling on istore*/
182
char
*
WOPT_Enable_Rviskip
=
NULL
;
/* skip this var during RVI */
183
BOOL
WOPT_Enable_Rvisplit
=
FALSE
;
/* split bbs at every stmt */
184
BOOL
WOPT_Enable_Rvivsym
=
TRUE
;
/* ignore vsym in chi lists */
185
BOOL
WOPT_Enable_Second_Alias_Class
=
TRUE
;
186
BOOL
WOPT_Enable_Second_Order
=
TRUE
;
187
char
*
WOPT_Enable_Skip
=
NULL
;
/* Name of function to skip */
188
OPTION_LIST
*
WOPT_Skip
=
NULL
;
/* Skip option list */
189
SKIPLIST
*
WOPT_Skip_List
=
NULL
;
/* Processed skiplist */
190
BOOL
WOPT_Enable_SLT
=
TRUE
;
191
BOOL
WOPT_Enable_Small_Br_Target
=
FALSE
;
/* propagation into branch BBs */
192
BOOL
WOPT_Enable_Simple_If_Conv
=
TRUE
;
/* simple if-conversion at CFG build time */
193
BOOL
WOPT_Enable_Speculation_Defeats_LFTR
=
TRUE
;
194
BOOL
WOPT_Enable_SSA_Minimization
=
TRUE
;
/* SSA minimization in SSAPRE */
195
BOOL
WOPT_Enable_SSA_PRE
=
TRUE
;
196
BOOL
WOPT_Enable_Store_PRE
=
TRUE
;
197
INT32
WOPT_Enable_Store_PRE_Limit
= -1;
198
INT32
WOPT_Enable_Local_Rvi_Limit
= -1;
199
BOOL
WOPT_Enable_Strength_Reduction
=
TRUE
;
200
BOOL
WOPT_Enable_Update_Vsym
=
TRUE
;
201
BOOL
WOPT_Enable_Unique_Pt_Vsym
=
TRUE
;
202
INT32
WOPT_Enable_Value_Numbering
= 1;
/* 0=OFF, 1=after_pre, 2=befr_n_aftr */
203
INT32
WOPT_Enable_Vn_Ivc
= 1;
/* 0=OFF, see be/opt/opt_vn_ivc.h */
204
UINT32
WOPT_Enable_Vnfre_After
= 0;
/* Disable vnfre after given valnum */
205
UINT32
WOPT_Enable_Vnfre_Before
=
UINT32_MAX
;
/* Disable before given valnum */
206
BOOL
WOPT_Enable_Verbose
=
FALSE
;
207
INT32
WOPT_Enable_Verify
= 1;
208
BOOL
WOPT_Enable_Vsym_Unique
=
FALSE
;
209
BOOL
WOPT_Enable_While_Loop
=
TRUE
;
210
BOOL
WOPT_Enable_Worklist_Pruning
=
TRUE
;
211
BOOL
WOPT_Enable_Zero_Version
=
TRUE
;
212
BOOL
WOPT_Enable_Call_Zero_Version
=
TRUE
;
213
BOOL
WOPT_Enable_Dse_Aggressive
=
TRUE
;
214
BOOL
WOPT_Enable_Prop_Aggressive
=
TRUE
;
215
BOOL
WOPT_Enable_Iload_Prop
=
TRUE
;
216
BOOL
WOPT_Enable_VN_Full
=
TRUE
;
/* full value number (for ivars) */
217
BOOL
WOPT_Enable_Simp_Iload
=
TRUE
;
/* simplifier folding iload */
218
BOOL
WOPT_Enable_Canon_Uplevel
=
FALSE
;
/* canonicalize the up level ref */
219
BOOL
WOPT_Enable_Tail_Recur
=
FALSE
;
/* tail recursion */
220
BOOL
WOPT_Enable_Edge_Placement
=
TRUE
;
/* insert BB on critical edge */
221
BOOL
WOPT_Enable_Backedge_Placement
=
FALSE
;
/* insert BB on critical backedge */
222
BOOL
WOPT_Enable_Source_Order
=
FALSE
;
/* Dump CFG in source order */
223
BOOL
WOPT_Enable_Cvt_Folding
=
TRUE
;
/* enable cvt folding in emitter */
224
BOOL
WOPT_Enable_Local_Rvi
=
TRUE
;
/* enable fast rvi of locals */
225
BOOL
WOPT_Enable_Strong_Barrier
=
FALSE
;
226
BOOL
WOPT_Enable_Aggr_Invariant
=
TRUE
;
227
BOOL
WOPT_Enable_Shrink
=
TRUE
;
228
INT32
WOPT_Enable_Extra_Rename_Pass
= 5;
229
BOOL
WOPT_Enable_Extra_Rename_Pass_Set
=
FALSE
;
230
UINT32
WOPT_Enable_Extra_Preopt_Pass
= 0;
231
BOOL
WOPT_Enable_Bool_Simp
=
TRUE
;
232
BOOL
WOPT_Enable_Feedback_LPRE
=
FALSE
;
233
BOOL
WOPT_Enable_Feedback_EPRE
=
FALSE
;
234
BOOL
WOPT_Enable_CFG_Display
=
FALSE
;
235
BOOL
WOPT_Enable_CFG_Merge_Multi_Zone
=
TRUE
;
236
BOOL
WOPT_Enable_CFG_Merge_Multi_Zone_Set
=
FALSE
;
237
BOOL
WOPT_Enable_CFG_Opt
=
TRUE
;
/* control flow optimization main switch */
238
BOOL
WOPT_Enable_CFG_Opt1
=
TRUE
;
239
BOOL
WOPT_Enable_CFG_Opt2
=
TRUE
;
240
INT32
WOPT_Enable_CFG_Opt2_Limit
= 80;
/* Loop butterfly should produce a min of 80% coverage */
241
BOOL
WOPT_Enable_CFG_Opt3
=
FALSE
;
242
BOOL
WOPT_Enable_CFG_Opt4
=
FALSE
;
243
BOOL
WOPT_Enable_CFG_Opt_Limit
= 10;
244
char
*
WOPT_Set_Unique_Pt
=
NULL
;
245
BOOL
WOPT_Enable_Bits_Load_Store
=
TRUE
;
// accept LDBITS, STBITS, etc.
246
BOOL
WOPT_Enable_Epre_Before_Ivr
=
FALSE
;
// For running epre early
247
BOOL
WOPT_Enable_Lpre_Before_Ivr
=
FALSE
;
// For running lpre early
248
BOOL
WOPT_Enable_Spre_Before_Ivr
=
FALSE
;
// For running spre early
249
BOOL
WOPT_Enable_Bdce_Before_Ivr
=
FALSE
;
// For running bdce early
250
BOOL
WOPT_Enable_New_Phase_Ordering
=
TRUE
;
// Enables some phases before ivr
251
252
253
/* ====================================================================
254
*
255
* Descriptor for the -WOPT option group.
256
*
257
* ====================================================================
258
*/
259
260
/* scalar optimizer options:
261
see common/util/flags.h, typedef struct option_desc for documentation */
262
static
OPTION_DESC
Options_WOPT
[] = {
263
{
OVK_UINT32
,
OV_INTERNAL
,
TRUE
,
"ac_limit"
,
""
,
264
UINT32_MAX
, 0,
UINT32_MAX
, &
WOPT_Alias_Class_Limit
,
NULL
},
265
{
OVK_UINT32
,
OV_INTERNAL
,
TRUE
,
"ip_ac_limit"
,
""
,
266
UINT32_MAX
, 0,
UINT32_MAX
, &
WOPT_Ip_Alias_Class_Limit
,
NULL
},
267
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"add_do_loop_info"
,
"add_do"
,
268
0, 0, 0, &
WOPT_Enable_Add_Do_Loop_Info
,
NULL
},
269
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"add_label_loop_info"
,
"add_label"
,
270
0, 0, 0, &
WOPT_Enable_Add_Label_Loop_Info
,
NULL
},
271
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"aggcm"
,
"aggcm"
,
272
0, 0, 0, &
WOPT_Enable_Aggressive_Code_Motion
,
NULL
},
273
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"aggcm_limit"
,
""
,
274
INT32_MAX
, 0,
INT32_MAX
, &
WOPT_Enable_Aggressive_CM_Limit
,
NULL
},
275
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"aggcm_threshold"
,
"aggcm_thres"
,
276
0, 0, 101, &
WOPT_Enable_Aggressive_CM_Threshold
,
NULL
},
277
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"agglftr"
,
"agglftr"
,
278
0, 0, 0, &
WOPT_Enable_Aggressive_Lftr
,
NULL
},
279
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"aggphi_simp"
,
"aggphi"
,
280
0, 0, 0, &
WOPT_Enable_Aggressive_Phi_Simp
,
NULL
},
281
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"aggdo"
,
"aggdo"
,
282
0, 0, 0, &
WOPT_Enable_Aggressive_Doloop_Promotion
,
NULL
},
283
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"agg_ivr"
,
"agg_ivr"
,
284
0, 0, 0, &
WOPT_Enable_Aggressive_IVR
,
NULL
},
285
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"aggstr_reduction"
,
"aggstr"
,
286
0, 0, 0, &
WOPT_Enable_Aggstr_Reduction
,
NULL
},
287
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"alias_classification"
,
"alias_class"
,
288
0, 0, 0, &
WOPT_Enable_Alias_Classification
,
NULL
},
289
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"ac_fortran"
,
""
,
290
0, 0, 0, &
WOPT_Enable_Alias_Class_Fortran_Rule
,
NULL
},
291
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"avoid_rehash"
,
""
,
292
0, 0, 0, &
WOPT_Enable_Avoid_Rehash
,
NULL
},
293
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"bdce"
,
""
,
294
0, 0, 0, &
WOPT_Enable_Bitwise_DCE
,
NULL
},
295
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"cse_fcmp"
,
""
,
296
0, 0, 0, &
WOPT_Enable_CSE_FP_comparison
,
NULL
},
297
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"canon_uplevel"
,
"canon"
,
298
0, 0, 0, &
WOPT_Enable_Canon_Uplevel
,
NULL
},
299
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"call_flag"
,
"call_flag"
,
300
0, 0, 0, &
WOPT_Enable_Call_Flag
,
NULL
},
301
{
OVK_BOOL
,
OV_INTERNAL
,
FALSE
,
"calls_break_bb"
,
""
,
302
0, 0, 0, &
WOPT_Enable_Calls_Break_BB
, &
WOPT_Enable_Calls_Break_BB_Set
},
303
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"canon_expr"
,
"canon_expr"
,
304
0, 0, 0, &
WOPT_Enable_Canon_Expr
,
NULL
},
305
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"cg_alias"
,
"cg_alias"
,
306
0, 0, 0, &
WOPT_Enable_CG_Alias
,
NULL
},
307
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"class2"
,
"class2"
,
308
0, 0, 0, &
WOPT_Enable_Second_Alias_Class
,
NULL
},
309
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"combine_operations"
,
"combine"
,
310
0, 0, 0, &
WOPT_Enable_Combine_Operations
,
NULL
},
311
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"compare_simp"
,
"compare"
,
312
0, 0, 0, &
WOPT_Enable_Compare_Simp
,
NULL
},
313
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"const_pre"
,
"const_pre"
,
314
0, 0, 0, &
WOPT_Enable_Const_PRE
,
NULL
},
315
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"const_pre_limit"
,
"const_pre_limit"
,
316
INT32_MAX
, 0,
INT32_MAX
, &
WOPT_Enable_Const_PRE_Limit
,
NULL
},
317
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"divrem"
,
"divrem"
,
318
0, 0, 0, &
WOPT_Enable_DIVREM
,
NULL
},
319
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"copy_propagate"
,
"copy"
,
320
0, 0, 0, &
WOPT_Enable_Copy_Propagate
,
NULL
},
321
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"copy_ops"
,
"copy_ops"
,
322
0, 0, 0, &
WOPT_Enable_Copy_Prop_Bad_Ops
,
NULL
},
323
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"copy_lno_ops"
,
"copy_lno"
,
324
0, 0, 0, &
WOPT_Enable_Copy_Prop_LNO_Ops
,
NULL
},
325
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"copy_into_array"
,
""
,
326
0, 0, 0, &
WOPT_Enable_Copy_Prop_Ops_Into_Array
,
327
&
WOPT_Enable_Copy_Prop_Ops_Into_Array_Set
},
328
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"lno_copy_propagation"
,
"lno_copy"
,
329
0, 0, 0, &
WOPT_Enable_LNO_Copy_Propagate
,
NULL
},
330
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"cr_simp"
,
"cr"
,
331
0, 0, 0, &
WOPT_Enable_CRSIMP
,
NULL
},
332
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"fastsimp"
,
""
,
333
0, 0, 0, &
WOPT_Enable_Fast_Simp
,
NULL
},
334
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"fold2const"
,
"fold"
,
335
0, 0, 0, &
WOPT_Enable_Fold2const
,
NULL
},
336
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"fold_lda_iload_istore"
,
"fold_lda_iload"
,
337
0, 0, 0, &
WOPT_Enable_Fold_Lda_Iload_Istore
,
NULL
},
338
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"dead_code_elim"
,
"dead"
,
339
0, 0, 0, &
WOPT_Enable_DCE
,
NULL
},
340
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"dce_aggressive"
,
"dce"
,
341
0, 0, 0, &
WOPT_Enable_Aggressive_dce
,
NULL
},
342
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"dce_alias"
,
""
,
343
0, 0, 0, &
WOPT_Enable_DCE_Alias
,
NULL
},
344
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"dce_branch"
,
""
,
345
0, 0, 0, &
WOPT_Enable_DCE_Branch
,
NULL
},
346
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"dce_branch_pred_limit"
,
""
,
347
5, 0,
INT32_MAX
, &
WOPT_Enable_DCE_Branch_Pred_Limit
,
NULL
},
348
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"dce_global"
,
""
,
349
0, 0, 0, &
WOPT_Enable_DCE_Global
,
NULL
},
350
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"dce_label"
,
""
,
351
0, 0, 0, &
WOPT_Enable_DCE_Label
,
NULL
},
352
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"du_full"
,
""
,
353
0, 0, 0, &
WOPT_Enable_DU_Full
,
NULL
},
354
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"du_union"
,
""
,
355
0, 0, 0, &
WOPT_Enable_DU_Union
,
NULL
},
356
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"dead_cr"
,
""
,
357
0, 0, 0, &
WOPT_Enable_Dead_CR_Fix
,
NULL
},
358
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"debug_class"
,
""
,
359
0, 0, 0, &
WOPT_Enable_Debug_Inconsistent_Ip_Class
,
NULL
},
360
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"epre"
,
"epre"
,
361
0, 0, 0, &
WOPT_Enable_Exp_PRE
,
NULL
},
362
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"epre_limit"
,
""
,
363
INT32_MAX
, 0,
INT32_MAX
, &
WOPT_Enable_Exp_PRE_Limit
,
NULL
},
364
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"estr_fb_injury"
,
""
,
365
0, 0, 0, &
WOPT_Enable_Estr_FB_Injury
, &
WOPT_Enable_Estr_FB_Injury_Set
},
366
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"goto_conversion"
,
"goto"
,
367
0, 0, 0, &
WOPT_Enable_Goto
,
NULL
},
368
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"hoisting"
,
"hoist"
,
369
0, 0, 0, &
WOPT_Enable_Hoisting
,
NULL
},
370
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"hoist_ivar"
,
"hoist_ivar"
,
371
0, 0, 0, &
WOPT_Enable_Ivar_Hoisting
,
NULL
},
372
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"i8_iv"
,
"i8_iv"
,
373
0, 0, 0, &
WOPT_Enable_I8_Primary_IV
,
NULL
},
374
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"addr"
,
"addr"
,
375
0, 0, 0, &
WOPT_Enable_Improved_Addr_Taken
,
NULL
},
376
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"icopy_propagate"
,
"icopy"
,
377
0, 0, 0, &
WOPT_Enable_Input_Prop
,
NULL
},
378
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"itself_prop"
,
"itself"
,
379
0, 0, 0, &
WOPT_Enable_Itself_Prop
,
NULL
},
380
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"ipaa"
,
"ipaa"
,
381
0, 0, 0, &
WOPT_Enable_IPAA
,
NULL
},
382
{
OVK_NAME
,
OV_INTERNAL
,
TRUE
,
"ipaa_file"
,
"ipaa_f"
,
383
0, 0, 0, &
Ipa_File_Name
,
NULL
},
384
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"iv_elimination"
,
"iv_elim"
,
385
0, 0, 0, &
WOPT_Enable_IVE
,
NULL
},
386
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"ive_old"
,
"ive_old"
,
387
0, 0, 0, &
WOPT_Enable_IVE_Old
,
NULL
},
388
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"iv_recognition"
,
"iv_recog"
,
389
0, 0, 0, &
WOPT_Enable_IVR
,
NULL
},
390
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"ivr_expand_limit"
,
""
,
391
1000, 0,
INT32_MAX
, &
WOPT_Enable_IVR_Expand_Limit
,
NULL
},
392
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"iv_outer_parallel"
,
""
,
393
0, 0, 0, &
WOPT_Enable_IVR_Outermost_Loop_Parallel_Region
,
NULL
},
394
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"ivar_common"
,
"ivar"
,
395
0, 0, 0, &
WOPT_Enable_Ivar_Common
,
NULL
},
396
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"ivar_pre"
,
"ivar_pre"
,
397
0, 0, 0, &
WOPT_Enable_Ivar_PRE
,
NULL
},
398
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"ivincr_cand"
,
"ivincr"
,
399
0, 0, 0, &
WOPT_Enable_Ivincr_Cand
,
NULL
},
400
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"ldx_ratio_regins"
,
"ldx_ratio"
,
401
0, 0, 4096, &
WOPT_Ldx_Ratio_RegIns
,
NULL
},
402
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"ldx"
,
"ldx"
,
403
0, 0, 0, &
WOPT_Enable_Ldx
,
NULL
},
404
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"lego_opt"
,
"lego"
,
405
0, 0, 0, &
WOPT_Enable_Lego_Opt
,
NULL
},
406
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"lftr"
,
"lftr"
,
407
0, 0, 0, &
WOPT_Enable_LFTR
,
NULL
},
408
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"lftr_ivar"
,
"lftr_ivar"
,
409
0, 0, 0, &
WOPT_Enable_LFTR_Ivar
,
NULL
},
410
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"lftr2"
,
"lftr2"
,
411
0, 0, 0, &
WOPT_Enable_LFTR2
,
NULL
},
412
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"lftr2_limit"
,
"lftr2_limit"
,
413
INT32_MAX
, 0,
INT32_MAX
, &
WOPT_Enable_LFTR2_Limit
,
NULL
},
414
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"lpre"
,
"lpre"
,
415
0, 0, 0, &
WOPT_Enable_Load_PRE
,
NULL
},
416
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"lpre_limit"
,
""
,
417
INT32_MAX
, 0,
INT32_MAX
, &
WOPT_Enable_Load_PRE_Limit
,
NULL
},
418
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"loop_invarexp"
,
"loop_invar"
,
419
0, 0, 0, &
WOPT_Enable_Loopinvarexp_Str_Reduction
,
NULL
},
420
{
OVK_BOOL
,
OV_INTERNAL
,
FALSE
,
"lower_short_circuit"
,
""
,
421
0, 0, 0, &
WOPT_Enable_Lower_Short_Circuit
, &
WOPT_Enable_Lower_Short_Circuit_Set
},
422
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"minmax"
,
"minmax"
,
423
0, 0, 0, &
WOPT_Enable_MINMAX
,
NULL
},
424
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"min_type"
,
"min_type"
,
425
0, 0, 0, &
WOPT_Enable_Min_Type
,
NULL
},
426
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"intrinsic"
,
"intrinsic"
,
427
0, 0, 0, &
WOPT_Enable_Move_Intrinsicop
,
NULL
},
428
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"mp_varref"
,
"mp_varref"
,
429
0, 0, 0, &
WOPT_Enable_MP_varref
,
NULL
},
430
#ifdef CHANGE_MIND_AGAIN
431
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"mp_const_prop"
,
"mp_const_prop"
,
432
0, 0, 0, &
WOPT_Enable_MP_Const_Prop
,
NULL
},
433
#endif
434
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"spec_nix_lftr"
,
""
,
435
0, 0, 0, &
WOPT_Enable_Speculation_Defeats_LFTR
,
NULL
},
436
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"ssapre"
,
"ssapre"
,
437
0, 0, 0, &
WOPT_Enable_SSA_PRE
,
NULL
},
438
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"new_sr"
,
""
,
439
0, 0, 0, &
WOPT_Enable_New_SR
,
NULL
},
440
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"new_sr_limit"
,
"new_sr_limit"
,
441
INT32_MAX
, 0,
INT32_MAX
, &
WOPT_Enable_New_SR_Limit
,
NULL
},
442
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"ocopy"
,
"ocopy"
,
443
0, 0, 0, &
WOPT_Enable_Output_Copy
,
NULL
},
444
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"ocopy_lookup_stmtcnt"
,
"ocopy_lookup"
,
445
0, 0, 4096, &
WOPT_Enable_Ocopy_Lookupstmt
,
NULL
},
446
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"parm"
,
"parm"
,
447
0, 0, 0, &
WOPT_Enable_Parm
,
NULL
},
448
{
OVK_NAME
,
OV_INTERNAL
,
TRUE
,
"process"
,
"process"
,
449
0, 0, 0, &
WOPT_Enable_Process
,
NULL
},
450
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"phi_simp"
,
"phi"
,
451
0, 0, 0, &
WOPT_Enable_Phi_Simp
,
NULL
},
452
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"prop_ivar"
,
""
,
453
0, 0, 0, &
WOPT_Enable_Prop_Ivar
,
NULL
},
454
{
OVK_BOOL
,
OV_INTERNAL
,
FALSE
,
"prop_cse"
,
""
,
455
0, 0, 0, &
WOPT_Enable_Prop_CSE
,
NULL
},
456
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"prop_limit"
,
""
,
457
14, 0,
INT32_MAX
, &
WOPT_Enable_Prop_Limit
,
NULL
},
/* PV 468862 */
458
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"prune"
,
""
,
459
0, 0, 0, &
WOPT_Enable_Prune
,
NULL
},
460
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"replace_second_iv"
,
""
,
461
0, 0, 0, &
WOPT_Enable_Replace_Second_IV
,
NULL
},
462
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"replace_while_loop_second_iv"
,
""
,
463
0, 0, 0, &
WOPT_Enable_Replace_While_Loop_Second_IV
,
NULL
},
464
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"restricted_map"
,
""
,
465
0, 0, 0, &
WOPT_Enable_Restricted_Map
,
NULL
},
466
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"rsv_bits"
,
"rsv"
,
467
0, 0, 4096, &
WOPT_Enable_Rsv_Bits
,
NULL
},
468
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"rvi_enable"
,
"rvi"
,
469
0, 0, 0, &
WOPT_Enable_RVI
,
NULL
},
470
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"rvi1"
,
""
,
471
0, 0, 0, &
WOPT_Enable_RVI1
,
NULL
},
472
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"rvi2"
,
""
,
473
0, 0, 0, &
WOPT_Enable_RVI2
,
NULL
},
474
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"rviistore"
,
""
,
475
0, 0, 0, &
WOPT_Enable_Rviistore
,
NULL
},
476
{
OVK_NAME
,
OV_INTERNAL
,
TRUE
,
"rviskip"
,
""
,
477
0, 0, 0, &
WOPT_Enable_Rviskip
,
NULL
},
478
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"rvisplit"
,
""
,
479
0, 0, 0, &
WOPT_Enable_Rvisplit
,
NULL
},
480
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"rvivsym"
,
""
,
481
0, 0, 0, &
WOPT_Enable_Rvivsym
,
NULL
},
482
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"second_order"
,
"second"
,
483
0, 0, 0, &
WOPT_Enable_Second_Order
,
NULL
},
484
{
OVK_NAME
,
OV_INTERNAL
,
TRUE
,
"skip"
,
"skip"
,
485
0, 0, 0, &
WOPT_Enable_Skip
,
NULL
},
486
{
OVK_LIST
,
OV_INTERNAL
,
TRUE
,
"skip_after"
,
"skip_a"
,
487
0, 0, 0, &
WOPT_Skip
,
NULL
},
488
{
OVK_LIST
,
OV_INTERNAL
,
TRUE
,
"skip_before"
,
"skip_b"
,
489
0, 0, 0, &
WOPT_Skip
,
NULL
},
490
{
OVK_LIST
,
OV_INTERNAL
,
TRUE
,
"skip_equal"
,
"skip_e"
,
491
0, 0, 0, &
WOPT_Skip
,
NULL
},
492
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"ssa_minimization"
,
"ssa_min"
,
493
0, 0, 0, &
WOPT_Enable_SSA_Minimization
,
NULL
},
494
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"spre"
,
"spre"
,
495
0, 0, 0, &
WOPT_Enable_Store_PRE
,
NULL
},
496
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"spre_limit"
,
""
,
497
INT32_MAX
, 0,
INT32_MAX
, &
WOPT_Enable_Store_PRE_Limit
,
NULL
},
498
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"strength_reduction"
,
"str"
,
499
0, 0, 0, &
WOPT_Enable_Strength_Reduction
,
NULL
},
500
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"slt"
,
"slt"
,
501
0, 0, 0, &
WOPT_Enable_SLT
,
NULL
},
502
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"small_br_target"
,
"small_br"
,
503
0, 0, 0, &
WOPT_Enable_Small_Br_Target
,
NULL
},
504
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"trip_count"
,
"trip"
,
505
2, 0, 2, &
WOPT_Enable_Generate_Trip_Count
,
NULL
},
506
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"update_vsym"
,
"update_vsym"
,
507
0, 0, 0, &
WOPT_Enable_Update_Vsym
,
NULL
},
508
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"unique_pt_vsym"
,
""
,
509
0, 0, 0, &
WOPT_Enable_Unique_Pt_Vsym
,
NULL
},
510
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"value_numbering"
,
"val"
,
511
1, 0, 4, &
WOPT_Enable_Value_Numbering
,
NULL
},
512
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"verbose"
,
"v"
,
513
0, 0, 0, &
WOPT_Enable_Verbose
,
NULL
},
514
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"verify"
,
"verify"
,
515
1, 0, 4, &
WOPT_Enable_Verify
,
NULL
},
516
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"while_loop"
,
"while"
,
517
0, 0, 0, &
WOPT_Enable_While_Loop
,
NULL
},
518
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"worklist_prune"
,
"worklist_prune"
,
519
0, 0, 0, &
WOPT_Enable_Worklist_Pruning
,
NULL
},
520
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"zero_version"
,
"zero"
,
521
0, 0, 0, &
WOPT_Enable_Zero_Version
,
NULL
},
522
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"call_zero_version"
,
"call_zero"
,
523
0, 0, 0, &
WOPT_Enable_Call_Zero_Version
,
NULL
},
524
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"vsym_unique"
,
"vsym"
,
525
0, 0, 0, &
WOPT_Enable_Vsym_Unique
,
NULL
},
526
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"dse_aggressive"
,
"dse"
,
527
0, 0, 0, &
WOPT_Enable_Dse_Aggressive
,
NULL
},
528
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"prop_aggressive"
,
"prop"
,
529
0, 0, 0, &
WOPT_Enable_Prop_Aggressive
,
NULL
},
530
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"iload_prop"
,
"iload"
,
531
0, 0, 0, &
WOPT_Enable_Iload_Prop
,
NULL
},
532
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"vn_full"
,
"vn"
,
533
0, 0, 0, &
WOPT_Enable_VN_Full
,
NULL
},
534
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"simp_iload"
,
""
,
535
0, 0, 0, &
WOPT_Enable_Simp_Iload
,
NULL
},
536
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"if_conv"
,
""
,
537
0, 0, 0, &
WOPT_Enable_Simple_If_Conv
,
NULL
},
538
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"tail_recursion"
,
"tail"
,
539
0, 0, 0, &
WOPT_Enable_Tail_Recur
,
NULL
},
540
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"edge_placement"
,
"edge"
,
541
0, 0, 0, &
WOPT_Enable_Edge_Placement
,
NULL
},
542
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"backedge_placement"
,
"backedge_p"
,
543
0, 0, 0, &
WOPT_Enable_Backedge_Placement
,
NULL
},
544
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"src_order"
,
""
,
545
0, 0, 0, &
WOPT_Enable_Source_Order
,
NULL
},
546
{
OVK_NAME
,
OV_INTERNAL
,
TRUE
,
"set_unique_pt"
,
""
,
547
0, 0, 0, &
WOPT_Set_Unique_Pt
,
NULL
},
548
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"fold_cvt"
,
""
,
549
0, 0, 0, &
WOPT_Enable_Cvt_Folding
,
NULL
},
550
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"local_rvi"
,
""
,
551
0, 0, 0, &
WOPT_Enable_Local_Rvi
,
NULL
},
552
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"strong_barrier"
,
""
,
553
0, 0, 0, &
WOPT_Enable_Strong_Barrier
,
NULL
},
554
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"aggr_invariant"
,
""
,
555
0, 0, 0, &
WOPT_Enable_Aggr_Invariant
,
NULL
},
556
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"lrvi_limit"
,
""
,
557
INT32_MAX
, 0,
INT32_MAX
, &
WOPT_Enable_Local_Rvi_Limit
,
NULL
},
558
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"shrink"
,
""
,
559
0, 0, 0, &
WOPT_Enable_Shrink
,
NULL
},
560
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"extra_rename"
,
""
,
561
INT32_MAX
, 0,
INT32_MAX
, &
WOPT_Enable_Extra_Rename_Pass
, &
WOPT_Enable_Extra_Rename_Pass_Set
},
562
{
OVK_UINT32
,
OV_INTERNAL
,
TRUE
,
"extra_preopt"
,
"extra_p"
,
563
0, 0,
UINT32_MAX
, &
WOPT_Enable_Extra_Preopt_Pass
,
NULL
},
564
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"bool_simp"
,
""
,
565
0, 0, 0, &
WOPT_Enable_Bool_Simp
,
NULL
},
566
{
OVK_BOOL
,
OV_INTERNAL
,
FALSE
,
"fb_lpre"
,
""
,
567
0, 0, 0, &
WOPT_Enable_Feedback_LPRE
,
NULL
},
568
{
OVK_BOOL
,
OV_INTERNAL
,
FALSE
,
"fb_epre"
,
""
,
569
0, 0, 0, &
WOPT_Enable_Feedback_EPRE
,
NULL
},
570
{
OVK_BOOL
,
OV_INTERNAL
,
FALSE
,
"cfo_display"
,
""
,
571
0, 0, 0, &
WOPT_Enable_CFG_Display
,
NULL
},
572
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"merge_multi_zone"
,
""
,
573
0, 0, 0, &
WOPT_Enable_CFG_Merge_Multi_Zone
, &
WOPT_Enable_CFG_Merge_Multi_Zone_Set
},
574
{
OVK_BOOL
,
OV_INTERNAL
,
FALSE
,
"cfo_main"
,
""
,
575
0, 0, 0, &
WOPT_Enable_CFG_Opt
,
NULL
},
576
{
OVK_BOOL
,
OV_INTERNAL
,
FALSE
,
"cfo1"
,
""
,
577
0, 0, 0, &
WOPT_Enable_CFG_Opt1
,
NULL
},
578
{
OVK_BOOL
,
OV_INTERNAL
,
FALSE
,
"cfo2"
,
""
,
579
0, 0, 0, &
WOPT_Enable_CFG_Opt2
,
NULL
},
580
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"min_cfo2_coverage"
,
""
,
581
INT32_MAX
, 0,
INT32_MAX
, &
WOPT_Enable_CFG_Opt2_Limit
,
NULL
},
582
{
OVK_BOOL
,
OV_INTERNAL
,
FALSE
,
"cfo3"
,
""
,
583
0, 0, 0, &
WOPT_Enable_CFG_Opt3
,
NULL
},
584
{
OVK_BOOL
,
OV_INTERNAL
,
FALSE
,
"cfo4"
,
""
,
585
0, 0, 0, &
WOPT_Enable_CFG_Opt4
,
NULL
},
586
{
OVK_INT32
,
OV_INTERNAL
,
FALSE
,
"cfo_limit"
,
""
,
587
INT32_MAX
, 0,
INT32_MAX
, &
WOPT_Enable_CFG_Opt_Limit
,
NULL
},
588
{
OVK_INT32
,
OV_INTERNAL
,
TRUE
,
"vn_ivc"
,
""
,
589
1, 0, 8, &
WOPT_Enable_Vn_Ivc
,
NULL
},
590
{
OVK_UINT32
,
OV_INTERNAL
,
TRUE
,
"vnfre_after"
,
"vnfre_a"
,
591
0, 0,
UINT32_MAX
, &
WOPT_Enable_Vnfre_After
,
NULL
},
592
{
OVK_UINT32
,
OV_INTERNAL
,
TRUE
,
"vnfre_before"
,
"vnfre_b"
,
593
UINT32_MAX
, 0,
UINT32_MAX
, &
WOPT_Enable_Vnfre_Before
,
NULL
},
594
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"bit_field"
,
""
,
595
0, 0, 0, &
WOPT_Enable_Bits_Load_Store
,
NULL
},
596
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"epre4ivr"
,
"epre4ivr"
,
597
0, 0, 0, &
WOPT_Enable_Epre_Before_Ivr
,
NULL
},
598
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"lpre4ivr"
,
"lpre4ivr"
,
599
0, 0, 0, &
WOPT_Enable_Lpre_Before_Ivr
,
NULL
},
600
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"spre4ivr"
,
"spre4ivr"
,
601
0, 0, 0, &
WOPT_Enable_Spre_Before_Ivr
,
NULL
},
602
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"bdce4ivr"
,
"bdce4ivr"
,
603
0, 0, 0, &
WOPT_Enable_Bdce_Before_Ivr
,
NULL
},
604
{
OVK_BOOL
,
OV_INTERNAL
,
TRUE
,
"new_phase_order"
,
"new_phase_order"
,
605
TRUE
, 0, 0, &
WOPT_Enable_New_Phase_Ordering
,
NULL
},
606
{
OVK_COUNT
}
/* List terminator -- must be last */
607
};
Open64
osprey1.0
common
com
config_wopt.cxx
Generated on Fri Mar 14 2014 04:22:58 for OpenADFortTk (including Open64 and OpenAnalysis references) by
1.8.4