Public Member Functions |
| | FEEDBACK (WN *wn, MEM_POOL *m, INT32 invoke_size=1, INT32 branch_size=1, INT32 loop_size=1, INT32 circuit_size=1, INT32 call_size=1, INT32 switch_size=1, WN_MAP_TAB *maptab=Current_Map_Tab) |
| void | Reset_Root_WN (WN *root_wn) |
| bool | Same_in_out (const WN *wn) |
| void | FB_set_in_out_same_node (WN *wn) |
| void | FB_set_in_out_same (WN *wn) |
| void | Print (FILE *fp, const WN *wn) const |
| void | Print_with_wn (FILE *fp, WN *wn) const |
| const FB_Info_Invoke & | Query_invoke (const WN *wn) const |
| const FB_Info_Branch & | Query_branch (const WN *wn) const |
| const FB_Info_Loop & | Query_loop (const WN *wn) const |
| const FB_Info_Circuit & | Query_circuit (const WN *wn) const |
| const FB_Info_Call & | Query_call (const WN *wn) const |
| const FB_Info_Switch & | Query_switch (const WN *wn) const |
| FB_FREQ | Query (const WN *wn, const FB_EDGE_TYPE type) const |
| FB_FREQ | Query_prob (const WN *wn, const FB_EDGE_TYPE type) const |
| FB_FREQ | Query_total_out (const WN *wn) const |
| void | Annot_invoke (WN *wn, const FB_Info_Invoke &fb_info) |
| void | Annot_branch (WN *wn, const FB_Info_Branch &fb_info) |
| void | Annot_loop (WN *wn, const FB_Info_Loop &fb_info) |
| void | Annot_circuit (WN *wn, const FB_Info_Circuit &fb_info) |
| void | Annot_call (WN *wn, const FB_Info_Call &fb_info) |
| void | Annot_switch (WN *wn, const FB_Info_Switch &fb_info) |
| void | Annot (WN *wn, const FB_EDGE_TYPE type, FB_FREQ freq) |
| void | Delete (WN *wn) |
| FB_VERIFY_STATUS | Verify (const char *caller=NULL, bool abort_if_error=TRUE) const |
| FB_VERIFY_STATUS | Verify_and_guess (const char *caller=NULL, bool abort_if_error=TRUE) const |
| void | FB_lower_branch (WN *wn_br, WN *wn_branch) |
| void | FB_lower_circuit (WN *wn_cand, WN *wn_left_br, WN *wn_right_br) |
| void | FB_factor_circuit (WN *wn_left, WN *wn_right, WN *wn_outer, WN *wn_inner) |
| void | FB_lower_loop (WN *wn_loop, WN *wn_top_br, WN *wn_back_br) |
| void | FB_lower_loop_alt (WN *wn_loop, WN *wn_top_br) |
| void | FB_lower_while_do_to_do_while (WN *wn_loop, WN *wn_top_br) |
| void | FB_lower_compgoto (WN *wn_compgoto, WN *wn_xgoto, WN *wn_branch) |
| void | FB_lower_call (WN *wn_call, WN *wn_new_call) |
| void | FB_lower_return_val (WN *wn_return_val, WN *wn_return) |
| void | FB_lower_mstore_to_loop (WN *wn_mstore, WN *wn_loop, INT64 nMoves) |
| void | FB_move_goto_out (WN *wn_branch, WN *wn_inner_br, WN *wn_outer_br) |
| void | FB_convert_goto_to_if (WN *wn_branch, WN *wn_if) |
| void | FB_convert_goto_to_loop (WN *wn_branch, WN *wn_loop) |
| void | FB_simplify_branch_to_goto (WN *wn_branch) |
| void | FB_set_zero_node (WN *wn) |
| void | FB_set_zero (WN *wn) |
| void | FB_set_unknown_node (WN *wn) |
| void | FB_set_unknown (WN *wn) |
| void | FB_scale_node (WN *wn, FB_FREQ freq_scale) |
| void | FB_scale (WN *wn, FB_FREQ freq_scale) |
| void | FB_duplicate_node (WN *wn_origl, WN *wn_clone) |
| void | FB_duplicate (WN *wn_origl, WN *wn_clone) |
| void | FB_recombine_node (WN *wn_origl, WN *wn_clone) |
| void | FB_recombine (WN *wn_origl, WN *wn_clone) |
| void | FB_clone_node (WN *wn_origl, WN *wn_clone, FB_FREQ freq_scale) |
| void | FB_clone (WN *wn_origl, WN *wn_clone, FB_FREQ freq_scale) |
| void | FB_clone_loop_test (WN *wn_origl, WN *wn_clone, WN *wn_loop) |
| void | Display_FB_CFG_From_Whirl (const char *caller=NULL) |
Private Member Functions |
| INT32 | Get_index_invoke (const WN *wn) const |
| INT32 | Get_index_branch (const WN *wn) const |
| INT32 | Get_index_loop (const WN *wn) const |
| INT32 | Get_index_circuit (const WN *wn) const |
| INT32 | Get_index_call (const WN *wn) const |
| INT32 | Get_index_switch (const WN *wn) const |
| INT32 | Add_index_invoke (WN *wn) |
| INT32 | Add_index_branch (WN *wn) |
| INT32 | Add_index_loop (WN *wn) |
| INT32 | Add_index_circuit (WN *wn) |
| INT32 | Add_index_call (WN *wn) |
| INT32 | Add_index_switch (WN *wn) |
| void | FB_clone_test (WN *wn_origl, WN *wn_clone, FB_FREQ freq_origl_taken, FB_FREQ freq_origl_not, FB_FREQ freq_clone_taken, FB_FREQ freq_clone_not) |
Private Attributes |
| MEM_POOL * | _m |
| WN_MAP_TAB * | _maptab |
| WN * | _root_wn |
| bool | _trace |
| bool | _trace_draw |
vector< FB_Info_Invoke,
mempool_allocator
< FB_Info_Invoke > > | _invokes |
vector< FB_Info_Branch,
mempool_allocator
< FB_Info_Branch > > | _branches |
vector< FB_Info_Loop,
mempool_allocator
< FB_Info_Loop > > | _loops |
vector< FB_Info_Circuit,
mempool_allocator
< FB_Info_Circuit > > | _circuits |
vector< FB_Info_Call,
mempool_allocator
< FB_Info_Call > > | _calls |
vector< FB_Info_Switch,
mempool_allocator
< FB_Info_Switch > > | _switches |
Friends |
| void | FB_IPA_Clone_node (FEEDBACK *feedback_origl, FEEDBACK *feedback_clone, WN *wn_origl, WN *wn_clone, FB_FREQ freq_scale) |
| void | FB_IPA_Clone (FEEDBACK *feedback_origl, FEEDBACK *feedback_clone, WN *wn_origl, WN *wn_clone, FB_FREQ freq_scale) |
| void | FB_IPA_Clone (FEEDBACK *feedback_origl, FEEDBACK *feedback_clone, WN *wn_origl, WN *wn_clone, float scale) |
| void | FB_IPA_Inline (FEEDBACK *feedback_origl, FEEDBACK *feedback_clone, WN *wn_origl, WN *wn_clone, FB_FREQ freq_scale) |
| void | FB_Transfer_node (FEEDBACK *feedback_origl, FEEDBACK *feedback_new, WN *wn) |
| void | FB_Transfer (FEEDBACK *feedback_origl, FEEDBACK *feedback_new, WN *wn) |