#include "defs.h"#include "tracing.h"#include "errors.h"#include "mempool.h"#include "cxx_memory.h"#include "bitset.h"#include "cgir.h"#include "data_layout.h"#include "calls.h"#include "tn_set.h"#include "tn_list.h"#include "gtn_universe.h"#include "gtn_set.h"#include "gtn_tn_set.h"#include "bb_list.h"#include "bb_set.h"#include "register.h"#include "bbregs.h"#include "gra_live.h"#include "region_util.h"#include "cg_region.h"#include "cg_flags.h"#include "tn_map.h"#include "cg.h"#include "cg_internal.h"#include "whirl2ops.h"#include "reg_live.h"#include "cg_loop.h"#include "pqs_cg.h"#include "cgtarget.h"#include "eh_region.h"

Go to the source code of this file.
| #define BB_visited_mark | ( | bb | ) | (bb_visited_mark[BB_id(bb)]) |
Definition at line 134 of file gra_live.cxx.
Referenced by BB_Forward_Depth_First(), and BB_Forward_Depth_First_Visit().
| #define TN_BB_LIST_MAP_tn_bbs | ( | x | ) | ((x)->tn_bbs) |
Definition at line 154 of file gra_live.cxx.
Referenced by TN_BB_LIST_MAP_Add(), and TN_BB_LIST_MAP_TN_To_BB_LIST().
| #define TN_BB_LIST_MAP_tn_bbs_size | ( | x | ) | ((x)->tn_bbs_size) |
Definition at line 153 of file gra_live.cxx.
Referenced by TN_BB_LIST_MAP_Add(), and TN_BB_LIST_MAP_TN_To_BB_LIST().
| #define TN_BB_LIST_MAP_tns_with_bbs | ( | x | ) | ((x)->tns_with_bbs) |
Definition at line 155 of file gra_live.cxx.
Referenced by TN_BB_LIST_MAP_Add(), and TN_BB_LIST_MAP_Process_Pairs().
| #define TN_is_local_reg | ( | r | ) | (!(TN_is_dedicated(r) | TN_is_global_reg(r))) |
Definition at line 795 of file gra_live.cxx.
Referenced by Analyze_Reordering(), Analyze_Spilling_Live_Range(), Assign_Registers_For_OP(), Consistency_Check(), Create_LR_For_TN(), Detect_GTNs(), GRA_LIVE_Detect_GTNs_In_Set(), Init_Avail_Set(), Init_Live_LRs_Vector(), LR_For_TN(), LRA_Estimate_Fat_Points(), Mark_Use(), Op_Uses_TN(), Print_Live_Range(), Replace_TN_References(), Setup_Live_Ranges(), Spill_Live_Range(), and Update_Fat_Points().
| static void BB_Forward_Depth_First | ( | BB_LIST * | start_bb_list, | |
| BB_SET * | border_bb_set, | |||
| void(*)(BB *bb) | pre_visit_func, | |||
| void(*)(BB *bb) | post_visit_func | |||
| ) | [static] |
Definition at line 1560 of file gra_live.cxx.
References BB_Forward_Depth_First_Visit(), BB_visited_mark, and visited_mark.
Referenced by GRA_LIVE_Region_Compute_Global_Live_Info().
| static void BB_Forward_Depth_First_Visit | ( | BB * | bb, | |
| BB_SET * | border_bb_set, | |||
| void(*)(BB *bb) | pre_visit_func, | |||
| void(*)(BB *bb) | post_visit_func | |||
| ) | [static] |
Definition at line 1492 of file gra_live.cxx.
References BB_visited_mark, BBLIST_item, FOR_ALL_BB_SUCCS, and visited_mark.
Referenced by BB_Forward_Depth_First().
Definition at line 395 of file gra_live.cxx.
References BB_live_def, FmtAssert, TN_is_global_reg, and TN_number.
Referenced by Distribute_TN_BB_LIST_MAPs().
Definition at line 408 of file gra_live.cxx.
References BB_live_use, FmtAssert, TN_is_global_reg, and TN_number.
Referenced by Distribute_TN_BB_LIST_MAPs().
| static void BB_REGION_Forward_Depth_First_Visit | ( | const BB_REGION & | region, | |
| BB_VISITED_COUNTER * | counter, | |||
| void(*)(BB *bb) | pre_visit_func, | |||
| void(*)(BB *bb) | post_visit_func | |||
| ) | [static] |
Definition at line 1730 of file gra_live.cxx.
References BB_REGION_Forward_Depth_First_Visit_BB(), BB_REGION::entries, BB_REGION::exits, i, BB_VISITED_COUNTER::Init(), INT, BB_VISITED_COUNTER::Set_visited(), and BB_VISITED_COUNTER::Visited().
Referenced by BB_REGION_Recompute_Global_Live_Info().
| static void BB_REGION_Forward_Depth_First_Visit_BB | ( | BB * | bb, | |
| BB_VISITED_COUNTER * | counter, | |||
| void(*)(BB *bb) | pre_visit_func, | |||
| void(*)(BB *bb) | post_visit_func | |||
| ) | [static] |
Definition at line 1695 of file gra_live.cxx.
References BBLIST_item, FOR_ALL_BB_SUCCS, BB_VISITED_COUNTER::Set_visited(), and BB_VISITED_COUNTER::Visited().
Referenced by BB_REGION_Forward_Depth_First_Visit(), and Rename_TNs_For_BB().
Definition at line 1759 of file gra_live.cxx.
References BB_REGION_Forward_Depth_First_Visit(), change, Defreach_Propagate(), Do_Nothing(), FALSE, Get_Trace(), GRA_LIVE_Compute_Local_Info(), GRA_LIVE_fdump_liveness(), Live_Init(), Live_Propagate(), MEM_POOL_Pop, MEM_POOL_Push, TFile, TP_FIND_GLOB, Update_Local_Liveness_Info(), BB_REGION::Verify(), and x1.
Referenced by CG_LOOP::Recompute_Liveness().
Definition at line 355 of file gra_live.cxx.
References MEM_POOL_Push, TN_BB_LIST_MAP_Create(), and TRUE.
Referenced by GRA_LIVE_Init_BB_End().
Definition at line 2425 of file gra_live.cxx.
References BB_defreach_in, BB_defreach_out, GRA_LIVE_Remove_Defreach_In_GTN(), and GRA_LIVE_Remove_Defreach_Out_GTN().
Referenced by Rename_TNs_For_BB().
Definition at line 588 of file gra_live.cxx.
References Callee_Saved_Regs_Count, CALLEE_tn, Find_Special_Return_Address_Symbol(), Force_Live_Add(), force_live_gtns, i, INT, NULL, RA_TN, Return_Address_Reg, SAVE_tn, and TN_is_save_reg.
Referenced by GRA_LIVE_Init().
Definition at line 376 of file gra_live.cxx.
References FALSE, MEM_POOL_Pop, and NULL.
Referenced by Distribute_TN_BB_LIST_MAPs().
Definition at line 1459 of file gra_live.cxx.
References BB_defreach_in, BB_defreach_out, BBLIST_item, change, FOR_ALL_BB_PREDS, and TRUE.
Referenced by BB_REGION_Recompute_Global_Live_Info(), and GRA_LIVE_Region_Compute_Global_Live_Info().
Definition at line 809 of file gra_live.cxx.
References ANNOT_Get(), ANNOT_LOOPINFO, ANNOT_loopinfo, BB_annotations, FOR_ALL_BB_OPs_FWD, GTN_UNIVERSE_Add_TN(), i, info, INT, LOOPINFO_trip_count_tn, NULL, OP_opnd, OP_opnds, OP_result, OP_results, TN_is_local_reg, TN_is_register, TN_MAP_Create(), TN_MAP_Delete(), TN_MAP_Get(), and TN_MAP_Set().
Referenced by Update_Local_Liveness_Info().
| static void Detect_Multiply_Defined_GTNs | ( | GTN_SET * | multiple_defined_set, | |
| MEM_POOL * | pool | |||
| ) | [static] |
Definition at line 870 of file gra_live.cxx.
References BB_next, FOR_ALL_BB_OPs_FWD, i, INT, NULL, OP_result, OP_results, REGION_First_BB, TN_is_global_reg, TN_MAP_Create(), TN_MAP_Delete(), TN_MAP_Get(), and TN_MAP_Set().
Referenced by GRA_LIVE_Rename_TNs().
Definition at line 438 of file gra_live.cxx.
References BB_Live_Def_Union1(), BB_Live_Use_Union1(), Deallocate_TN_BB_LIST_MAPs(), and TN_BB_LIST_MAP_Process_Pairs().
Referenced by Update_Local_Liveness_Info().
Definition at line 1532 of file gra_live.cxx.
Referenced by BB_REGION_Recompute_Global_Live_Info(), GRA_LIVE_Region_Compute_Global_Live_Info(), and Rename_TNs_For_BB().
Definition at line 555 of file gra_live.cxx.
References force_live_gtns, and GTN_UNIVERSE_Add_TN().
Referenced by Compute_Force_TNs().
Definition at line 570 of file gra_live.cxx.
References force_live_gtns.
Referenced by Rename_TNs_For_BB().
| static PQS_TN_SET* get_usedef_set | ( | TN_MAP | map, | |
| TN * | tn | |||
| ) | [static] |
Definition at line 2111 of file gra_live.cxx.
References CXX_NEW, PQS_mem_pool, TN_MAP_Get(), and TN_MAP_Set().
Referenced by GRA_LIVE_Compute_Local_Info().
Definition at line 1856 of file gra_live.cxx.
References BB_defreach_in, Is_True, and TN_is_global_reg.
Referenced by SCHED_DFLOW_MGR::Add_Defs_Live_In(), mark_tn_live_into_BB(), Update_GRA_Live_Sets(), and Update_Liveness().
Definition at line 1872 of file gra_live.cxx.
References BB_defreach_out, Is_True, and TN_is_global_reg.
Referenced by SCHED_DFLOW_MGR::Add_Defs_Live_Out(), mark_tn_live_into_BB(), Update_GRA_Live_Sets(), and Update_Liveness().
Definition at line 1903 of file gra_live.cxx.
References BB_live_def, Is_True, and TN_is_global_reg.
Referenced by mark_tn_live_into_BB(), and Update_GRA_Live_Sets().
Definition at line 1829 of file gra_live.cxx.
References BB_live_in, Is_True, and TN_is_global_reg.
Referenced by SCHED_DFLOW_MGR::Add_Defs_Live_In(), GRA_BB::Add_Live_In_LRANGE(), mark_tn_live_into_BB(), Update_GRA_Live_Sets(), and Update_Liveness().
Definition at line 1843 of file gra_live.cxx.
References BB_live_out.
Referenced by SCHED_DFLOW_MGR::Add_Defs_Live_Out(), GRA_BB::Add_Live_Out_LRANGE(), mark_tn_live_into_BB(), Update_GRA_Live_Sets(), and Update_Liveness().
Definition at line 1888 of file gra_live.cxx.
Referenced by Convert_Goto_To_If(), mark_tn_live_into_BB(), Update_GRA_Live_Sets(), and Update_Liveness().
Definition at line 1964 of file gra_live.cxx.
Referenced by CG_LOOP::Attach_Prolog_And_Epilog(), CG_LOOP_Coalesce_Backedges(), REGIONAL_CFG::Duplicate(), REGION::Edge_Splitting(), Fixup_Arcs(), REGIONAL_CFG::Fixup_Arcs(), Generate_Hot_Cold_Jump(), Insert_Goto_BB(), Make_Fall_Thru_Goto(), IF_CONVERTOR::Merge_Area(), and Perform_Post_GCM_Steps().
Definition at line 2132 of file gra_live.cxx.
Referenced by append_to_prolog(), BB_REGION_Recompute_Global_Live_Info(), GRA_Add_Call_Spill_Block(), GRA_LIVE_Compute_Liveness_For_BB(), GRA_LIVE_Init(), Negate_Branch(), prepend_to_epilog(), Split_Entry(), Split_Exit(), and Unroll_Replicate_Body().
| void GRA_LIVE_Detect_GTNs_In_Set | ( | BB_SET * | bbs | ) |
Definition at line 906 of file gra_live.cxx.
References FOR_ALL_BB_OPs_FWD, GTN_UNIVERSE_Add_TN(), i, INT, NULL, OP_opnd, OP_opnds, OP_result, OP_results, TN_is_local_reg, TN_is_register, TN_MAP_Create(), TN_MAP_Delete(), TN_MAP_Get(), and TN_MAP_Set().
Referenced by Remove_Branches().
Definition at line 656 of file gra_live.cxx.
References BB_id, FOR_ALL_BBLIST_ITEMS, fprintf(), GRA_LIVE_Print_Liveness(), REGION_First_BB, Set_Trace_File_internal(), and TFile.
Referenced by BB_REGION_Recompute_Global_Live_Info(), GRA_LIVE_dump_liveness(), and GRA_LIVE_Region_Compute_Global_Live_Info().
Definition at line 529 of file gra_live.cxx.
References FALSE, gra_live_pools_initialized, liveness_pool_initialized, MEM_POOL_Delete(), and MEM_POOL_Pop.
Referenced by GRA_LIVE_Finish_PU(), and GRA_LIVE_Recalc_Liveness().
| void GRA_LIVE_Fini_Loop | ( | ) |
Definition at line 2099 of file gra_live.cxx.
References NULL.
Referenced by CG_LOOP::Recompute_Liveness().
Definition at line 2043 of file gra_live.cxx.
References FALSE, force_live_gtns, GRA_LIVE_Finalize_Memory(), GRA_LIVE_Phase_Invoked, and NULL.
Referenced by CG_Generate_Code().
Definition at line 2059 of file gra_live.cxx.
References FALSE, force_live_gtns, GRA_LIVE_Phase_Invoked, and NULL.
Referenced by CG_Generate_Code(), and GRA_LIVE_Recalc_Liveness().
Definition at line 1980 of file gra_live.cxx.
References BB_next, Compute_Force_TNs(), force_live_gtns, GRA_LIVE_Compute_Local_Info(), GRA_LIVE_Init_Loop(), GRA_LIVE_Initialize_Memory(), GRA_LIVE_Phase_Invoked, GRA_LIVE_Predicate_Aware, GRA_LIVE_Region_Compute_Global_Live_Info(), GRA_LIVE_Region_Start(), GRA_LIVE_Set_Entries_Exits(), NULL, PQSCG_reinit(), REGION_First_BB, and TRUE.
Referenced by CG_Generate_Code(), Global_Insn_Sched_Postproc(), Global_Insn_Sched_Preproc(), GRA_LIVE_Recalc_Liveness(), and Perform_Loop_Invariant_Code_Motion().
Definition at line 737 of file gra_live.cxx.
References ANNOT_Get(), ANNOT_LOOPINFO, ANNOT_loopinfo, BB_annotations, Check_TN_BB_LIST_MAPs_Allocated(), GTN_UNIVERSE_Add_TN(), info, LOOPINFO_trip_count_tn, MEM_POOL_Pop, NULL, tmp_live_def, tmp_live_use, TN_BB_LIST_MAP_Add(), and TN_is_register.
Referenced by GRA_LIVE_Compute_Local_Info().
Definition at line 724 of file gra_live.cxx.
References Last_TN, MEM_POOL_Push, tmp_live_def, and tmp_live_use.
Referenced by GRA_LIVE_Compute_Local_Info().
| void GRA_LIVE_Init_Loop | ( | BB * | pbb, | |
| BB * | bbb, | |||
| BB * | ebb, | |||
| CG_LOOP_BACKPATCH * | pbp, | |||
| CG_LOOP_BACKPATCH * | ebp | |||
| ) |
Definition at line 2081 of file gra_live.cxx.
Referenced by GRA_LIVE_Init(), and CG_LOOP::Recompute_Liveness().
Definition at line 488 of file gra_live.cxx.
References BB_bbregs, BB_live_in, BB_next, gra_live_pools_initialized, liveness_pool_initialized, MEM_POOL_Initialize, MEM_POOL_Push, MEM_pu_pool, NULL, REGION_First_BB, TRUE, and TYPE_MEM_POOL_ALLOC.
Referenced by GRA_LIVE_Init().
Definition at line 1374 of file gra_live.cxx.
References BB_live_def, BB_live_in, BB_live_out, BB_live_use, NULL, and Update_Local_Liveness_Info().
Referenced by GRA_LIVE_Local_Live_Propagate2(), and Live_Propagate().
Definition at line 1402 of file gra_live.cxx.
References BB_live_in, BB_live_out, GRA_LIVE_Local_Live_Propagate(), and Update_Local_Liveness_Info().
Definition at line 956 of file gra_live.cxx.
References BB_next, BB_reg_alloc, BB_rid, Localize_TNs_For_BB(), NULL, REGION_First_BB, RID_level, and RL_CGSCHED.
Referenced by GRA_LIVE_Recalc_Liveness().
Definition at line 1927 of file gra_live.cxx.
Referenced by Append_Succ(), Join_Entry(), and Join_Exit().
Definition at line 631 of file gra_live.cxx.
Referenced by GRA_LIVE_fdump_liveness(), and Print_BB_Header().
Definition at line 2018 of file gra_live.cxx.
References force_live_gtns, GRA_LIVE_Finalize_Memory(), GRA_LIVE_Finish_REGION(), GRA_LIVE_Init(), GRA_LIVE_Localize_TNs(), GTN_UNIVERSE_Pu_Begin(), GTN_UNIVERSE_Pu_End(), and NULL.
Referenced by CG_Generate_Code(), HB_Form_Hyperblocks(), and Perform_Global_Schedule().
Definition at line 1590 of file gra_live.cxx.
Referenced by GRA_Add_Call_Spill_Block(), GRA_LIVE_Compute_Liveness_For_BB(), GRA_LIVE_Init(), Negate_Branch(), Split_Entry(), and Split_Exit().
Definition at line 1664 of file gra_live.cxx.
Referenced by GRA_Add_Call_Spill_Block(), GRA_LIVE_Compute_Liveness_For_BB(), GRA_LIVE_Set_Entries_Exits(), Negate_Branch(), Split_Entry(), and Split_Exit().
Definition at line 1679 of file gra_live.cxx.
Referenced by GRA_Add_Call_Spill_Block(), GRA_LIVE_Compute_Liveness_For_BB(), GRA_LIVE_Set_Entries_Exits(), Negate_Branch(), Split_Entry(), and Split_Exit().
Definition at line 1641 of file gra_live.cxx.
Referenced by GRA_Add_Call_Spill_Block(), GRA_LIVE_Compute_Liveness_For_BB(), GRA_LIVE_Init(), Negate_Branch(), Split_Entry(), and Split_Exit().
Definition at line 1864 of file gra_live.cxx.
References BB_defreach_in, Is_True, and TN_is_global_reg.
Referenced by Clear_Defreach(), and Rename_TNs_For_BB().
Definition at line 1880 of file gra_live.cxx.
References BB_defreach_out, Is_True, and TN_is_global_reg.
Referenced by Clear_Defreach(), Rename_TNs_For_BB(), and Update_GRA_Live_Sets().
Definition at line 1911 of file gra_live.cxx.
References BB_live_def, Is_True, and TN_is_global_reg.
Referenced by Rename_TNs_For_BB(), and Update_GRA_Live_Sets().
Definition at line 1836 of file gra_live.cxx.
References BB_live_in, Is_True, and TN_is_global_reg.
Referenced by GRA_BB::Remove_Live_In_LRANGE(), Update_GRA_Live_Sets(), and Update_Live_In_Sets().
Definition at line 1849 of file gra_live.cxx.
References BB_live_out, Is_True, and TN_is_global_reg.
Referenced by GRA_BB::Remove_Live_Out_LRANGE(), Update_GRA_Live_Sets(), and Update_Live_In_Sets().
Definition at line 1896 of file gra_live.cxx.
References BB_live_use, Is_True, and TN_is_global_reg.
Referenced by Update_GRA_Live_Sets().
Definition at line 2551 of file gra_live.cxx.
References BB_next, BB_reg_alloc, BB_rid, Detect_Multiply_Defined_GTNs(), GTN_UNIVERSE_size, MEM_local_pool, MEM_POOL_Pop, MEM_POOL_Push, NULL, REGION_First_BB, Rename_TNs_For_BB(), RID_level, and RL_CGSCHED.
Referenced by CG_Generate_Code().
Definition at line 1065 of file gra_live.cxx.
References BB_next, BB_preds, BB_succs, CGRIN_entry, CGRIN_exit_i, GRA_LIVE_Region_Entry(), GRA_LIVE_Region_Exit(), i, INT, n, NULL, REGION_First_BB, RID_cginfo, and RID_num_exits.
Referenced by GRA_LIVE_Init().
Definition at line 2363 of file gra_live.cxx.
Referenced by SCHED_DFLOW_MGR::Are_Defs_Live_In(), CG_DEP_Prune_Dependence_Arcs(), EBO_tn_available(), is_xfer_depndnce_reqd(), mark_tn_live_into_BB(), and TN_Reaching_Value_At_Op().
Definition at line 2346 of file gra_live.cxx.
Referenced by CG_DEP_Prune_Dependence_Arcs(), CIO_RWTRAN::CICSE_Transform(), Predicate_Block(), CIO_RWTRAN::Replace_Tn(), Special_Sequence(), TN_live_out_of(), TN_Reaching_Value_At_Op(), and FAVOR_DELAY_HEUR::Upward_Code_Motion_Inc_Live_Range_Greatly().
Definition at line 1199 of file gra_live.cxx.
References ANNOT_CALLINFO, ANNOT_callinfo, ANNOT_Get(), ANNOT_rotating_kernel, ANNOT_ROTATING_KERNEL, BB_annotations, BB_call, BB_defreach_in, BB_defreach_out, BB_exit, BB_handler, BB_Has_Exc_Label(), BB_live_in, BB_live_out, BB_live_use, BB_rotating_kernel, BB_succs, Caller_FP_TN, Caller_Pfs_TN, CALLINFO_call_wn, FALSE, FOR_ALL_BB_OPs_FWD, force_live_gtns, Get_Current_PU, Get_Return_Info(), GP_TN, GTN_UNIVERSE_Add_TN(), i, info, INT, Is_True, MTYPE_TO_PREG_array, No_Simulated, NULL, OP_result, OP_results, OPR_ICALL, Preg_Is_Dedicated, PREG_To_TN(), PU_has_exc_scopes(), Pu_Table, ra_intsave_tn, RETURN_INFO_count(), RETURN_INFO_mtype(), RETURN_INFO_preg(), ROTATING_KERNEL_INFO_copyin, ROTATING_KERNEL_INFO_copyout, ROTATING_KERNEL_INFO_localdef, SP_TN, ST_pu(), ST_pu_type, TN_is_const_reg(), TN_is_global_reg, TY_ret_type, TYPE_ID, WN_operator(), WN_st(), and WN_ty().
Referenced by BB_REGION_Recompute_Global_Live_Info(), and GRA_LIVE_Region_Compute_Global_Live_Info().
Definition at line 1425 of file gra_live.cxx.
References BB_live_in, BB_live_out, BBLIST_item, change, FOR_ALL_BB_SUCCS, GRA_LIVE_Local_Live_Propagate(), and TRUE.
Referenced by BB_REGION_Recompute_Global_Live_Info(), and GRA_LIVE_Region_Compute_Global_Live_Info().
Definition at line 775 of file gra_live.cxx.
References FOR_ALL_BB_OPs_FWD, i, INT, OP_opnd, OP_opnds, OP_result, OP_results, Reset_TN_is_global_reg, TN_is_constant, and TN_is_global_reg.
Referenced by GRA_LIVE_Localize_TNs().
Definition at line 1116 of file gra_live.cxx.
References BB_defreach_in, BB_live_out, CGRIN_entry, CGRIN_exit_i, i, INT, n, NULL, REGION_Get_TN_In_List(), REGION_Get_TN_Out_List(), RID_cginfo, RID_num_exits, and TN_is_dedicated.
Referenced by GRA_LIVE_Region_Compute_Global_Live_Info().
Definition at line 2384 of file gra_live.cxx.
References BB_id, Dup_TN(), fprintf(), Get_Trace(), i, INT, NULL, OP_bb, OP_next, OP_opnd, OP_opnds, OP_result, OP_results, Set_OP_opnd, Set_OP_result, TFile, TN_number, TP_CGPREP, and TP_FIND_GLOB.
Referenced by Rename_TNs_For_BB().
Definition at line 2440 of file gra_live.cxx.
References BB_defreach_in, BB_defreach_out, BB_live_in, BB_live_out, BB_next, BB_REGION_Forward_Depth_First_Visit_BB(), BOOL, Clear_Defreach(), Do_Nothing(), FALSE, FOR_ALL_BB_OPs_FWD, Force_Live_Remove(), GRA_LIVE_Remove_Defreach_In_GTN(), GRA_LIVE_Remove_Defreach_Out_GTN(), GRA_LIVE_Remove_Live_Def_GTN(), i, BB_VISITED_COUNTER::Init(), INT, last_def, MEM_local_pool, MEM_POOL_Pop, NULL, OP_cond_def(), OP_result, OP_results, OP_same_res(), Rename_TN_In_Range(), Reset_TN_is_global_reg, Return_Address_Reg, SAVE_tn, TN_is_const_reg(), TN_is_constant, TN_is_dedicated, TN_is_global_reg, TN_MAP_Create(), TN_MAP_Delete(), TN_MAP_Get(), and TN_MAP_Set().
Referenced by Append_Succ(), CG_LOOP_Optimize(), and GRA_LIVE_Rename_TNs().
| static void TN_BB_LIST_MAP_Add | ( | TN_BB_LIST_MAP * | map, | |
| TN * | tn, | |||
| BB * | bb | |||
| ) | [static] |
Definition at line 254 of file gra_live.cxx.
References INT32, Last_TN, MAX, NULL, TN_BB_LIST_MAP_tn_bbs, TN_BB_LIST_MAP_tn_bbs_size, TN_BB_LIST_MAP_tns_with_bbs, TN_number, TYPE_MEM_POOL_ALLOC_N, and TYPE_MEM_POOL_REALLOC_N.
Referenced by GRA_LIVE_Init_BB_End().
| static TN_BB_LIST_MAP* TN_BB_LIST_MAP_Create | ( | void | ) | [static] |
Definition at line 218 of file gra_live.cxx.
References TYPE_MEM_POOL_ALLOC.
Referenced by Check_TN_BB_LIST_MAPs_Allocated().
| static void TN_BB_LIST_MAP_Process_Pairs | ( | TN_BB_LIST_MAP * | map, | |
| void(*)(BB *, TN *) | union1_fn | |||
| ) | [static] |
Definition at line 305 of file gra_live.cxx.
References NULL, TN_BB_LIST_MAP_TN_To_BB_LIST(), TN_BB_LIST_MAP_tns_with_bbs, and TN_is_global_reg.
Referenced by Distribute_TN_BB_LIST_MAPs().
| static BB_LIST* TN_BB_LIST_MAP_TN_To_BB_LIST | ( | TN_BB_LIST_MAP * | map, | |
| TN * | tn | |||
| ) | [static] |
Definition at line 233 of file gra_live.cxx.
References NULL, TN_BB_LIST_MAP_tn_bbs, TN_BB_LIST_MAP_tn_bbs_size, and TN_number.
Referenced by TN_BB_LIST_MAP_Process_Pairs().
Definition at line 451 of file gra_live.cxx.
References BB_defreach_in, FmtAssert, TN_is_global_reg, and TN_number.
Definition at line 466 of file gra_live.cxx.
References BB_live_out, FmtAssert, TN_is_global_reg, and TN_number.
Definition at line 1002 of file gra_live.cxx.
References BB_bbregs, BB_defreach_in, BB_defreach_out, BB_live_def, BB_live_in, BB_live_out, BB_live_use, Detect_GTNs(), Distribute_TN_BB_LIST_MAPs(), GTN_UNIVERSE_size, INT32, MEM_pu_pool, NULL, size, and TYPE_MEM_POOL_ALLOC.
Referenced by BB_REGION_Recompute_Global_Live_Info(), GRA_LIVE_Local_Live_Propagate(), GRA_LIVE_Local_Live_Propagate2(), and GRA_LIVE_Region_Compute_Global_Live_Info().
UINT32* bb_visited_mark [static] |
Definition at line 132 of file gra_live.cxx.
Referenced by GRA_LIVE_Region_Compute_Global_Live_Info().
Definition at line 2076 of file gra_live.cxx.
Referenced by CFG::Add_one_do_loop_stmt(), CFG::Add_one_do_while_stmt(), CFG::Add_one_while_do_stmt(), CFG::Create_loopbody(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), CFG::Lower_do_loop(), CFG::Lower_do_while(), and CFG::Lower_while_do().
Definition at line 109 of file gra_live.cxx.
Referenced by CFG_NODE_MAP::_bubble_sort(), BB_REGION_Recompute_Global_Live_Info(), bypass_block(), LOCAL_CLSC::Calculate_liveness(), CFLOW_Optimize(), CIO_RWTRAN::CICSE_Transform(), CIO_RWTRAN::CIO_Copy_Remove(), cwh_stab_altres_offset(), Defreach_Propagate(), find_nodes_on_paths(), fold(), fold_unary(), LOCAL_CLSC::Get_lr(), GRA_LIVE_Region_Compute_Global_Live_Info(), FB_CFG::Guess_unknowns(), Has_Cutset(), Intra_PU_Global_Cprop(), iv_ca_delta_add(), Live_Propagate(), longest_simple_path(), PROJECTED_REGION::May_Union(), MEMOP_ANNOT::Meet(), GLOBAL_ARRAY_LIST::Merge(), Merge_Execution_Cost(), Merge_global_sections(), Merge_Section(), Optimize_Placement(), Process_global_call(), Propagate_global_vals(), Propagate_vals_in_unstructured_cflow(), rtx_equiv_p(), Set_Caller_Annot_Messy(), DAG_BUILDER::Set_TN_BB_Bitset_Table(), CIO_RWTRAN::Trace_CICSE_Changes(), GLOBAL_ANNOT::Union(), and Union_sections().
TN* defreach_tn [static] |
Definition at line 2423 of file gra_live.cxx.
Definition at line 2077 of file gra_live.cxx.
CG_LOOP_BACKPATCH* epilog_bp [static] |
Definition at line 2079 of file gra_live.cxx.
| GTN_SET* force_live_gtns |
Definition at line 119 of file gra_live.cxx.
Referenced by Compute_Force_TNs(), Force_Live_Add(), Force_Live_Remove(), GRA_LIVE_Finish_PU(), GRA_LIVE_Finish_REGION(), GRA_LIVE_Init(), GRA_LIVE_Recalc_Liveness(), and Live_Init().
MEM_POOL gra_live_local_pool [static] |
Definition at line 106 of file gra_live.cxx.
MEM_POOL gra_live_pool [static] |
Definition at line 105 of file gra_live.cxx.
BOOL gra_live_pools_initialized = FALSE [static] |
Definition at line 108 of file gra_live.cxx.
Referenced by GRA_LIVE_Finalize_Memory(), and GRA_LIVE_Initialize_Memory().
RID* gra_live_scope_rid [static] |
Definition at line 125 of file gra_live.cxx.
MEM_POOL liveness_pool [static] |
Definition at line 110 of file gra_live.cxx.
BOOL liveness_pool_initialized = FALSE [static] |
Definition at line 111 of file gra_live.cxx.
Referenced by GRA_LIVE_Finalize_Memory(), and GRA_LIVE_Initialize_Memory().
Definition at line 112 of file gra_live.cxx.
Referenced by calculate_reg_pav(), Convert_x87_Regs(), duplicate_loop_to_header_edge(), Insert_Compensate_BB(), slpeel_tree_duplicate_loop_to_edge_cfg(), Unroll_Dowhile_Loop(), and unroll_multi_bb().
Definition at line 2075 of file gra_live.cxx.
CG_LOOP_BACKPATCH* prolog_bp [static] |
Definition at line 2078 of file gra_live.cxx.
BB_LIST* region_entry_list [static] |
Definition at line 103 of file gra_live.cxx.
BB_SET* region_exit_set [static] |
Definition at line 104 of file gra_live.cxx.
Referenced by GRA_LIVE_Region_Compute_Global_Live_Info(), GRA_LIVE_Region_Exit(), and GRA_LIVE_Region_Start().
TN_SET* tmp_live_def [static] |
Definition at line 114 of file gra_live.cxx.
Referenced by GRA_LIVE_Compute_Local_Info(), GRA_LIVE_Init_BB_End(), and GRA_LIVE_Init_BB_Start().
TN_SET* tmp_live_use [static] |
Definition at line 113 of file gra_live.cxx.
Referenced by GRA_LIVE_Compute_Local_Info(), GRA_LIVE_Init_BB_End(), and GRA_LIVE_Init_BB_Start().
MEM_POOL tn_bb_list_map_pool [static] |
Definition at line 107 of file gra_live.cxx.
BOOL tn_bb_list_maps_allocated [static] |
Definition at line 336 of file gra_live.cxx.
TN_BB_LIST_MAP* tn_live_def_bbs_map [static] |
Definition at line 342 of file gra_live.cxx.
TN_BB_LIST_MAP* tn_live_use_bbs_map [static] |
Definition at line 341 of file gra_live.cxx.
UINT32 visited_mark [static] |
Definition at line 131 of file gra_live.cxx.
Referenced by BB_Forward_Depth_First(), BB_Forward_Depth_First_Visit(), and GRA_LIVE_Region_Compute_Global_Live_Info().
1.5.6