#include <list>#include "bb.h"#include "findloops.h"


Go to the source code of this file.
| #define HB_LOOP_FLAG 0x0001 |
| #define HB_SEEN_FLAG 0x0004 |
| typedef std::list< BB * > HB_bb_list |
| BB* Force_If_Convert | ( | LOOP_DESCR * | loop, | |
| BOOL | allow_multi_bb | |||
| ) |
Definition at line 2258 of file hb_if_convert.cxx.
References BB_id, BB_MAP_Create, BB_MAP_Delete(), BOOL, Calculate_Control_Dependences(), CG_local_skip_after, CG_local_skip_before, CG_local_skip_equal, CG_skip_local_hbf, Check_BB_For_HB_Suitability(), Check_for_Cycles(), Check_HB_For_PQS_Suitability(), DevWarn, Eager_Level, EAGER_MEMORY, FALSE, Get_Trace(), HB_Blocks(), HB_Blocks_Set(), HB_CAND_TREE_Alloc(), HB_CAND_TREE_Candidate_Set(), HB_Entry(), HB_Entry_Set(), HB_formation, HB_Safe_For_If_Conversion(), HB_Trace(), HB_TRACE_CONVERT, HB_Trace_If_Convert_Blocks(), IGLS_Enable_HB_Scheduling, Insert_Predicates(), LOOP_DESCR_Add_BB(), LOOP_DESCR_bbset, LOOP_DESCR_Delete_BB(), LOOP_DESCR_loophead, LOOP_DESCR_Next_Enclosing_Loop(), MEM_local_pool, MEM_POOL_Pop, MEM_POOL_Push, NULL, Order_And_Classify_Blocks(), PU_BB_Count, Remove_Branches(), skip, TKIND_IR, TP_HBF, Trace_IR(), TRUE, and visited.
Referenced by CG_LOOP_Optimize().
Definition at line 250 of file hb.cxx.
References BB_id, HB::block_list, DevWarn, and i.
Referenced by IGLS_Schedule_Region().
Definition at line 371 of file hb.h.
References HB::blocks, and HB_Blocks().
Referenced by HB_Add_BBs_And_Map(), and Make_New_Region().
Definition at line 124 of file hb.cxx.
References BB_MAP_Set(), HB_Add_BB_SET(), and MEM_pu_pool.
Referenced by Update_Tree().
Definition at line 349 of file hb.h.
References HB::blocks, HB_Blocks(), and MEM_pu_pool.
Referenced by add_block_walk(), and replace_block_walk().
Definition at line 359 of file hb.h.
References BB_MAP_Set(), HB::blocks, HB_Blocks(), and MEM_pu_pool.
Definition at line 110 of file hb.cxx.
References CXX_NEW, HB_Blocks_Set(), HB_Entry_Set(), HB_Flags_Clear(), NULL, and PU_BB_Count.
Referenced by Make_New_Region().
| BB_SET* HB_Blocks | ( | HB * | hb | ) | [inline] |
Definition at line 319 of file hb.h.
References HB::blocks.
Referenced by add_block_walk(), Attempt_Merge(), Calculate_Control_Dependences(), dump_control_dependencies(), Force_If_Convert(), Form_General_Region(), Form_Hyperblocks(), HB_Add_BB_SET(), HB_Add_Block(), HB_Add_Block_And_Map(), HB_Block_Select(), HB_CFLOW_Remove_Block(), HB_CFLOW_Replace_Block(), HB_Contains_Block(), HB_Form_HB_List(), HB_Intersect_BB_SET(), HB_Map_BBs(), HB_Predecessor_Count(), HB_Remove_Block(), HB_Remove_Block_And_Map(), HB_Remove_Deleted_Blocks(), HB_Remove_Map(), HB_Safe_For_If_Conversion(), HB_Tail_Duplicate(), HB_Trace_If_Convert_Blocks(), HB_Trace_Print_Cand_Tree(), Insert_Predicates(), Order_And_Classify_Blocks(), Remove_Branches(), replace_block_walk(), Select_Blocks(), Update_Tree(), and verify_cand_tree().
Definition at line 339 of file hb.h.
References HB::blocks, and MEM_pu_pool.
Referenced by HB_Block_Select(), and HB_Copy_BBs_And_Map().
| HB_bb_list* HB_Blocks_List | ( | HB * | hb | ) | [inline] |
Definition at line 329 of file hb.h.
References HB::blocks.
Referenced by Force_If_Convert(), HB_Alloc(), and HB_Remove_Deleted_Blocks().
Definition at line 422 of file hb.h.
References HB_Blocks().
Referenced by Check_for_Cycles(), Check_Tail_Duplication(), Classify_BB(), Enumerate_Paths(), Fixup_Arcs(), HB_Block_Select(), HB_CFLOW_Replace_Block(), HB_Form_HB_List(), HB_Predecessor_Count(), HB_Tail_Duplicate(), and Tail_Duplicate().
Definition at line 258 of file hb.h.
References HB::entry.
Referenced by Attempt_Merge(), Calculate_Control_Dependences(), Calculate_Path_Data(), Check_for_Cycles(), Check_Tail_Duplication(), Classify_BB(), Enumerate_Paths(), Fixup_Arcs(), Force_If_Convert(), Form_Hyperblocks(), HB_Block_Select(), HB_CFLOW_Remove_Block(), HB_CFLOW_Replace_Block(), HB_Form_HB_List(), HB_Identify_Hammock_Candidates(), HB_Predecessor_Count(), HB_Safe_For_If_Conversion(), HB_Tail_Duplicate(), HB_Trace_If_Convert_Blocks(), Insert_Predicates(), Order_And_Classify_Blocks(), and replace_block_walk().
Definition at line 268 of file hb.h.
References HB::entry.
Referenced by Force_If_Convert(), HB_Alloc(), HB_CFLOW_Remove_Block(), HB_CFLOW_Replace_Block(), Make_New_Region(), and replace_block_walk().
Definition at line 279 of file hb.h.
References HB::exit.
Referenced by Attempt_Merge(), Form_General_Region(), HB_Block_Select(), HB_Identify_Hammock_Candidates(), HB_Trace_If_Convert_Blocks(), and Merge_Blocks().
Definition at line 289 of file hb.h.
References HB::exit.
Referenced by Make_New_Region(), and Merge_Blocks().
Definition at line 299 of file hb.h.
References HB::fall_thru_exit.
Referenced by Attempt_Merge(), Form_General_Region(), HB_Identify_Hammock_Candidates(), and HB_Trace_If_Convert_Blocks().
Definition at line 309 of file hb.h.
References HB::fall_thru_exit.
Referenced by Make_New_Region().
Definition at line 238 of file hb.h.
References HB::flags.
Referenced by HB_Block_Select(), and HB_Form_HB_List().
Definition at line 584 of file hb.cxx.
References Alias_Manager, BB_MAP_Create, BB_MAP_Delete(), BOOL, Calculate_Dominators(), Clear_Visited_Bits(), Convert_Candidate_Leaves(), draw_flow_graph(), duplicate, FALSE, Finalize_Memory(), Form_Hyperblocks(), fprintf(), Free_Dominators_Memory(), Get_Trace(), GRA_LIVE_Recalc_Liveness(), HB_CAND_TREE_Check_Flag(), HB_complex_non_loop, HB_did_tail_duplication, HB_Form_HB_List(), HB_formation, HB_Identify_Candidates_Init(), HB_Identify_General_Candidates(), HB_Identify_Hammock_Candidates(), HB_require_alias, HB_simple_ifc, HB_simple_ifc_set, HB_TFile, HB_Trace(), HB_TRACE_BEFORE, HB_Trace_Candidates(), HB_TRACE_DRAWFLOW1, HB_TRACE_DRAWFLOW2, HB_TRACE_DRAWFLOW3, HB_Trace_HB_List(), HB_TRACE_ID, HB_TRACE_SELECT, HCT_FULLY_CONVERTED, Initialize_Memory(), MEM_local_pool, NULL, PU_BB_Count, REGION_First_BB, Set_Error_Phase(), Setup_HB_bb_map(), Start_Timer(), Stop_Timer(), T_HBF_CU, TKIND_IR, TP_HBF, Trace_IR(), and TRUE.
Referenced by CG_Generate_Code().
Definition at line 328 of file hb.cxx.
References atof(), BB_MAP_Create, CGTARG_Can_Predicate(), HB_formation, HB_list, HB_min_priority, HB_minimum_priority, and HB_Trace_Init().
Referenced by CG_PU_Initialize().
Definition at line 78 of file hb.cxx.
References BB_MAP32_Get(), BB_MAP32_Set(), BBLIST_item, bl, count, FOR_ALL_BB_PREDS, HB_Blocks(), HB_Contains_Block(), HB_Entry(), and INT.
Referenced by Order_And_Classify_Blocks().
Definition at line 391 of file hb.h.
References HB::blocks, and HB_Blocks().
Referenced by HB_Form_HB_List(), Make_New_Region(), and replace_block_walk().
Definition at line 401 of file hb.h.
References HB::blocks.
Referenced by HB_Remove_BBs_From_Hyperblocks().
Definition at line 294 of file hb.cxx.
References BB_next, HB_Blocks(), HB_Blocks_Set(), HB_list, MEM_local_pool, MEM_POOL_Pop, MEM_POOL_Push, PU_BB_Count, and REGION_First_BB.
Referenced by IGLS_Schedule_Region().
Definition at line 71 of file hb.cxx.
Referenced by Find_General_Region_Entry_Candidates(), Form_General_Region(), HB_CFLOW_Can_Merge_BBs(), HB_CFLOW_Remove_Block(), and HB_CFLOW_Replace_Block().
Definition at line 70 of file hb.cxx.
Referenced by Delete_HB_From_List(), HB_Form_HB_List(), HB_Init(), HB_Remove_Deleted_Blocks(), HB_Trace_HB_List(), IGLS_Schedule_Region(), and Setup_HB_bb_map().
| float HB_minimum_priority |
Definition at line 72 of file hb.cxx.
Referenced by Find_General_Region_Entry_Candidates(), HB_Init(), and Select_Blocks().
Definition at line 68 of file hb.cxx.
Referenced by Attempt_Merge(), Find_Interior_Blocks(), HB_Identify_Candidates_Init(), Make_New_Region(), and Verify_HB().
1.5.6