#include "bb_set.h"


Go to the source code of this file.
Functions/Subroutines | |
| void | FREQ_Compute_BB_Frequencies (void) |
| void | FREQ_Print_BB_Note (BB *bb, FILE *file) |
| void | FREQ_Region_Initialize (void) |
| BOOL | FREQ_Frequencies_Computed (void) |
| BOOL | WN_Is_Pointer (WN *wn) |
| BOOL | FREQ_Match (float f1, float f2) |
| BOOL | FREQ_Check_Consistency (const char *caller) |
| BB_SET * | FREQ_Find_Never_BBs (MEM_POOL *pool) |
| void | FREQ_Incorporate_Feedback (const WN *entry) |
| void | FREQ_View_CFG (const char *status) |
| BOOL | FREQ_Verify (const char *caller) |
| BOOL FREQ_Check_Consistency | ( | const char * | caller | ) |
Definition at line 2622 of file freq.cxx.
References BB_freq, BB_id, BB_next, BOOL, DevWarn, FALSE, Freq_sum_ok(), INT, NULL, Prob_sum_ok(), REGION_First_BB, and TRUE.
Referenced by EDGE_PROFILE::CG_Instrument(), REGION_TREE::Decomposition(), and Finalize_Freq_Edges().
Definition at line 2823 of file freq.cxx.
References BB_freq, BB_freq_fb_based, BB_next, CFLOW_Trace_Freq, Compute_Branch_Probabilities(), Compute_Frequencies(), Cur_PU_Name, DBar, Finalize_Compute_BB_Frequencies(), fprintf(), FREQ_enable, FREQ_View_CFG(), FREQ_view_cfg, Initialize_Compute_BB_Frequencies(), NULL, Print_BB(), REGION_First_BB, TFile, and Trace_Frequencies().
Referenced by CG_Edge_Profile_Annotation(), and CG_Generate_Code().
| BB_SET* FREQ_Find_Never_BBs | ( | MEM_POOL * | pool | ) |
Definition at line 2438 of file freq.cxx.
References alloca, BB_dom_set, BB_MAP32_Get(), BB_MAP_Delete(), BB_next, BB_pdom_set, BB_preds, BB_succs, BB_Topological_Map(), BBLIST_item, BBLIST_next, BOOL, bzero(), Calculate_Dominators(), DevAssert, FALSE, Find_Freq_Hint_Pragmas(), FOR_ALL_BB_PREDS, FOR_ALL_BB_SUCCS, Free_Dominators_Memory(), i, INT32, MAX, never_bbs, NULL, PU_BB_Count, REGION_First_BB, and TRUE.
Referenced by Freq_Order_Blocks().
Definition at line 121 of file freq.h.
References BOOL, and FREQ_freqs_computed.
Referenced by CG_LOOP::Attach_Prolog_And_Epilog(), BBlist_Add_BB_with_Prob(), CFLOW_Optimize(), CG_LOOP_Append_BB_To_Prolog(), CG_LOOP_Gen_And_Prepend_To_Prolog(), Change_Succ(), CG_LOOP::Determine_Unroll_Factor(), GRA_Add_Call_Spill_Block(), insert_fall_thru(), KEY_SCH::Loop_Peeling(), KEY_SCH::Peeling_For_Unknown_Trip(), Print_BB_Header(), Unroll_Dowhile_Loop(), Unroll_Make_Remainder_Loop(), unroll_multi_bb(), unroll_multi_make_remainder_loop(), and Unroll_Replicate_Body().
Definition at line 3155 of file freq.cxx.
References alloca, ANNOT_CALLINFO, ANNOT_callinfo, ANNOT_ENTRYINFO, ANNOT_entryinfo, ANNOT_Get(), BB_annotations, BB_branch_wn, BB_call, BB_Find_Succ_Edge(), BB_freq, BB_freq_fb_based, BB_Has_One_Succ(), BB_next, BB_preds, BB_PROP_STATUS_Init(), BB_succ_edges, BBlist_Len(), CALLINFO_call_wn, Compute_Branch_Probabilities(), Compute_Frequencies(), Cur_PU_Feedback, EDGE_prob, Entry_BB_Head, ENTRYINFO_entry_wn, FB_FREQ_Value(), FB_FREQ_ZERO(), Finalize_Compute_BB_Frequencies(), FmtAssert, FREQ_View_CFG(), FREQ_view_cfg, Get_Label_BB(), i, Initialize_Compute_BB_Frequencies(), INT, FB_FREQ::Known(), Normalize_BB_Frequencies(), NULL, OPR_FALSEBR, OPR_GOTO, OPR_TRUEBR, OPR_XGOTO, Propagate_Feedback(), PS_FEEDBACK, PS_UNKNOWN, PU_BB_Count, FEEDBACK::Query(), REGION_First_BB, Set_BB_freq_fb_based, Set_EDGE_prob_fb_based, FB_FREQ::Value(), wn, WN_first(), WN_kid1(), WN_label_number(), WN_next(), WN_num_entries(), and WN_operator().
Referenced by CG_Generate_Code().
| BOOL FREQ_Match | ( | float | f1, | |
| float | f2 | |||
| ) | [inline] |
Definition at line 129 of file freq.h.
References is::ratio, and TRUE.
Referenced by CG_LOOP::Attach_Prolog_And_Epilog(), Change_Succ(), Change_Succ_Prob(), Collapse_Empty_Goto(), Collapse_Same_Logif(), Convert_Goto_To_If(), Convert_Goto_To_Return(), Freq_OK(), Freq_sum_ok(), FREQ_Verify(), IF_CONVERTOR::Prob_Of_Area(), Prob_OK(), Prob_sum_ok(), Unroll_Dowhile_Loop(), and unroll_multi_bb().
Definition at line 2668 of file freq.cxx.
References ASM_CMNT_LINE, Asm_File, BB_freq, BB_freq_fb_based, BB_id, BB_succs, BBLIST_item, BBlist_Len(), BBLIST_prob, CG_PU_Has_Feedback, FOR_ALL_BBLIST_ITEMS, fprintf(), FREQ_freqs_computed, INT, and prefix.
Referenced by EMT_Assemble_BB(), Print_BB(), Print_BB_No_Srclines(), and Trace_BB().
Definition at line 2713 of file freq.cxx.
References atof(), BOOL, EH_Freq, FALSE, FREQ_eh_freq, FREQ_freqs_computed, FREQ_frequent_never_ratio, Frequent_Never_Ratio, and TRUE.
Referenced by CG_Region_Initialize().
| BOOL FREQ_Verify | ( | const char * | caller | ) |
Definition at line 3413 of file freq.cxx.
References BB_freq, BB_id, BB_next, BB_preds, BB_succs, BBLIST_item, BBLIST_prob, BOOL, CG_PU_Has_Feedback, CXX_NEW_ARRAY, DBar, FALSE, FOR_ALL_BB_SUCCS, fprintf(), FREQ_Match(), MEM_local_region_pool, NULL, PU_BB_Count, REGION_First_BB, s, TFile, and TRUE.
Referenced by CG_Generate_Code().
| void FREQ_View_CFG | ( | const char * | status | ) |
Definition at line 2936 of file freq.cxx.
References BB_freq_fb_based, BB_next, BBLIST_item, BBLIST_prob_fb_based, NODE_TYPE::Color(), EDGE_TYPE::Color(), Cur_PU_Name, EDGE_prob_fb_based, EDGE_succ, DaVinci::enabled(), DaVinci::Event_Loop(), FALSE, FOR_ALL_BB_SUCCS, FOR_ALL_SUCC_EDGES, Freq_sum_ok(), DaVinci::Graph_Begin(), DaVinci::Graph_End(), DaVinci::Node_Begin(), DaVinci::Node_End(), Node_label(), NULL, DaVinci::Out_Edge(), Prob_sum_ok(), REGION_First_BB, DaVinci::Show_Status(), DaVinci::Title(), TRUE, and using_EDGEs.
Referenced by FREQ_Compute_BB_Frequencies(), and FREQ_Incorporate_Feedback().
Definition at line 641 of file freq.cxx.
References CLASS_PREG, FALSE, KIND_POINTER, OPR_ARRAY, OPR_ILOAD, OPR_ILOADX, OPR_LDA, OPR_LDID, TRUE, TY_kind, WN_class, WN_operator(), and WN_ty().
Referenced by Opcode_Heuristic(), and Pointer_Heuristic().
1.5.6