#include <gra_para_region.h>

Public Member Functions | |
| GRA_PARA_REGION_MGR (void) | |
| ~GRA_PARA_REGION_MGR (void) | |
| void | Initialize (void) |
| void | Finalize (void) |
| GRA_PARA_REGION * | Create (RID *rid) |
| GRA_PARA_REGION * | Create_Region (RID *rid) |
| GRA_PARA_REGION * | Get (RID *rid) |
| REGISTER_SET | Get_Unused_Share () |
| void | Set_Unused_Share (REGISTER_SET set) |
| INT32 | Alloc_Count (void) |
| GRA_PARA_REGION * | First_Para_Region (void) |
| RID * | Get_Pair_Rid (RID *rid) |
| GRA_PARA_REGION * | Get_Pair_Region (GRA_PARA_REGION *region) |
| void | Build_Map_For_Pair_Region () |
| void | Add_Rid_Into_Minor_Vector (RID *rid) |
| void | Check_Register_Allocation (void) |
| void | Set_Region_LRA_Budget () |
| void | Grant_Register_For_Region (GRA_PARA_REGION *region) |
| void | Pre_Reserve_Registers_For_Minor (void) |
| void | Collect_Share_Registers_For_Pair_Regions (GRA_PARA_REGION *r1, GRA_PARA_REGION *r2) |
Private Attributes | |
| INT32 | _alloc_count |
| GRA_PARA_REGION * | _first_para_region |
| GRA_PARA_REGION ** | _map |
| RID ** | _rid_pair_map |
| REGISTER_SET | share_unused |
| VECTOR | minor_rids |
Definition at line 132 of file gra_para_region.h.
| GRA_PARA_REGION_MGR::GRA_PARA_REGION_MGR | ( | void | ) | [inline] |
Definition at line 146 of file gra_para_region.h.
| GRA_PARA_REGION_MGR::~GRA_PARA_REGION_MGR | ( | void | ) | [inline] |
Definition at line 147 of file gra_para_region.h.
Definition at line 76 of file gra_para_region.cxx.
References _alloc_count, _map, _rid_pair_map, bzero(), Last_Region_Id(), MEM_local_pool, MEM_POOL_Push, minor_rids, TYPE_MEM_POOL_ALLOC_N, and VECTOR_Init().
Referenced by GRA_Allocate_Global_Registers().
Definition at line 151 of file gra_para_region.h.
References MEM_local_pool, and MEM_POOL_Pop.
Referenced by LRA_Allocate_Registers().
| GRA_PARA_REGION * GRA_PARA_REGION_MGR::Create | ( | RID * | rid | ) |
Definition at line 98 of file gra_para_region.cxx.
References _alloc_count, GRA_PARA_REGION::flags, FOR_ALL_ISA_REGISTER_CLASS(), MEM_local_pool, rc, region, REGISTER_SET_EMPTY_SET, GRA_PARA_REGION::registers_def, GRA_PARA_REGION::registers_use, GRA_PARA_REGION::rid, and TYPE_MEM_POOL_ALLOC.
Referenced by Create_Region().
| GRA_PARA_REGION * GRA_PARA_REGION_MGR::Create_Region | ( | RID * | rid | ) |
Definition at line 122 of file gra_para_region.cxx.
References _first_para_region, Create(), Is_True, GRA_PARA_REGION::next, region, GRA_PARA_REGION::Set_Region_Major(), and GRA_PARA_REGION::Set_Region_Minor().
Referenced by Get().
| GRA_PARA_REGION * GRA_PARA_REGION_MGR::Get | ( | RID * | rid | ) |
Definition at line 150 of file gra_para_region.cxx.
References _map, Create_Region(), Is_True, Last_Region_Id(), NULL, and RID_id.
Referenced by Compute_Livethrough_Set(), Create_GRA_BBs_And_Regions(), Get_Pair_Region(), GRA_GRANT_Unused_Caller_Saved(), and Update_Register_Info().
| REGISTER_SET GRA_PARA_REGION_MGR::Get_Unused_Share | ( | ) | [inline] |
| void GRA_PARA_REGION_MGR::Set_Unused_Share | ( | REGISTER_SET | set | ) | [inline] |
Definition at line 161 of file gra_para_region.h.
References share_unused.
Referenced by Collect_Share_Registers_For_Pair_Regions().
| GRA_PARA_REGION* GRA_PARA_REGION_MGR::First_Para_Region | ( | void | ) | [inline] |
Definition at line 167 of file gra_para_region.h.
References _rid_pair_map, and RID_id.
Referenced by Get_Pair_Region(), and Update_Register_Info().
| GRA_PARA_REGION * GRA_PARA_REGION_MGR::Get_Pair_Region | ( | GRA_PARA_REGION * | region | ) |
Definition at line 359 of file gra_para_region.cxx.
References Get(), Get_Pair_Rid(), and GRA_PARA_REGION::Rid().
Referenced by GRA_PARA_REGION::Collect_Reg_Used_And_Def_For_BBs().
Definition at line 179 of file gra_para_region.cxx.
References _rid_pair_map, BB_next, BB_rid, NULL, REGION_First_BB, RID_first_kid, RID_id, RID_next, and RID_parent.
Referenced by Initialize().
Definition at line 350 of file gra_para_region.cxx.
References minor_rids, VECTOR_Add_Element(), and VECTOR_Member_Element().
Referenced by Create_GRA_BBs_And_Regions().
Definition at line 479 of file gra_para_region.cxx.
References _map, _rid_pair_map, GRA_PARA_REGION::Collect_Reg_Used_And_Def_For_BBs(), Fail_FmtAssertion(), FOR_ALL_ISA_REGISTER_CLASS(), i, Is_True, minor_rids, rc, region, REGISTER_SET_Intersection(), GRA_PARA_REGION::Registers_Defined(), GRA_PARA_REGION::Registers_Used(), RID_id, VECTOR_count, VECTOR_Delete_Element(), and VECTOR_element.
Referenced by LRA_Allocate_Registers().
| void GRA_PARA_REGION_MGR::Set_Region_LRA_Budget | ( | ) |
Definition at line 309 of file gra_para_region.cxx.
References _map, _rid_pair_map, Collect_Share_Registers_For_Pair_Regions(), find(), Grant_Register_For_Region(), i, Is_True, minor_rids, region, RID_id, VECTOR_count, and VECTOR_element.
Referenced by GRA_Allocate_Global_Registers().
| void GRA_PARA_REGION_MGR::Grant_Register_For_Region | ( | GRA_PARA_REGION * | region | ) |
Definition at line 275 of file gra_para_region.cxx.
References BBLIST_item, FOR_ALL_BBLIST_ITEMS, GRA_PARA_REGION::Get_LRA_Reg_Budget(), GRA_Local_Register_Grant(), GRA_PARA_REGION::Internal_BBs(), REGISTER_SET_Difference(), REGISTER_SET_Union(), and share_unused.
Referenced by Set_Region_LRA_Budget().
Definition at line 370 of file gra_para_region.cxx.
References _map, _rid_pair_map, EVEN_RESERVE_REGS, find(), i, Is_True, minor_rids, ODD_RESERVE_REGS, rc, region, RID_id, GRA_PARA_REGION::Set_Registers_Exclude(), VECTOR_count, and VECTOR_element.
Referenced by Initialize().
| void GRA_PARA_REGION_MGR::Collect_Share_Registers_For_Pair_Regions | ( | GRA_PARA_REGION * | r1, | |
| GRA_PARA_REGION * | r2 | |||
| ) |
Definition at line 206 of file gra_para_region.cxx.
References GRA_PARA_REGION::Add_Reg_To_LRA_Budget(), BBLIST_item, count, FOR_ALL_BBLIST_ITEMS, GRA_Local_Register_Grant(), i, INT, GRA_PARA_REGION::Internal_BBs(), REGISTER_CLASS_allocatable, REGISTER_MAX, REGISTER_SET_Intersection(), Set_Unused_Share(), size, and thread_num.
Referenced by Set_Region_LRA_Budget().
INT32 GRA_PARA_REGION_MGR::_alloc_count [private] |
Definition at line 133 of file gra_para_region.h.
Referenced by Alloc_Count(), Create(), and Initialize().
Definition at line 135 of file gra_para_region.h.
Referenced by Create_Region(), and First_Para_Region().
GRA_PARA_REGION** GRA_PARA_REGION_MGR::_map [private] |
Definition at line 137 of file gra_para_region.h.
Referenced by Check_Register_Allocation(), Get(), Initialize(), Pre_Reserve_Registers_For_Minor(), and Set_Region_LRA_Budget().
RID** GRA_PARA_REGION_MGR::_rid_pair_map [private] |
Definition at line 139 of file gra_para_region.h.
Referenced by Build_Map_For_Pair_Region(), Check_Register_Allocation(), Get_Pair_Rid(), Initialize(), Pre_Reserve_Registers_For_Minor(), and Set_Region_LRA_Budget().
Definition at line 141 of file gra_para_region.h.
Referenced by Get_Unused_Share(), Grant_Register_For_Region(), and Set_Unused_Share().
VECTOR GRA_PARA_REGION_MGR::minor_rids [private] |
Definition at line 143 of file gra_para_region.h.
Referenced by Add_Rid_Into_Minor_Vector(), Check_Register_Allocation(), Initialize(), Pre_Reserve_Registers_For_Minor(), and Set_Region_LRA_Budget().
1.5.6