#include "defs.h"#include "config.h"#include "ipfec_options.h"#include "string.h"#include "flags.h"#include "tracing.h"#include "mempool.h"#include "cxx_memory.h"

Go to the source code of this file.
Definition at line 276 of file ipfec_options.cxx.
| SKIPLIST* IPFEC_Build_Skiplist | ( | OPTION_LIST * | olist | ) |
Definition at line 586 of file ipfec_options.cxx.
Referenced by REGION_INFO_MGR::Acquire_Rgn_Info(), IF_CONVERTOR::Convert_Candidates(), SCHEDULER::Get_OP_Prohibited_Spec_Type(), IF_CONVERTOR::IF_CONVERTOR(), Local_Insn_Sched(), Multi_Branch_Valid_BB(), Post_Multi_Branch(), Post_Multi_Branch_Collect(), SCHEDULER::Sched_Rgn_Preproc(), and SCHEDULER::Schedule_Cycle().
| BOOL CG_Enable_Ipfec_Phases = TRUE |
Definition at line 53 of file ipfec_options.cxx.
Referenced by CGTARG_Analyze_Compare(), Process_Command_Line(), and Unroll_Dowhile_Loop().
| BOOL EMIT_count_cycles = FALSE |
| char* Fb_File_Name = "" |
Definition at line 103 of file ipfec_options.cxx.
Definition at line 258 of file ipfec_options.cxx.
Referenced by CG_Process_Command_Line(), and SCHEDULER::Schedule_Cycle().
Definition at line 260 of file ipfec_options.cxx.
Referenced by CG_Process_Command_Line(), and SCHEDULER::Schedule_Cycle().
Definition at line 229 of file ipfec_options.cxx.
Referenced by CG_Process_Command_Line(), and SCHEDULER::Sched_Rgn_Preproc().
Definition at line 231 of file ipfec_options.cxx.
Definition at line 227 of file ipfec_options.cxx.
Referenced by REGION_INFO_MGR::Acquire_Rgn_Info(), and CG_Process_Command_Line().
Definition at line 224 of file ipfec_options.cxx.
Referenced by CG_Process_Command_Line(), and IF_CONVERTOR::Convert_Candidates().
Definition at line 222 of file ipfec_options.cxx.
Referenced by CG_Process_Command_Line(), and IF_CONVERTOR::IF_CONVERTOR().
| char* Instru_File_Name = "" |
Definition at line 102 of file ipfec_options.cxx.
Referenced by CG_Edge_Profile_Instrument(), and EDGE_PROFILE::Instrument_Entry().
Definition at line 91 of file ipfec_options.cxx.
Referenced by FAVOR_DELAY_HEUR::Adjust_Heur_After_Sched_One_Cyc(), Copy_Ipfec_Flags(), and FAVOR_DELAY_HEUR::Estimate_Cand_Etime().
| BOOL IPFEC_Chk_Compact = TRUE |
Definition at line 112 of file ipfec_options.cxx.
Referenced by Configure_CG_Options(), Copy_Ipfec_Flags(), and Update_CFG().
| BOOL IPFEC_Combine_Exit = FALSE |
Definition at line 67 of file ipfec_options.cxx.
Referenced by Copy_Ipfec_Flags(), and IF_CONVERTOR::Insert_Predicate().
| BOOL IPFEC_Disable_Merge_BB = FALSE |
Definition at line 68 of file ipfec_options.cxx.
Referenced by Configure_CG_Options(), Copy_Ipfec_Flags(), and IF_CONVERTOR::Merge_Area().
| BOOL IPFEC_Enable_BB_Verify = FALSE |
| BOOL IPFEC_Enable_Cascade = TRUE |
Definition at line 113 of file ipfec_options.cxx.
Referenced by Configure_CG_Options(), Copy_Ipfec_Flags(), and Do_Build_Recovery_Block().
Definition at line 78 of file ipfec_options.cxx.
Referenced by Copy_Ipfec_Flags(), and SCHEDULER::Get_OP_Prohibited_Spec_Type().
Definition at line 81 of file ipfec_options.cxx.
Referenced by Bundle_Helper(), CGGRP_Cycle_Advance(), CGGRP_Force_Bundle_End(), Configure_CG_Options(), and Copy_Ipfec_Flags().
Definition at line 80 of file ipfec_options.cxx.
Referenced by SCHEDULER::BB_Move_Op_Before(), SCHEDULER::Commit_Schedule(), Copy_Ipfec_Flags(), SCHEDULER::Gen_Compensation_Code(), and SCHEDULER::Insert_Check().
Definition at line 77 of file ipfec_options.cxx.
Referenced by SCHED_SPEC_HANDSHAKE::Change_Load_Spec_Form(), Configure_CG_Options(), Copy_Ipfec_Flags(), and SCHEDULER::Get_OP_Prohibited_Spec_Type().
| BOOL IPFEC_Enable_Edge_Profile = FALSE |
Definition at line 92 of file ipfec_options.cxx.
| BOOL IPFEC_Enable_Edge_Profile_Annot = FALSE |
Definition at line 96 of file ipfec_options.cxx.
Referenced by CG_Generate_Code(), and Copy_Ipfec_Flags().
| INT32 IPFEC_Enable_Exit_Probability = FALSE |
Definition at line 59 of file ipfec_options.cxx.
Referenced by Copy_Ipfec_Flags(), and REGION_TREE::Decomposition().
| BOOL IPFEC_Enable_FP_Ld_Speculation = FALSE |
Definition at line 79 of file ipfec_options.cxx.
Referenced by Copy_Ipfec_Flags(), and SCHEDULER::Get_OP_Prohibited_Spec_Type().
| BOOL IPFEC_Enable_If_Conversion = TRUE |
Definition at line 62 of file ipfec_options.cxx.
Referenced by CG_Generate_Code(), CG_LOOP_Optimize(), Configure_CG_Options(), and Copy_Ipfec_Flags().
| BOOL IPFEC_Enable_Insert_UNAT = TRUE |
| BOOL IPFEC_Enable_LICM = TRUE |
Definition at line 120 of file ipfec_options.cxx.
Referenced by CG_Generate_Code(), and Copy_Ipfec_Flags().
| BOOL IPFEC_Enable_Multi_Branch = TRUE |
Definition at line 116 of file ipfec_options.cxx.
Referenced by Copy_Ipfec_Flags(), and Multi_Branch_Valid_BB().
Definition at line 72 of file ipfec_options.cxx.
Referenced by CG_Generate_Code(), Configure_CG_Options(), and Copy_Ipfec_Flags().
Definition at line 118 of file ipfec_options.cxx.
Referenced by CG_Generate_Code(), and Copy_Ipfec_Flags().
| BOOL IPFEC_Enable_Postpass_GLOS = FALSE |
Definition at line 73 of file ipfec_options.cxx.
Referenced by CG_Generate_Code(), and Copy_Ipfec_Flags().
| BOOL IPFEC_Enable_Postpass_LOCS = TRUE |
Definition at line 75 of file ipfec_options.cxx.
Referenced by CG_Generate_Code(), Configure_CG_Options(), and Copy_Ipfec_Flags().
| BOOL IPFEC_Enable_PRDB = TRUE |
Definition at line 69 of file ipfec_options.cxx.
Referenced by CG_Generate_Code(), Configure_CG_Options(), Copy_Ipfec_Flags(), Global_Insn_Sched(), and Perform_Global_Schedule().
| BOOL IPFEC_Enable_Pre_Bundling = TRUE |
Definition at line 110 of file ipfec_options.cxx.
Referenced by CG_Generate_Code(), Configure_CG_Options(), and Copy_Ipfec_Flags().
Definition at line 117 of file ipfec_options.cxx.
Referenced by Add_Predicate_Valid_BB(), Copy_Ipfec_Flags(), Multi_Branch_Valid_BB(), and Post_Multi_Branch_Collect().
| BOOL IPFEC_Enable_Prepass_GLOS = TRUE |
Definition at line 71 of file ipfec_options.cxx.
Referenced by CG_Generate_Code(), Configure_CG_Options(), and Copy_Ipfec_Flags().
| BOOL IPFEC_Enable_Prepass_LOCS = FALSE |
Definition at line 74 of file ipfec_options.cxx.
Referenced by CG_Generate_Code(), and Copy_Ipfec_Flags().
| BOOL IPFEC_Enable_Random_Prob = FALSE |
Definition at line 95 of file ipfec_options.cxx.
Referenced by Compute_Branch_Probabilities(), and Copy_Ipfec_Flags().
Definition at line 57 of file ipfec_options.cxx.
Referenced by CG_Generate_Code(), and Copy_Ipfec_Flags().
Definition at line 56 of file ipfec_options.cxx.
Referenced by Append_Succ(), Cflow_Change_Succ(), CG_Generate_Code(), CG_LOOP_Optimize(), Clone_Blocks(), Configure_CG_Options(), Convert_Goto_To_If(), Convert_Goto_To_Return(), Convert_If_To_Goto(), Copy_Ipfec_Flags(), Delete_BB(), Delete_BB_Contents(), GRA_Add_Call_Spill_Block(), Insert_Goto_BB(), EDGE_PROFILE::Instrument_Cloop_Branch(), EDGE_PROFILE::Instrument_Entry(), EDGE_PROFILE::Instrument_Indirect_Cond_Branch(), EDGE_PROFILE::Instrument_Ip_Rel_Branch(), EDGE_PROFILE::Instrument_None_and_Other_Xfer(), EDGE_PROFILE::Instrument_Top_Branch(), Merge_With_Pred(), Merge_With_Succ(), Optimize_Branches(), Perform_Loop_Optimizations(), Resolve_Conditional_Branch(), and Target_Simple_Fall_Through_BB().
| BOOL IPFEC_Enable_Safety_Load = TRUE |
Definition at line 115 of file ipfec_options.cxx.
Referenced by Configure_CG_Options(), and Copy_Ipfec_Flags().
| BOOL IPFEC_Enable_Speculation = TRUE |
Definition at line 76 of file ipfec_options.cxx.
Referenced by Copy_Ipfec_Flags(), Delete_Unreachable_Blocks(), and SCHEDULER::Get_OP_Prohibited_Spec_Type().
| BOOL IPFEC_Enable_Split_bb = FALSE |
| INT32 IPFEC_Enable_Stride_Prefetch = FALSE |
Definition at line 97 of file ipfec_options.cxx.
Referenced by CG_Generate_Code(), and Copy_Ipfec_Flags().
| BOOL IPFEC_Enable_Stride_Profile = FALSE |
Definition at line 94 of file ipfec_options.cxx.
Referenced by CG_Generate_Code(), and Copy_Ipfec_Flags().
Definition at line 109 of file ipfec_options.cxx.
Referenced by CG_Generate_Code(), and Copy_Ipfec_Flags().
| INT32 IPFEC_Enable_Tail_Duplication = FALSE |
Definition at line 58 of file ipfec_options.cxx.
Referenced by Copy_Ipfec_Flags(), and REGION_TREE::Decomposition().
| BOOL IPFEC_Enable_Value_Profile = FALSE |
Definition at line 93 of file ipfec_options.cxx.
Referenced by CG_Generate_Code(), and Copy_Ipfec_Flags().
| BOOL IPFEC_Enable_Value_Profile_Annot = FALSE |
Definition at line 108 of file ipfec_options.cxx.
Referenced by CG_Generate_Code(), and Copy_Ipfec_Flags().
| BOOL IPFEC_Force_CHK_Fail = FALSE |
Definition at line 111 of file ipfec_options.cxx.
Referenced by CG_Generate_Code(), Configure_CG_Options(), Copy_Ipfec_Flags(), and Insert_CHK().
| BOOL IPFEC_Force_If_Conv = FALSE |
Definition at line 63 of file ipfec_options.cxx.
Referenced by Configure_CG_Options(), Copy_Ipfec_Flags(), and IF_CONVERTOR::Insert_Predicate().
| BOOL IPFEC_Force_Para_Comp_Gen = FALSE |
Definition at line 65 of file ipfec_options.cxx.
Referenced by Configure_CG_Options(), Copy_Ipfec_Flags(), IF_CONVERTOR::Detect_Para_Comp(), and IF_CONVERTOR::Find_Start_Node().
Definition at line 88 of file ipfec_options.cxx.
Referenced by SRC_BB_MGR::_compute_cutting_set(), Copy_Ipfec_Flags(), Global_Insn_Sched(), and Perform_Global_Schedule().
Definition at line 89 of file ipfec_options.cxx.
Referenced by SCHEDULER::Collect_And_Analyse_Other_Than_Dep_Constraints(), and Copy_Ipfec_Flags().
Definition at line 87 of file ipfec_options.cxx.
Referenced by SRC_BB_MGR::_src_bb_is_qualified(), Copy_Ipfec_Flags(), and SRC_BB_MGR::Determine_BB_Can_Donate_P_Ready_Cand_Or_Not().
| BOOL IPFEC_Glos_Enable_Renaming = TRUE |
Definition at line 90 of file ipfec_options.cxx.
Referenced by Copy_Ipfec_Flags(), and SCHEDULER::Schedule_Cycle().
| BOOL IPFEC_Glos_Motion_Across_Calls = FALSE |
Definition at line 84 of file ipfec_options.cxx.
Referenced by SRC_BB_MGR::_src_bb_is_qualified(), Copy_Ipfec_Flags(), Derive_Spec_Type_If_Violate_Dep(), and SCHEDULER::Schedule_Cycle().
Definition at line 82 of file ipfec_options.cxx.
Referenced by Copy_Ipfec_Flags(), and Get_Sched_Opts().
| BOOL IPFEC_Glos_Split_Entry_BB = TRUE |
Definition at line 85 of file ipfec_options.cxx.
Referenced by Copy_Ipfec_Flags(), Global_Insn_Sched_Preproc(), and Init_Split_PU_Entry_Or_Exit_BB().
| BOOL IPFEC_Glos_Split_Exit_BB = TRUE |
Definition at line 86 of file ipfec_options.cxx.
Referenced by Copy_Ipfec_Flags(), Global_Insn_Sched_Preproc(), and Init_Split_PU_Entry_Or_Exit_BB().
| BOOL IPFEC_Hold_Uses = FALSE |
Definition at line 114 of file ipfec_options.cxx.
Referenced by Build_Outgoing_Edges(), Configure_CG_Options(), and Copy_Ipfec_Flags().
| BOOL IPFEC_Para_Comp_Gen = TRUE |
Definition at line 66 of file ipfec_options.cxx.
Referenced by Configure_CG_Options(), Copy_Ipfec_Flags(), and IF_CONVERTOR::Detect_Para_Comp().
| BOOL IPFEC_Profitability = FALSE |
Definition at line 119 of file ipfec_options.cxx.
Referenced by Configure_CG_Options(), and Copy_Ipfec_Flags().
| BOOL IPFEC_Relaxed_If_Conv = TRUE |
Definition at line 64 of file ipfec_options.cxx.
Referenced by Copy_Ipfec_Flags(), and IF_CONVERTOR::Force_If_Convert().
| char* IPFEC_safe_cntl_spec_prob = NULL |
Definition at line 126 of file ipfec_options.cxx.
Referenced by Copy_Ipfec_Flags(), and get_spec_prob().
| INT32 IPFEC_sched_care_machine = Sched_care_bundle |
Definition at line 121 of file ipfec_options.cxx.
Referenced by CYCLE_STATE::Add_OP(), Bundle_Helper(), CG_Generate_Code(), CGGRP_Bundle(), CGGRP_Cycle_Advance(), CGGRP_End_BB(), CGGRP_Issue_OP(), Copy_Ipfec_Flags(), and Post_Multi_Branch().
Definition at line 60 of file ipfec_options.cxx.
Referenced by Copy_Ipfec_Flags(), and REGISTER_Request_Stacked_Register().
| BOOL IPFEC_Stress_Spec = FALSE |
Definition at line 83 of file ipfec_options.cxx.
Referenced by Copy_Ipfec_Flags(), and FAVOR_DELAY_HEUR::Select_Best_Candidate().
| char* IPFEC_unsafe_cntl_spec_prob = NULL |
Definition at line 127 of file ipfec_options.cxx.
Referenced by Copy_Ipfec_Flags(), and get_spec_prob().
Definition at line 264 of file ipfec_options.cxx.
Referenced by CG_Process_Command_Line(), Maximize_Min_II(), and COST_TABLE::Update_Min_II().
Definition at line 217 of file ipfec_options.cxx.
Referenced by CG_Process_Command_Line(), and Local_Insn_Sched().
Definition at line 219 of file ipfec_options.cxx.
Referenced by CG_Process_Command_Line(), Multi_Branch_Valid_BB(), Post_Multi_Branch(), and Post_Multi_Branch_Collect().
| BOOL ORC_Adjust_Variable_Latency = TRUE |
| BOOL ORC_Chk_Compact = TRUE |
| BOOL ORC_Combine_Exit = FALSE |
| BOOL ORC_Disable_Merge_BB = FALSE |
| BOOL ORC_Enable_BB_Verify = FALSE |
| BOOL ORC_Enable_Cache_Analysis = TRUE |
| BOOL ORC_Enable_Cascade = TRUE |
| BOOL ORC_Enable_Cntl_Speculation = TRUE |
| BOOL ORC_Enable_Data_Speculation = TRUE |
| BOOL ORC_Enable_Edge_Profile = FALSE |
| BOOL ORC_Enable_Edge_Profile_Annot = FALSE |
| INT32 ORC_Enable_Exit_Probability = FALSE |
| BOOL ORC_Enable_FP_Ld_Speculation = TRUE |
| BOOL ORC_Enable_If_Conversion = TRUE |
| BOOL ORC_Enable_Insert_UNAT = TRUE |
| BOOL ORC_Enable_LICM = TRUE |
| BOOL ORC_Enable_Multi_Branch = TRUE |
| BOOL ORC_Enable_Post_Multi_Branch = TRUE |
| BOOL ORC_Enable_Postpass_GLOS = FALSE |
| BOOL ORC_Enable_Postpass_LOCS = TRUE |
| BOOL ORC_Enable_PRDB = TRUE |
| BOOL ORC_Enable_Pre_Bundling = TRUE |
| BOOL ORC_Enable_Pre_Multi_Branch = TRUE |
| BOOL ORC_Enable_Prepass_GLOS = TRUE |
| BOOL ORC_Enable_Prepass_LOCS = FALSE |
| BOOL ORC_Enable_Random_Prob = FALSE |
| BOOL ORC_Enable_Region_Formation = TRUE |
| BOOL ORC_Enable_Safety_Load = TRUE |
| BOOL ORC_Enable_Speculation = TRUE |
| BOOL ORC_Enable_Split_bb = FALSE |
| BOOL ORC_Enable_Stride_Profile = FALSE |
| BOOL ORC_Enable_Stride_Profile_Annot = FALSE |
| INT32 ORC_Enable_Tail_Duplication = FALSE |
| BOOL ORC_Enable_Value_Profile = FALSE |
| BOOL ORC_Enable_Value_Profile_Annot = FALSE |
| BOOL ORC_Force_CHK_Fail = FALSE |
| BOOL ORC_Force_If_Conv = FALSE |
| BOOL ORC_Force_Para_Comp_Gen = FALSE |
| BOOL ORC_Glos_Enable_Renaming = TRUE |
| BOOL ORC_Glos_Motion_Across_Calls = FALSE |
| BOOL ORC_Glos_Reg_Pressure_Aware = TRUE |
| BOOL ORC_Glos_Split_Entry_BB = TRUE |
| BOOL ORC_Glos_Split_Exit_BB = TRUE |
| BOOL ORC_Hold_Uses = FALSE |
| BOOL ORC_Para_Comp_Gen = TRUE |
| BOOL ORC_Profitability = FALSE |
| BOOL ORC_Relaxed_If_Conv = TRUE |
| char* ORC_safe_cntl_spec_prob = NULL |
| INT32 ORC_sched_care_machine = Sched_care_bundle |
| BOOL ORC_Stress_Spec = FALSE |
| char* ORC_unsafe_cntl_spec_prob = NULL |
Definition at line 230 of file ipfec_options.cxx.
Definition at line 235 of file ipfec_options.cxx.
Referenced by CG_Process_Command_Line(), and SCHEDULER::Get_OP_Prohibited_Spec_Type().
Definition at line 239 of file ipfec_options.cxx.
Referenced by CG_Process_Command_Line(), and SCHEDULER::Get_OP_Prohibited_Spec_Type().
| char* Stride_Fb_File_Name = "" |
Definition at line 107 of file ipfec_options.cxx.
| char* Stride_Instru_File_Name = "" |
Definition at line 105 of file ipfec_options.cxx.
| char* Value_Fb_File_Name = "" |
Definition at line 106 of file ipfec_options.cxx.
| UINT32 Value_Instr_Pu_Id = 0x0000ffff |
| UINT32 Value_Instr_Range = 0x0000ffff |
Definition at line 99 of file ipfec_options.cxx.
| char* Value_Instru_File_Name = "" |
Definition at line 104 of file ipfec_options.cxx.
| INT32 Value_Profile_Pu_ID = -1 |
Definition at line 98 of file ipfec_options.cxx.
| BOOL VT_Enable_BB_DAG = FALSE |
Definition at line 209 of file ipfec_options.cxx.
| BOOL VT_Enable_BB_OP = FALSE |
Definition at line 205 of file ipfec_options.cxx.
| BOOL VT_Enable_CFG_Label = FALSE |
Definition at line 212 of file ipfec_options.cxx.
Referenced by draw_global_cfg(), draw_regional_cfg(), and Regional_CFG_Callback::Edge_Select().
| BOOL VT_Enable_DAG_BR = FALSE |
Definition at line 213 of file ipfec_options.cxx.
Referenced by draw_bb_dependence_graph(), draw_regional_dependence_graph(), and DAG_OPS_INFO::Insert_op_info().
| BOOL VT_Enable_Global_CFG = FALSE |
| BOOL VT_Enable_Partition_Graph = FALSE |
Definition at line 211 of file ipfec_options.cxx.
Referenced by PARTITION_GRAPH::PARTITION_GRAPH(), and PRDB_GEN::PRDB_GEN().
| BOOL VT_Enable_Region_Tree = FALSE |
Definition at line 208 of file ipfec_options.cxx.
| BOOL VT_Enable_Regional_CFG = FALSE |
| BOOL VT_Enable_Regional_DAG = FALSE |
Definition at line 210 of file ipfec_options.cxx.
1.5.6