Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
config_wopt.cxx
Go to the documentation of this file.
00001 /*
00002 
00003   Copyright (C) 2000, 2001 Silicon Graphics, Inc.  All Rights Reserved.
00004 
00005   This program is free software; you can redistribute it and/or modify it
00006   under the terms of version 2 of the GNU General Public License as
00007   published by the Free Software Foundation.
00008 
00009   This program is distributed in the hope that it would be useful, but
00010   WITHOUT ANY WARRANTY; without even the implied warranty of
00011   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
00012 
00013   Further, this software is distributed without any warranty that it is
00014   free of the rightful claim of any third person regarding infringement 
00015   or the like.  Any license provided herein, whether implied or 
00016   otherwise, applies only to this software file.  Patent licenses, if 
00017   any, provided herein do not apply to combinations of this program with 
00018   other software, or any other product whatsoever.  
00019 
00020   You should have received a copy of the GNU General Public License along
00021   with this program; if not, write the Free Software Foundation, Inc., 59
00022   Temple Place - Suite 330, Boston MA 02111-1307, USA.
00023 
00024   Contact information:  Silicon Graphics, Inc., 1600 Amphitheatre Pky,
00025   Mountain View, CA 94043, or:
00026 
00027   http://www.sgi.com
00028 
00029   For further information regarding this notice, see:
00030 
00031   http://oss.sgi.com/projects/GenInfo/NoticeExplan
00032 
00033 */
00034 
00035 
00036 /* ====================================================================
00037  * ====================================================================
00038  *
00039  *
00040  * Revision history:
00041  *  08-Sep-94 - Original Version (wodriver.c)
00042  *  05-May-96 - config_wopt.c extracted from wodriver.c
00043  *
00044  * Description:
00045  *
00046  * Configure the -WOPT group (included in config.c).
00047  * Used from ipl, inline, ipa (ld), and be.
00048  *
00049  * ====================================================================
00050  * ====================================================================
00051  */
00052 
00053 // This file is included in config.cxx, so it doesn't need its own set of
00054 // standard includes -- only the following:
00055 #include "config_wopt.h"
00056 
00057 
00058 /* ====================================================================
00059  *
00060  * Global flag variables which reflect the -WOPT group options.
00061  *
00062  * ====================================================================
00063  */
00064 
00065 /* List of global variables to turn on and off various optimizations */
00066 UINT32 WOPT_Ip_Alias_Class_Limit = UINT32_MAX;  // no limit
00067 UINT32 WOPT_Alias_Class_Limit = UINT32_MAX;     // no limit
00068 BOOL  WOPT_Ldx_Ratio_RegIns = 1;
00069 BOOL  WOPT_Enable_Add_Do_Loop_Info = TRUE;
00070 BOOL  WOPT_Enable_Add_Label_Loop_Info = TRUE;
00071 BOOL  WOPT_Enable_Aggressive_Code_Motion = TRUE;
00072 INT32 WOPT_Enable_Aggressive_CM_Limit = INT32_MAX;
00073 INT32 WOPT_Enable_Aggressive_CM_Threshold = 70;
00074 BOOL  WOPT_Enable_Aggressive_dce = TRUE;
00075 BOOL  WOPT_Enable_Aggressive_Doloop_Promotion = FALSE;
00076 BOOL  WOPT_Enable_Aggressive_IVR = TRUE;
00077 BOOL  WOPT_Enable_Aggressive_Lftr = TRUE;
00078 BOOL  WOPT_Enable_Aggressive_Phi_Simp = TRUE;
00079 BOOL  WOPT_Enable_Aggstr_Reduction = TRUE;
00080 BOOL  WOPT_Enable_Alias_ANSI = TRUE;
00081 BOOL  WOPT_Enable_Alias_Classification = TRUE;
00082 BOOL  WOPT_Enable_Alias_Class_Fortran_Rule = TRUE;
00083 BOOL  WOPT_Enable_Alias_Qualifer = TRUE;
00084 BOOL  WOPT_Enable_Alias_Ragnarok_Unnamed = TRUE;
00085 BOOL  WOPT_Enable_Avoid_Rehash = FALSE; /* SSAPRE to minimize rehashing */
00086 BOOL  WOPT_Enable_Bitwise_DCE = TRUE;
00087 BOOL  WOPT_Enable_CSE_FP_comparison = TRUE;
00088 BOOL  WOPT_Enable_Call_Flag = TRUE;
00089 BOOL  WOPT_Enable_Calls_Break_BB = FALSE;
00090 BOOL  WOPT_Enable_Calls_Break_BB_Set = FALSE;
00091 BOOL  WOPT_Enable_Canon_Expr = TRUE;
00092 BOOL  WOPT_Enable_Combine_Operations = TRUE;
00093 BOOL  WOPT_Enable_Compare_Simp = TRUE;  /* simplify comparisons */
00094 BOOL  WOPT_Enable_Const_PRE = TRUE;
00095 INT32 WOPT_Enable_Const_PRE_Limit = 0;
00096 BOOL  WOPT_Enable_Copy_Propagate = TRUE;
00097 BOOL  WOPT_Enable_Copy_Prop_Bad_Ops = FALSE;  /* copy prop ops that strength-reduction can't handle */
00098 static BOOL WOPT_Enable_Copy_Prop_Bad_Ops_Set = FALSE;
00099 BOOL  WOPT_Enable_Copy_Prop_LNO_Ops = FALSE;  /* copy prop ops that LNO can't handle */
00100 /* copy prop certain ops into ARRAY subscripts (enabled for mainopt) */
00101 BOOL  WOPT_Enable_Copy_Prop_Ops_Into_Array = FALSE;
00102 BOOL  WOPT_Enable_Copy_Prop_Ops_Into_Array_Set = FALSE;
00103 BOOL  WOPT_Enable_CG_Alias = TRUE;
00104 BOOL  WOPT_Enable_DIVREM = TRUE; /* allow divrem opcode */
00105 BOOL  WOPT_Enable_CRSIMP = TRUE;
00106 BOOL  WOPT_Enable_DCE = TRUE;
00107 BOOL  WOPT_Enable_DCE_Alias = FALSE;
00108 BOOL  WOPT_Enable_DCE_Branch = TRUE;
00109 INT32 WOPT_Enable_DCE_Branch_Pred_Limit = 5;
00110 BOOL  WOPT_Enable_DCE_Global = TRUE;
00111 BOOL  WOPT_Enable_DCE_Label = TRUE;
00112 BOOL  WOPT_Enable_DU_Full = FALSE;
00113 BOOL  WOPT_Enable_DU_Union = TRUE;
00114 BOOL  WOPT_Enable_Dead_CR_Fix = TRUE;
00115 BOOL  WOPT_Enable_Debug_Inconsistent_Ip_Class = FALSE;
00116 BOOL  WOPT_Enable_Estr_FB_Injury = FALSE;
00117 static BOOL  WOPT_Enable_Estr_FB_Injury_Set = FALSE;
00118 BOOL  WOPT_Enable_Exp_PRE = TRUE;
00119 INT32 WOPT_Enable_Exp_PRE_Limit = -1;
00120 BOOL  WOPT_Enable_Fast_Simp = TRUE;
00121 BOOL  WOPT_Enable_Fold2const = TRUE;
00122 BOOL  WOPT_Enable_Fold_Lda_Iload_Istore = FALSE;
00123 BOOL  WOPT_Enable_LNO_Copy_Propagate = TRUE;
00124 BOOL  WOPT_Enable_FSA = TRUE;
00125 INT32 WOPT_Enable_Generate_Trip_Count = 1;
00126 BOOL  WOPT_Enable_Generate_DU = TRUE;
00127 BOOL  WOPT_Enable_Goto = TRUE;
00128 BOOL  WOPT_Enable_Hoisting = TRUE;
00129 BOOL  WOPT_Enable_Ivar_Hoisting = TRUE;
00130 BOOL  WOPT_Enable_I8_Primary_IV = FALSE;
00131 BOOL  WOPT_Enable_Improved_Addr_Taken = TRUE;
00132 BOOL  WOPT_Enable_Input_Prop = TRUE;
00133 BOOL  WOPT_Enable_Itself_Prop = TRUE;
00134 BOOL  WOPT_Enable_IPAA = FALSE;
00135 BOOL  WOPT_Enable_Ivar_Common = TRUE;
00136 BOOL  WOPT_Enable_Ivar_PRE = TRUE;
00137 BOOL  WOPT_Enable_Ivincr_Cand = FALSE;
00138 BOOL  WOPT_Enable_IVE = TRUE;
00139 BOOL  WOPT_Enable_IVE_Old = FALSE;
00140 BOOL  WOPT_Enable_IVR = TRUE;
00141 INT32 WOPT_Enable_IVR_Expand_Limit = 1000;  /* expand 1000 statements */
00142 BOOL  WOPT_Enable_IVR_Outermost_Loop_Parallel_Region = FALSE;
00143 BOOL  WOPT_Enable_Ldx = FALSE;
00144 BOOL  WOPT_Enable_Lego_Opt = FALSE;
00145 BOOL  WOPT_Enable_LFTR = TRUE;
00146 BOOL  WOPT_Enable_LFTR_Ivar = FALSE;
00147 #ifdef TARG_MIPS
00148 BOOL  WOPT_Enable_LFTR2 = TRUE;
00149 #else
00150 BOOL  WOPT_Enable_LFTR2 = FALSE;
00151 #endif
00152 INT32 WOPT_Enable_LFTR2_Limit = -1;
00153 BOOL  WOPT_Enable_Load_PRE = TRUE;
00154 INT32 WOPT_Enable_Load_PRE_Limit = -1;
00155 BOOL  WOPT_Enable_Loopinvarexp_Str_Reduction = TRUE;
00156 BOOL  WOPT_Enable_Lower_Short_Circuit = FALSE;
00157 BOOL  WOPT_Enable_Lower_Short_Circuit_Set = FALSE;
00158 BOOL  WOPT_Enable_MINMAX = TRUE; /* allow minmax opcode */
00159 BOOL  WOPT_Enable_Min_Type = TRUE; 
00160 BOOL  WOPT_Enable_Move_Intrinsicop = TRUE;
00161 BOOL  WOPT_Enable_MP_varref = TRUE;
00162 const BOOL  WOPT_Enable_MP_Const_Prop = TRUE;
00163 BOOL  WOPT_Enable_New_SR = TRUE;
00164 BOOL  WOPT_Enable_New_SR_Limit = 0;
00165 BOOL  WOPT_Enable_Output_Copy = TRUE;
00166 BOOL  WOPT_Enable_Ocopy_Lookupstmt = 2;
00167 BOOL  WOPT_Enable_Parm = TRUE;
00168 char *WOPT_Enable_Process = NULL;
00169 BOOL  WOPT_Enable_Phi_Simp = TRUE;
00170 BOOL  WOPT_Enable_Prop_Ivar = TRUE;
00171 BOOL  WOPT_Enable_Prop_CSE = FALSE;     /* propagate CSE expressions */
00172 INT32 WOPT_Enable_Prop_Limit = 14;      /* this is a guess, PV 468862 */
00173 BOOL  WOPT_Enable_Prune = TRUE;         /* temporary, PV 370066 */
00174 BOOL  WOPT_Enable_Replace_Second_IV = TRUE;
00175 BOOL  WOPT_Enable_Replace_While_Loop_Second_IV = TRUE;
00176 BOOL  WOPT_Enable_Restricted_Map = TRUE;
00177 INT32 WOPT_Enable_Rsv_Bits = 16;        /* reserve bit count in itable */
00178 BOOL  WOPT_Enable_RVI = TRUE;           /* perform both rvi1 and rvi2 */
00179 BOOL  WOPT_Enable_RVI1 = TRUE;          /* phase 1 of rvi */
00180 BOOL  WOPT_Enable_RVI2 = TRUE;          /* phase 2 of rvi */
00181 BOOL  WOPT_Enable_Rviistore = TRUE;     /* agg. chi-handling on istore*/
00182 char *WOPT_Enable_Rviskip = NULL;       /* skip this var during RVI */
00183 BOOL  WOPT_Enable_Rvisplit = FALSE;     /* split bbs at every stmt   */
00184 BOOL  WOPT_Enable_Rvivsym = TRUE;       /* ignore vsym in chi lists */
00185 BOOL  WOPT_Enable_Second_Alias_Class = TRUE;
00186 BOOL  WOPT_Enable_Second_Order = TRUE;
00187 char *WOPT_Enable_Skip = NULL;          /* Name of function to skip */
00188 OPTION_LIST *WOPT_Skip = NULL;          /* Skip option list */
00189 SKIPLIST *WOPT_Skip_List = NULL;        /* Processed skiplist */
00190 BOOL  WOPT_Enable_SLT = TRUE;
00191 BOOL  WOPT_Enable_Small_Br_Target = FALSE; /* propagation into branch BBs */
00192 BOOL  WOPT_Enable_Simple_If_Conv = TRUE;   /* simple if-conversion at CFG build time */
00193 BOOL  WOPT_Enable_Speculation_Defeats_LFTR = TRUE;
00194 BOOL  WOPT_Enable_SSA_Minimization = TRUE; /* SSA minimization in SSAPRE */
00195 BOOL  WOPT_Enable_SSA_PRE = TRUE;
00196 BOOL  WOPT_Enable_Store_PRE = TRUE;
00197 INT32 WOPT_Enable_Store_PRE_Limit = -1;
00198 INT32 WOPT_Enable_Local_Rvi_Limit = -1;
00199 BOOL  WOPT_Enable_Strength_Reduction = TRUE;
00200 BOOL  WOPT_Enable_Update_Vsym = TRUE;
00201 BOOL  WOPT_Enable_Unique_Pt_Vsym = TRUE;
00202 INT32 WOPT_Enable_Value_Numbering = 1; /* 0=OFF, 1=after_pre, 2=befr_n_aftr */
00203 INT32 WOPT_Enable_Vn_Ivc = 1;    /* 0=OFF, see be/opt/opt_vn_ivc.h */
00204 UINT32 WOPT_Enable_Vnfre_After = 0;    /* Disable vnfre after given valnum */
00205 UINT32 WOPT_Enable_Vnfre_Before = UINT32_MAX; /* Disable before given valnum */
00206 BOOL  WOPT_Enable_Verbose = FALSE;
00207 INT32 WOPT_Enable_Verify = 1;
00208 BOOL  WOPT_Enable_Vsym_Unique = FALSE;
00209 BOOL  WOPT_Enable_While_Loop = TRUE;
00210 BOOL  WOPT_Enable_Worklist_Pruning = TRUE;
00211 BOOL  WOPT_Enable_Zero_Version = TRUE;
00212 BOOL  WOPT_Enable_Call_Zero_Version = TRUE;
00213 BOOL  WOPT_Enable_Dse_Aggressive = TRUE;
00214 BOOL  WOPT_Enable_Prop_Aggressive = TRUE;
00215 BOOL  WOPT_Enable_Iload_Prop = TRUE;
00216 BOOL  WOPT_Enable_VN_Full = TRUE;       /* full value number (for ivars) */
00217 BOOL  WOPT_Enable_Simp_Iload = TRUE;   /* simplifier folding iload */
00218 BOOL  WOPT_Enable_Canon_Uplevel=FALSE; /* canonicalize the up level ref */
00219 BOOL  WOPT_Enable_Tail_Recur = FALSE;   /* tail recursion */
00220 BOOL  WOPT_Enable_Edge_Placement = TRUE;/* insert BB on critical edge */
00221 BOOL  WOPT_Enable_Backedge_Placement = FALSE; /* insert BB on critical backedge */
00222 BOOL  WOPT_Enable_Source_Order = FALSE;     /* Dump CFG in source order */
00223 BOOL  WOPT_Enable_Cvt_Folding = TRUE; /* enable cvt folding in emitter */
00224 BOOL  WOPT_Enable_Local_Rvi = TRUE;  /* enable fast rvi of locals */
00225 BOOL  WOPT_Enable_Strong_Barrier = FALSE;
00226 BOOL  WOPT_Enable_Aggr_Invariant = TRUE;
00227 BOOL  WOPT_Enable_Shrink = TRUE;
00228 INT32 WOPT_Enable_Extra_Rename_Pass = 5;
00229 BOOL  WOPT_Enable_Extra_Rename_Pass_Set = FALSE;
00230 UINT32 WOPT_Enable_Extra_Preopt_Pass = 0;
00231 BOOL  WOPT_Enable_Bool_Simp = TRUE;
00232 BOOL  WOPT_Enable_Feedback_LPRE = FALSE;
00233 BOOL  WOPT_Enable_Feedback_EPRE = FALSE;
00234 BOOL  WOPT_Enable_CFG_Display = FALSE;     
00235 BOOL  WOPT_Enable_CFG_Merge_Multi_Zone = TRUE;
00236 BOOL  WOPT_Enable_CFG_Merge_Multi_Zone_Set = FALSE;
00237 BOOL  WOPT_Enable_CFG_Opt = TRUE;         /* control flow optimization main switch */
00238 BOOL  WOPT_Enable_CFG_Opt1 = TRUE;
00239 BOOL  WOPT_Enable_CFG_Opt2 = TRUE;
00240 INT32 WOPT_Enable_CFG_Opt2_Limit = 80;    /* Loop butterfly should produce a min of 80% coverage */
00241 BOOL  WOPT_Enable_CFG_Opt3 = FALSE;
00242 BOOL  WOPT_Enable_CFG_Opt4 = FALSE;
00243 BOOL  WOPT_Enable_CFG_Opt_Limit = 10;
00244 char *WOPT_Set_Unique_Pt = NULL;
00245 BOOL  WOPT_Enable_Bits_Load_Store = TRUE; // accept LDBITS, STBITS, etc.
00246 BOOL  WOPT_Enable_Epre_Before_Ivr = FALSE; // For running epre early
00247 BOOL  WOPT_Enable_Lpre_Before_Ivr = FALSE; // For running lpre early
00248 BOOL  WOPT_Enable_Spre_Before_Ivr = FALSE; // For running spre early
00249 BOOL  WOPT_Enable_Bdce_Before_Ivr = FALSE; // For running bdce early
00250 BOOL  WOPT_Enable_New_Phase_Ordering = TRUE; // Enables some phases before ivr
00251 
00252 
00253 /* ====================================================================
00254  *
00255  * Descriptor for the -WOPT option group.
00256  *
00257  * ====================================================================
00258  */
00259 
00260 /* scalar optimizer options: 
00261    see common/util/flags.h, typedef struct option_desc for documentation */
00262 static OPTION_DESC Options_WOPT[] = {
00263   { OVK_UINT32, OV_INTERNAL,    TRUE, "ac_limit",               "",
00264     UINT32_MAX, 0, UINT32_MAX, &WOPT_Alias_Class_Limit, NULL },
00265   { OVK_UINT32, OV_INTERNAL,    TRUE, "ip_ac_limit",            "",
00266     UINT32_MAX, 0, UINT32_MAX, &WOPT_Ip_Alias_Class_Limit, NULL },
00267   { OVK_BOOL,   OV_INTERNAL,    TRUE, "add_do_loop_info",       "add_do",
00268     0, 0, 0,    &WOPT_Enable_Add_Do_Loop_Info, NULL },
00269   { OVK_BOOL,   OV_INTERNAL,    TRUE, "add_label_loop_info",    "add_label",
00270     0, 0, 0,    &WOPT_Enable_Add_Label_Loop_Info, NULL },
00271   { OVK_BOOL,   OV_INTERNAL,    TRUE, "aggcm",          "aggcm",
00272     0, 0, 0,    &WOPT_Enable_Aggressive_Code_Motion, NULL },
00273   { OVK_INT32,  OV_INTERNAL,    TRUE, "aggcm_limit",            "",
00274     INT32_MAX, 0, INT32_MAX,    &WOPT_Enable_Aggressive_CM_Limit, NULL },
00275   { OVK_INT32,  OV_INTERNAL,    TRUE, "aggcm_threshold",        "aggcm_thres",
00276     0, 0, 101,  &WOPT_Enable_Aggressive_CM_Threshold, NULL },
00277   { OVK_BOOL,   OV_INTERNAL,    TRUE, "agglftr",                "agglftr",
00278     0, 0, 0,    &WOPT_Enable_Aggressive_Lftr, NULL },
00279   { OVK_BOOL,   OV_INTERNAL,    TRUE, "aggphi_simp",            "aggphi",
00280     0, 0, 0,    &WOPT_Enable_Aggressive_Phi_Simp, NULL },
00281   { OVK_BOOL,   OV_INTERNAL,    TRUE, "aggdo",          "aggdo",
00282     0, 0, 0,    &WOPT_Enable_Aggressive_Doloop_Promotion, NULL },
00283   { OVK_BOOL,   OV_INTERNAL,    TRUE, "agg_ivr",        "agg_ivr",
00284     0, 0, 0,    &WOPT_Enable_Aggressive_IVR, NULL },
00285   { OVK_BOOL,   OV_INTERNAL,    TRUE, "aggstr_reduction",       "aggstr",
00286     0, 0, 0,    &WOPT_Enable_Aggstr_Reduction, NULL },
00287   { OVK_BOOL,   OV_INTERNAL,    TRUE, "alias_classification", "alias_class",
00288     0, 0, 0,    &WOPT_Enable_Alias_Classification, NULL },
00289   { OVK_BOOL,   OV_INTERNAL,    TRUE, "ac_fortran", "",
00290     0, 0, 0,    &WOPT_Enable_Alias_Class_Fortran_Rule, NULL },
00291   { OVK_BOOL,   OV_INTERNAL,    TRUE, "avoid_rehash",           "",
00292     0, 0, 0,    &WOPT_Enable_Avoid_Rehash, NULL },
00293   { OVK_BOOL,   OV_INTERNAL,    TRUE, "bdce",           "",
00294     0, 0, 0,    &WOPT_Enable_Bitwise_DCE, NULL },
00295   { OVK_BOOL, OV_INTERNAL,    TRUE, "cse_fcmp",    "",
00296     0, 0, 0,  &WOPT_Enable_CSE_FP_comparison, NULL },
00297   { OVK_BOOL,   OV_INTERNAL,    TRUE, "canon_uplevel",  "canon",
00298     0, 0, 0,    &WOPT_Enable_Canon_Uplevel, NULL },
00299   { OVK_BOOL,   OV_INTERNAL,    TRUE, "call_flag",              "call_flag",
00300     0, 0, 0,    &WOPT_Enable_Call_Flag, NULL },
00301   { OVK_BOOL,   OV_INTERNAL,    FALSE, "calls_break_bb",                "",
00302     0, 0, 0,    &WOPT_Enable_Calls_Break_BB, &WOPT_Enable_Calls_Break_BB_Set },
00303   { OVK_BOOL,   OV_INTERNAL,    TRUE, "canon_expr",             "canon_expr",
00304     0, 0, 0,    &WOPT_Enable_Canon_Expr, NULL },
00305   { OVK_BOOL,   OV_INTERNAL,    TRUE, "cg_alias",               "cg_alias",
00306     0, 0, 0,    &WOPT_Enable_CG_Alias, NULL },
00307   { OVK_BOOL,   OV_INTERNAL,    TRUE, "class2", "class2",
00308     0, 0, 0,    &WOPT_Enable_Second_Alias_Class, NULL },
00309   { OVK_BOOL,   OV_INTERNAL,    TRUE, "combine_operations",     "combine",
00310     0, 0, 0,    &WOPT_Enable_Combine_Operations, NULL },
00311   { OVK_BOOL,   OV_INTERNAL,    TRUE, "compare_simp",           "compare",
00312     0, 0, 0,    &WOPT_Enable_Compare_Simp, NULL },
00313   { OVK_BOOL,   OV_INTERNAL,    TRUE, "const_pre",              "const_pre",
00314     0, 0, 0,    &WOPT_Enable_Const_PRE, NULL },
00315   { OVK_INT32,  OV_INTERNAL,    TRUE, "const_pre_limit",        "const_pre_limit",
00316     INT32_MAX, 0, INT32_MAX,    &WOPT_Enable_Const_PRE_Limit, NULL },
00317   { OVK_BOOL,   OV_INTERNAL,    TRUE, "divrem",         "divrem",
00318     0, 0, 0,    &WOPT_Enable_DIVREM, NULL },
00319   { OVK_BOOL,   OV_INTERNAL,    TRUE, "copy_propagate", "copy",
00320     0, 0, 0,    &WOPT_Enable_Copy_Propagate, NULL },
00321   { OVK_BOOL,   OV_INTERNAL,    TRUE, "copy_ops",               "copy_ops",
00322     0, 0, 0,    &WOPT_Enable_Copy_Prop_Bad_Ops, NULL },
00323   { OVK_BOOL,   OV_INTERNAL,    TRUE, "copy_lno_ops",           "copy_lno",
00324     0, 0, 0,    &WOPT_Enable_Copy_Prop_LNO_Ops, NULL },
00325   { OVK_BOOL,   OV_INTERNAL,    TRUE, "copy_into_array",        "",
00326     0, 0, 0,    &WOPT_Enable_Copy_Prop_Ops_Into_Array,
00327                 &WOPT_Enable_Copy_Prop_Ops_Into_Array_Set },
00328   { OVK_BOOL,   OV_INTERNAL,    TRUE, "lno_copy_propagation",   "lno_copy",
00329     0, 0, 0,    &WOPT_Enable_LNO_Copy_Propagate, NULL },
00330   { OVK_BOOL,   OV_INTERNAL,    TRUE, "cr_simp",                "cr",
00331     0, 0, 0,    &WOPT_Enable_CRSIMP, NULL },
00332   { OVK_BOOL,   OV_INTERNAL,    TRUE, "fastsimp",               "",
00333     0, 0, 0,    &WOPT_Enable_Fast_Simp, NULL },
00334   { OVK_BOOL,   OV_INTERNAL,    TRUE, "fold2const",             "fold",
00335     0, 0, 0,    &WOPT_Enable_Fold2const, NULL },
00336   { OVK_BOOL,   OV_INTERNAL,    TRUE, "fold_lda_iload_istore",  "fold_lda_iload",
00337     0, 0, 0,    &WOPT_Enable_Fold_Lda_Iload_Istore, NULL },
00338   { OVK_BOOL,   OV_INTERNAL,    TRUE, "dead_code_elim", "dead",
00339     0, 0, 0,    &WOPT_Enable_DCE, NULL },
00340   { OVK_BOOL,   OV_INTERNAL,    TRUE, "dce_aggressive", "dce",
00341     0, 0, 0,    &WOPT_Enable_Aggressive_dce, NULL },
00342   { OVK_BOOL,   OV_INTERNAL,    TRUE, "dce_alias",              "",
00343     0, 0, 0,    &WOPT_Enable_DCE_Alias, NULL },
00344   { OVK_BOOL,   OV_INTERNAL,    TRUE, "dce_branch",             "",
00345     0, 0, 0,    &WOPT_Enable_DCE_Branch, NULL },
00346   { OVK_INT32,  OV_INTERNAL,    TRUE, "dce_branch_pred_limit",  "",
00347     5, 0, INT32_MAX,    &WOPT_Enable_DCE_Branch_Pred_Limit, NULL },
00348   { OVK_BOOL,   OV_INTERNAL,    TRUE, "dce_global",             "",
00349     0, 0, 0,    &WOPT_Enable_DCE_Global, NULL },
00350   { OVK_BOOL,   OV_INTERNAL,    TRUE, "dce_label",              "",
00351     0, 0, 0,    &WOPT_Enable_DCE_Label, NULL },
00352   { OVK_BOOL,   OV_INTERNAL,    TRUE, "du_full",                "",
00353     0, 0, 0,    &WOPT_Enable_DU_Full, NULL },
00354   { OVK_BOOL,   OV_INTERNAL,    TRUE, "du_union",               "",
00355     0, 0, 0,    &WOPT_Enable_DU_Union, NULL },
00356   { OVK_BOOL,   OV_INTERNAL,    TRUE, "dead_cr",                "",
00357     0, 0, 0,    &WOPT_Enable_Dead_CR_Fix, NULL },
00358   { OVK_BOOL,   OV_INTERNAL,    TRUE, "debug_class",            "",
00359     0, 0, 0,    &WOPT_Enable_Debug_Inconsistent_Ip_Class, NULL },
00360   { OVK_BOOL,   OV_INTERNAL,    TRUE, "epre",                   "epre",
00361     0, 0, 0,    &WOPT_Enable_Exp_PRE, NULL },
00362   { OVK_INT32,  OV_INTERNAL,    TRUE, "epre_limit",             "",
00363     INT32_MAX, 0, INT32_MAX,    &WOPT_Enable_Exp_PRE_Limit, NULL },
00364   { OVK_BOOL,   OV_INTERNAL,    TRUE, "estr_fb_injury",       "",
00365     0, 0, 0,    &WOPT_Enable_Estr_FB_Injury, &WOPT_Enable_Estr_FB_Injury_Set },
00366   { OVK_BOOL,   OV_INTERNAL,    TRUE, "goto_conversion",        "goto",
00367     0, 0, 0,    &WOPT_Enable_Goto, NULL },
00368   { OVK_BOOL,   OV_INTERNAL,    TRUE, "hoisting",               "hoist",
00369     0, 0, 0,    &WOPT_Enable_Hoisting, NULL },
00370   { OVK_BOOL,   OV_INTERNAL,    TRUE, "hoist_ivar",             "hoist_ivar",
00371     0, 0, 0,    &WOPT_Enable_Ivar_Hoisting, NULL },
00372   { OVK_BOOL,   OV_INTERNAL,    TRUE, "i8_iv",          "i8_iv",
00373     0, 0, 0,    &WOPT_Enable_I8_Primary_IV, NULL },
00374   { OVK_BOOL,   OV_INTERNAL,    TRUE, "addr",                   "addr",
00375     0, 0, 0,    &WOPT_Enable_Improved_Addr_Taken, NULL },
00376   { OVK_BOOL,   OV_INTERNAL,    TRUE, "icopy_propagate",        "icopy",
00377     0, 0, 0,    &WOPT_Enable_Input_Prop, NULL },
00378   { OVK_BOOL,   OV_INTERNAL,    TRUE, "itself_prop",            "itself",
00379     0, 0, 0,    &WOPT_Enable_Itself_Prop, NULL },
00380   { OVK_BOOL,   OV_INTERNAL,    TRUE, "ipaa",                   "ipaa",
00381     0, 0, 0,    &WOPT_Enable_IPAA, NULL },
00382   { OVK_NAME,   OV_INTERNAL,    TRUE, "ipaa_file",              "ipaa_f",
00383     0, 0, 0,    &Ipa_File_Name, NULL },
00384   { OVK_BOOL,   OV_INTERNAL,    TRUE, "iv_elimination", "iv_elim",
00385     0, 0, 0,    &WOPT_Enable_IVE, NULL },
00386   { OVK_BOOL,   OV_INTERNAL,    TRUE, "ive_old",                "ive_old",
00387     0, 0, 0,    &WOPT_Enable_IVE_Old, NULL },
00388   { OVK_BOOL,   OV_INTERNAL,    TRUE, "iv_recognition", "iv_recog",
00389     0, 0, 0,    &WOPT_Enable_IVR, NULL },
00390   { OVK_INT32,  OV_INTERNAL,    TRUE, "ivr_expand_limit",       "",
00391     1000, 0, INT32_MAX, &WOPT_Enable_IVR_Expand_Limit, NULL },
00392   { OVK_BOOL,   OV_INTERNAL,    TRUE, "iv_outer_parallel",      "",
00393     0, 0, 0,    &WOPT_Enable_IVR_Outermost_Loop_Parallel_Region, NULL },
00394   { OVK_BOOL,   OV_INTERNAL,    TRUE, "ivar_common",            "ivar",
00395     0, 0, 0,    &WOPT_Enable_Ivar_Common, NULL },
00396   { OVK_BOOL,   OV_INTERNAL,    TRUE, "ivar_pre",               "ivar_pre",
00397     0, 0, 0,    &WOPT_Enable_Ivar_PRE, NULL },
00398   { OVK_BOOL,   OV_INTERNAL,    TRUE, "ivincr_cand",            "ivincr",
00399     0, 0, 0,    &WOPT_Enable_Ivincr_Cand, NULL },
00400   { OVK_INT32,  OV_INTERNAL,    TRUE, "ldx_ratio_regins",       "ldx_ratio",
00401     0, 0, 4096, &WOPT_Ldx_Ratio_RegIns, NULL },
00402   { OVK_BOOL,   OV_INTERNAL,    TRUE, "ldx",                    "ldx",
00403     0, 0, 0,    &WOPT_Enable_Ldx, NULL },
00404   { OVK_BOOL,   OV_INTERNAL,    TRUE, "lego_opt",               "lego",
00405     0, 0, 0,    &WOPT_Enable_Lego_Opt, NULL },
00406   { OVK_BOOL,   OV_INTERNAL,    TRUE, "lftr",                   "lftr",
00407     0, 0, 0,    &WOPT_Enable_LFTR, NULL },
00408   { OVK_BOOL,   OV_INTERNAL,    TRUE, "lftr_ivar",              "lftr_ivar",
00409     0, 0, 0,    &WOPT_Enable_LFTR_Ivar, NULL },
00410   { OVK_BOOL,   OV_INTERNAL,    TRUE, "lftr2",          "lftr2",
00411     0, 0, 0,    &WOPT_Enable_LFTR2, NULL },
00412   { OVK_INT32,  OV_INTERNAL,    TRUE, "lftr2_limit",            "lftr2_limit",
00413     INT32_MAX, 0, INT32_MAX,    &WOPT_Enable_LFTR2_Limit, NULL },
00414   { OVK_BOOL,   OV_INTERNAL,    TRUE, "lpre",                   "lpre",
00415     0, 0, 0,    &WOPT_Enable_Load_PRE, NULL },
00416   { OVK_INT32,  OV_INTERNAL,    TRUE, "lpre_limit",             "",
00417     INT32_MAX, 0, INT32_MAX,    &WOPT_Enable_Load_PRE_Limit, NULL },
00418   { OVK_BOOL,   OV_INTERNAL,    TRUE, "loop_invarexp",  "loop_invar",
00419     0, 0, 0,    &WOPT_Enable_Loopinvarexp_Str_Reduction, NULL },
00420   { OVK_BOOL,   OV_INTERNAL,    FALSE, "lower_short_circuit",           "",
00421     0, 0, 0,    &WOPT_Enable_Lower_Short_Circuit, &WOPT_Enable_Lower_Short_Circuit_Set },
00422   { OVK_BOOL,   OV_INTERNAL,    TRUE, "minmax",         "minmax",
00423     0, 0, 0,    &WOPT_Enable_MINMAX, NULL },
00424   { OVK_BOOL,   OV_INTERNAL,    TRUE, "min_type",               "min_type",
00425     0, 0, 0,    &WOPT_Enable_Min_Type, NULL },
00426   { OVK_BOOL,   OV_INTERNAL,    TRUE, "intrinsic",              "intrinsic",
00427     0, 0, 0,    &WOPT_Enable_Move_Intrinsicop, NULL },
00428   { OVK_BOOL,   OV_INTERNAL,    TRUE, "mp_varref",              "mp_varref",
00429     0, 0, 0,    &WOPT_Enable_MP_varref, NULL },
00430 #ifdef CHANGE_MIND_AGAIN
00431   { OVK_BOOL,   OV_INTERNAL,    TRUE, "mp_const_prop",  "mp_const_prop",
00432     0, 0, 0,    &WOPT_Enable_MP_Const_Prop, NULL },
00433 #endif
00434   { OVK_BOOL,   OV_INTERNAL,    TRUE, "spec_nix_lftr",  "",
00435     0, 0, 0,    &WOPT_Enable_Speculation_Defeats_LFTR, NULL },
00436   { OVK_BOOL,   OV_INTERNAL,    TRUE, "ssapre",         "ssapre",
00437     0, 0, 0,    &WOPT_Enable_SSA_PRE, NULL },
00438   { OVK_BOOL,   OV_INTERNAL,    TRUE, "new_sr",         "",
00439     0, 0, 0,    &WOPT_Enable_New_SR, NULL },
00440   { OVK_INT32,  OV_INTERNAL,    TRUE, "new_sr_limit",           "new_sr_limit",
00441     INT32_MAX, 0, INT32_MAX,    &WOPT_Enable_New_SR_Limit, NULL },
00442   { OVK_BOOL,   OV_INTERNAL,    TRUE, "ocopy",          "ocopy",
00443     0, 0, 0,    &WOPT_Enable_Output_Copy, NULL },
00444   { OVK_INT32,  OV_INTERNAL,    TRUE, "ocopy_lookup_stmtcnt",   "ocopy_lookup",
00445     0, 0, 4096, &WOPT_Enable_Ocopy_Lookupstmt, NULL },
00446   { OVK_BOOL,   OV_INTERNAL,    TRUE, "parm",                   "parm",
00447     0, 0, 0,    &WOPT_Enable_Parm, NULL },
00448   { OVK_NAME,   OV_INTERNAL,    TRUE, "process",                "process", 
00449     0, 0, 0,    &WOPT_Enable_Process, NULL },
00450   { OVK_BOOL,   OV_INTERNAL,    TRUE, "phi_simp",               "phi",
00451     0, 0, 0,    &WOPT_Enable_Phi_Simp, NULL },
00452   { OVK_BOOL,   OV_INTERNAL,    TRUE, "prop_ivar",              "",
00453     0, 0, 0,    &WOPT_Enable_Prop_Ivar, NULL },
00454   { OVK_BOOL,   OV_INTERNAL,    FALSE, "prop_cse",              "",
00455     0, 0, 0,    &WOPT_Enable_Prop_CSE, NULL },
00456   { OVK_INT32,  OV_INTERNAL,    TRUE, "prop_limit",             "",
00457     14, 0, INT32_MAX,   &WOPT_Enable_Prop_Limit, NULL }, /* PV 468862 */
00458   { OVK_BOOL,   OV_INTERNAL,    TRUE, "prune",          "",
00459     0, 0, 0,    &WOPT_Enable_Prune, NULL },
00460   { OVK_BOOL,   OV_INTERNAL,    TRUE, "replace_second_iv",      "",
00461     0, 0, 0,    &WOPT_Enable_Replace_Second_IV, NULL },
00462   { OVK_BOOL,   OV_INTERNAL,    TRUE, "replace_while_loop_second_iv",   "",
00463     0, 0, 0,    &WOPT_Enable_Replace_While_Loop_Second_IV, NULL },
00464   { OVK_BOOL,   OV_INTERNAL,    TRUE, "restricted_map", "",
00465     0, 0, 0,    &WOPT_Enable_Restricted_Map, NULL },
00466   { OVK_INT32,  OV_INTERNAL,    TRUE, "rsv_bits",               "rsv",
00467     0, 0, 4096, &WOPT_Enable_Rsv_Bits, NULL },
00468   { OVK_BOOL,   OV_INTERNAL,    TRUE, "rvi_enable",             "rvi",
00469     0, 0, 0,    &WOPT_Enable_RVI, NULL },
00470   { OVK_BOOL,   OV_INTERNAL,    TRUE, "rvi1",                   "",
00471     0, 0, 0,    &WOPT_Enable_RVI1, NULL },
00472   { OVK_BOOL,   OV_INTERNAL,    TRUE, "rvi2",                   "",
00473     0, 0, 0,    &WOPT_Enable_RVI2, NULL },
00474   { OVK_BOOL,   OV_INTERNAL,    TRUE, "rviistore",              "",
00475     0, 0, 0,    &WOPT_Enable_Rviistore, NULL },
00476   { OVK_NAME,   OV_INTERNAL,    TRUE, "rviskip",                "", 
00477     0, 0, 0,    &WOPT_Enable_Rviskip, NULL },
00478   { OVK_BOOL,   OV_INTERNAL,    TRUE, "rvisplit",               "",
00479     0, 0, 0,    &WOPT_Enable_Rvisplit, NULL },
00480   { OVK_BOOL,   OV_INTERNAL,    TRUE, "rvivsym",                "",
00481     0, 0, 0,    &WOPT_Enable_Rvivsym, NULL },
00482   { OVK_BOOL,   OV_INTERNAL,    TRUE, "second_order",           "second",
00483     0, 0, 0,    &WOPT_Enable_Second_Order, NULL },
00484   { OVK_NAME,   OV_INTERNAL,    TRUE, "skip",                   "skip", 
00485     0, 0, 0,    &WOPT_Enable_Skip, NULL },
00486   { OVK_LIST,   OV_INTERNAL,    TRUE, "skip_after",             "skip_a", 
00487     0, 0, 0,    &WOPT_Skip,     NULL },
00488   { OVK_LIST,   OV_INTERNAL,    TRUE, "skip_before",            "skip_b", 
00489     0, 0, 0,    &WOPT_Skip,     NULL },
00490   { OVK_LIST,   OV_INTERNAL,    TRUE, "skip_equal",             "skip_e", 
00491     0, 0, 0,    &WOPT_Skip,      NULL },
00492   { OVK_BOOL,   OV_INTERNAL,    TRUE, "ssa_minimization",       "ssa_min",
00493     0, 0, 0,    &WOPT_Enable_SSA_Minimization, NULL },
00494   { OVK_BOOL,   OV_INTERNAL,    TRUE, "spre",                   "spre",
00495     0, 0, 0,    &WOPT_Enable_Store_PRE, NULL },
00496   { OVK_INT32,  OV_INTERNAL,    TRUE, "spre_limit",             "",
00497     INT32_MAX, 0, INT32_MAX,    &WOPT_Enable_Store_PRE_Limit, NULL },
00498   { OVK_BOOL,   OV_INTERNAL,    TRUE, "strength_reduction",     "str",
00499     0, 0, 0,    &WOPT_Enable_Strength_Reduction, NULL },
00500   { OVK_BOOL,   OV_INTERNAL,    TRUE, "slt",                    "slt",
00501     0, 0, 0,    &WOPT_Enable_SLT, NULL },
00502   { OVK_BOOL,   OV_INTERNAL,    TRUE, "small_br_target",        "small_br",
00503     0, 0, 0,    &WOPT_Enable_Small_Br_Target, NULL },
00504   { OVK_INT32,  OV_INTERNAL,    TRUE, "trip_count",             "trip",
00505     2, 0, 2,    &WOPT_Enable_Generate_Trip_Count, NULL },
00506   { OVK_BOOL,   OV_INTERNAL,    TRUE, "update_vsym",            "update_vsym",
00507     0, 0, 0,    &WOPT_Enable_Update_Vsym, NULL },
00508   { OVK_BOOL,   OV_INTERNAL,    TRUE, "unique_pt_vsym", "",
00509     0, 0, 0,    &WOPT_Enable_Unique_Pt_Vsym, NULL },
00510   { OVK_INT32,  OV_INTERNAL,    TRUE, "value_numbering",        "val",
00511     1, 0, 4, &WOPT_Enable_Value_Numbering, NULL },
00512   { OVK_BOOL,   OV_INTERNAL,    TRUE, "verbose",                "v",
00513     0, 0, 0,    &WOPT_Enable_Verbose, NULL },
00514   { OVK_INT32,  OV_INTERNAL,    TRUE, "verify",         "verify",
00515     1, 0, 4,    &WOPT_Enable_Verify, NULL },
00516   { OVK_BOOL,   OV_INTERNAL,    TRUE, "while_loop",             "while",
00517     0, 0, 0,    &WOPT_Enable_While_Loop, NULL },
00518   { OVK_BOOL,   OV_INTERNAL,    TRUE, "worklist_prune", "worklist_prune",
00519     0, 0, 0,    &WOPT_Enable_Worklist_Pruning, NULL },
00520   { OVK_BOOL,   OV_INTERNAL,    TRUE, "zero_version",           "zero",
00521     0, 0, 0,    &WOPT_Enable_Zero_Version, NULL },
00522   { OVK_BOOL,   OV_INTERNAL,    TRUE, "call_zero_version",      "call_zero",
00523     0, 0, 0,    &WOPT_Enable_Call_Zero_Version, NULL },
00524   { OVK_BOOL,   OV_INTERNAL,    TRUE, "vsym_unique",            "vsym",
00525     0, 0, 0,    &WOPT_Enable_Vsym_Unique, NULL },
00526   { OVK_BOOL,   OV_INTERNAL,    TRUE, "dse_aggressive", "dse",
00527     0, 0, 0,    &WOPT_Enable_Dse_Aggressive, NULL },
00528   { OVK_BOOL,   OV_INTERNAL,    TRUE, "prop_aggressive",        "prop",
00529     0, 0, 0,    &WOPT_Enable_Prop_Aggressive, NULL },
00530   { OVK_BOOL,   OV_INTERNAL,    TRUE, "iload_prop",             "iload",
00531     0, 0, 0,    &WOPT_Enable_Iload_Prop, NULL },
00532   { OVK_BOOL,   OV_INTERNAL,    TRUE, "vn_full",                "vn",
00533     0, 0, 0,    &WOPT_Enable_VN_Full, NULL },
00534   { OVK_BOOL,   OV_INTERNAL,    TRUE, "simp_iload",             "",
00535     0, 0, 0,    &WOPT_Enable_Simp_Iload, NULL },
00536   { OVK_BOOL,   OV_INTERNAL,    TRUE, "if_conv",                "",
00537     0, 0, 0,    &WOPT_Enable_Simple_If_Conv, NULL },
00538   { OVK_BOOL,   OV_INTERNAL,    TRUE, "tail_recursion", "tail",
00539     0, 0, 0,    &WOPT_Enable_Tail_Recur, NULL },
00540   { OVK_BOOL,   OV_INTERNAL,    TRUE, "edge_placement", "edge",
00541     0, 0, 0,    &WOPT_Enable_Edge_Placement, NULL },
00542   { OVK_BOOL,   OV_INTERNAL,    TRUE, "backedge_placement",     "backedge_p",
00543     0, 0, 0,    &WOPT_Enable_Backedge_Placement, NULL },
00544   { OVK_BOOL,   OV_INTERNAL,    TRUE, "src_order",              "",
00545     0, 0, 0,    &WOPT_Enable_Source_Order, NULL },
00546   { OVK_NAME,   OV_INTERNAL,    TRUE, "set_unique_pt",  "",
00547     0, 0, 0,    &WOPT_Set_Unique_Pt, NULL },
00548   { OVK_BOOL,   OV_INTERNAL,    TRUE, "fold_cvt",               "",
00549     0, 0, 0,    &WOPT_Enable_Cvt_Folding, NULL },
00550   { OVK_BOOL,   OV_INTERNAL,    TRUE, "local_rvi",              "",
00551     0, 0, 0,    &WOPT_Enable_Local_Rvi, NULL },
00552   { OVK_BOOL,   OV_INTERNAL,    TRUE, "strong_barrier",         "",
00553     0, 0, 0,    &WOPT_Enable_Strong_Barrier, NULL },
00554   { OVK_BOOL,   OV_INTERNAL,    TRUE, "aggr_invariant",         "",
00555     0, 0, 0,    &WOPT_Enable_Aggr_Invariant, NULL },
00556   { OVK_INT32,  OV_INTERNAL,    TRUE, "lrvi_limit",             "",
00557     INT32_MAX, 0, INT32_MAX,    &WOPT_Enable_Local_Rvi_Limit, NULL },
00558   { OVK_BOOL,   OV_INTERNAL,    TRUE, "shrink",         "",
00559     0, 0, 0,    &WOPT_Enable_Shrink, NULL },
00560   { OVK_INT32,  OV_INTERNAL,    TRUE, "extra_rename",           "",
00561     INT32_MAX, 0, INT32_MAX,    &WOPT_Enable_Extra_Rename_Pass, &WOPT_Enable_Extra_Rename_Pass_Set },
00562   { OVK_UINT32, OV_INTERNAL,    TRUE, "extra_preopt",           "extra_p",
00563     0, 0, UINT32_MAX,   &WOPT_Enable_Extra_Preopt_Pass, NULL },
00564   { OVK_BOOL,   OV_INTERNAL,    TRUE, "bool_simp",              "",
00565     0, 0, 0,    &WOPT_Enable_Bool_Simp, NULL },
00566   { OVK_BOOL,   OV_INTERNAL,    FALSE, "fb_lpre",              "",
00567     0, 0, 0,    &WOPT_Enable_Feedback_LPRE, NULL },
00568   { OVK_BOOL,   OV_INTERNAL,    FALSE, "fb_epre",              "",
00569     0, 0, 0,    &WOPT_Enable_Feedback_EPRE, NULL },
00570   { OVK_BOOL,   OV_INTERNAL,    FALSE, "cfo_display",              "",
00571     0, 0, 0,    &WOPT_Enable_CFG_Display, NULL },
00572   { OVK_BOOL,   OV_INTERNAL,    TRUE, "merge_multi_zone",               "",
00573     0, 0, 0,    &WOPT_Enable_CFG_Merge_Multi_Zone, &WOPT_Enable_CFG_Merge_Multi_Zone_Set },
00574   { OVK_BOOL,   OV_INTERNAL,    FALSE, "cfo_main",              "",
00575     0, 0, 0,    &WOPT_Enable_CFG_Opt, NULL },
00576   { OVK_BOOL,   OV_INTERNAL,    FALSE, "cfo1",              "",
00577     0, 0, 0,    &WOPT_Enable_CFG_Opt1, NULL },
00578   { OVK_BOOL,   OV_INTERNAL,    FALSE, "cfo2",              "",
00579     0, 0, 0,    &WOPT_Enable_CFG_Opt2, NULL },
00580   { OVK_INT32,  OV_INTERNAL,    TRUE, "min_cfo2_coverage",              "",
00581     INT32_MAX, 0, INT32_MAX,    &WOPT_Enable_CFG_Opt2_Limit, NULL },
00582   { OVK_BOOL,   OV_INTERNAL,    FALSE, "cfo3",              "",
00583     0, 0, 0,    &WOPT_Enable_CFG_Opt3, NULL },
00584   { OVK_BOOL,   OV_INTERNAL,    FALSE, "cfo4",              "",
00585     0, 0, 0,    &WOPT_Enable_CFG_Opt4, NULL },
00586   { OVK_INT32,  OV_INTERNAL,    FALSE, "cfo_limit",              "",
00587     INT32_MAX, 0, INT32_MAX,    &WOPT_Enable_CFG_Opt_Limit, NULL },
00588   { OVK_INT32,  OV_INTERNAL,    TRUE,  "vn_ivc",        "",
00589     1, 0, 8,    &WOPT_Enable_Vn_Ivc, NULL },
00590   { OVK_UINT32, OV_INTERNAL,    TRUE, "vnfre_after",            "vnfre_a",
00591     0, 0, UINT32_MAX,   &WOPT_Enable_Vnfre_After, NULL },
00592   { OVK_UINT32, OV_INTERNAL,    TRUE, "vnfre_before",           "vnfre_b",
00593     UINT32_MAX, 0, UINT32_MAX,  &WOPT_Enable_Vnfre_Before, NULL },
00594   { OVK_BOOL,   OV_INTERNAL,    TRUE, "bit_field",      "",
00595     0, 0, 0,    &WOPT_Enable_Bits_Load_Store, NULL },
00596   { OVK_BOOL,   OV_INTERNAL,    TRUE, "epre4ivr",       "epre4ivr",
00597     0, 0, 0,    &WOPT_Enable_Epre_Before_Ivr, NULL },
00598   { OVK_BOOL,   OV_INTERNAL,    TRUE, "lpre4ivr",       "lpre4ivr",
00599     0, 0, 0,    &WOPT_Enable_Lpre_Before_Ivr, NULL },
00600   { OVK_BOOL,   OV_INTERNAL,    TRUE, "spre4ivr",       "spre4ivr",
00601     0, 0, 0,    &WOPT_Enable_Spre_Before_Ivr, NULL },
00602   { OVK_BOOL,   OV_INTERNAL,    TRUE, "bdce4ivr",       "bdce4ivr",
00603     0, 0, 0,    &WOPT_Enable_Bdce_Before_Ivr, NULL },
00604   { OVK_BOOL,   OV_INTERNAL,    TRUE, "new_phase_order", "new_phase_order",
00605     TRUE, 0, 0, &WOPT_Enable_New_Phase_Ordering, NULL },
00606   { OVK_COUNT }         /* List terminator -- must be last */
00607 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines