Go to the source code of this file.
Data Types | |
| type | wn_map_tab |
Defines | |
| #define | WN_MAP_UNDEFINED (-1) |
| #define | WN_MAP_DEPGRAPH 0 |
| #define | WN_MAP_PREFETCH 1 |
| #define | WN_MAP_FEEDBACK 2 |
| #define | WN_MAP_AC_INTERNAL 3 |
| #define | WN_MAP_ALIAS_CLASS 4 |
| #define | WN_MAP_RESERVED 5 |
| #define | WN_MAP_MAX 32 |
| #define | WN_MAP_TAB_Last_ID(maptab, category) (maptab)->_last_map_id[(category)] |
| #define | WN_MAP_Create(pool) WN_MAP_Do_Create(Current_Map_Tab, (pool), WN_MAP_KIND_VOIDP) |
| #define | WN_MAP32_Create(pool) WN_MAP_Do_Create(Current_Map_Tab, (pool), WN_MAP_KIND_INT32) |
| #define | WN_MAP64_Create(pool) WN_MAP_Do_Create(Current_Map_Tab, (pool), WN_MAP_KIND_INT64) |
| #define | IPA_WN_MAP_Create(maptab, pool) WN_MAP_Do_Create((maptab), (pool), WN_MAP_KIND_VOIDP) |
| #define | IPA_WN_MAP32_Create(maptab, pool) WN_MAP_Do_Create((maptab), (pool), WN_MAP_KIND_INT32) |
| #define | IPA_WN_MAP64_Create(maptab, pool) WN_MAP_Do_Create((maptab), (pool), WN_MAP_KIND_INT64) |
| #define | WN_MAP_Status() IPA_WN_MAP_Status(Current_Map_Tab) |
| #define | WN_MAP_Delete(wn_map) IPA_WN_MAP_Delete(Current_Map_Tab, (wn_map)) |
| #define | WN_MAP_Set(wn_map, wn, thing) IPA_WN_MAP_Set(Current_Map_Tab, (wn_map), (wn), (thing)) |
| #define | WN_MAP32_Set(wn_map, wn, thing) IPA_WN_MAP32_Set(Current_Map_Tab, (wn_map), (wn), (thing)) |
| #define | WN_MAP64_Set(wn_map, wn, thing) IPA_WN_MAP64_Set(Current_Map_Tab, (wn_map), (wn), (thing)) |
| #define | WN_MAP_Get(wn_map, wn) IPA_WN_MAP_Get(Current_Map_Tab, (wn_map), (wn)) |
| #define | WN_MAP32_Get(wn_map, wn) IPA_WN_MAP32_Get(Current_Map_Tab, (wn_map), (wn)) |
| #define | WN_MAP64_Get(wn_map, wn) IPA_WN_MAP64_Get(Current_Map_Tab, (wn_map), (wn)) |
| #define | WN_MAP_Size(wn_map, category) IPA_WN_MAP_Size(Current_Map_Tab, (wn_map), (category)) |
| #define | IPA_WN_MAP_Size(maptab, wn_map, category) (maptab)->_map_size[(category)][(wn_map)] |
| #define | WN_MAP_Get_Kind(wn_map) (Current_Map_Tab->_kind[(wn_map)]) |
| #define | WN_MAP_Get_dont_copy(wn_map) (Current_Map_Tab->_dont_copy[(wn_map)]) |
| #define | WN_MAP_Set_dont_copy(wn_map, dont_copy) (Current_Map_Tab->_dont_copy[(wn_map)] = (dont_copy)) |
Typedefs | |
| typedef INT32 | WN_MAP |
| typedef struct wn_map_tab | WN_MAP_TAB |
Enumerations | |
| enum | WN_MAP_KIND { WN_MAP_KIND_VOIDP = 1, WN_MAP_KIND_INT32 = 2, WN_MAP_KIND_INT64 = 3 } |
Functions/Subroutines | |
| WN_MAP_TAB * | WN_MAP_TAB_Create (struct mem_pool *pool) |
| void | WN_MAP_TAB_Delete (WN_MAP_TAB *maptab) |
| WN_MAP | WN_MAP_Do_Create (WN_MAP_TAB *maptab, struct mem_pool *pool, WN_MAP_KIND kind) |
| WN_MAP_ID | IPA_WN_MAP_Status (WN_MAP_TAB *maptab) |
| void | IPA_WN_MAP_Delete (WN_MAP_TAB *maptab, WN_MAP wn_map) |
| void | IPA_WN_MAP_Set (WN_MAP_TAB *maptab, WN_MAP wn_map, WN *wn, void *thing) |
| void | IPA_WN_MAP32_Set (WN_MAP_TAB *maptab, WN_MAP wn_map, WN *wn, INT32 thing) |
| void | IPA_WN_MAP64_Set (WN_MAP_TAB *maptab, WN_MAP wn_map, WN *wn, INT64 thing) |
| void * | IPA_WN_MAP_Get (WN_MAP_TAB *maptab, WN_MAP wn_map, const WN *wn) |
| INT32 | IPA_WN_MAP32_Get (WN_MAP_TAB *maptab, WN_MAP wn_map, const WN *wn) |
| INT64 | IPA_WN_MAP64_Get (WN_MAP_TAB *maptab, WN_MAP wn_map, const WN *wn) |
| void | WN_MAP_Add_Free_List (WN_MAP_TAB *maptab, WN *wn) |
| void | WN_MAP_Set_ID (WN_MAP_TAB *maptab, WN *wn) |
Variables | |
| WN_MAP_TAB * | Current_Map_Tab |
| #define WN_MAP32_Create | ( | pool | ) | WN_MAP_Do_Create(Current_Map_Tab, (pool), WN_MAP_KIND_INT32) |
Definition at line 345 of file wn_map.h.
Referenced by ALIAS_MANAGER::ALIAS_MANAGER(), Anl_Init_Map(), Cache_Location_Analysis(), ALIAS_CLASSIFICATION::Classify_memops(), DSE::DSE(), DU_MANAGER::DU_MANAGER(), Inter_Iteration_Cses(), IP_WRITE_pu_internal(), IPL_Initialize_Par_Code(), lower_bit_field_id(), RVI::Perform_phase2(), output_queue::push(), REDUCTION_MANAGER::REDUCTION_MANAGER(), RVI::RVI(), DU_MANAGER::Set_value_restored(), shackle_if_init(), SHACKLE_Phase(), SUMMARIZE< program >::Summarize(), CFG::Verify_cfg(), DU_MANAGER::Verify_wn_in_tree(), WN_init_flags(), and Write_PU_Info().
| #define WN_MAP32_Get | ( | wn_map, | |||
| wn | ) | IPA_WN_MAP32_Get(Current_Map_Tab, (wn_map), (wn)) |
Definition at line 418 of file wn_map.h.
Referenced by ALIAS_CLASSIFICATION::Alias_class(), IP_ALIAS_CLASSIFICATION::Alias_class(), OPT_STAB::Allocate_mu_chi_and_virtual_var(), Atomic_Using_Critical(), BS_Replace_Load(), BS_Replace_Store(), Cache_L1_Has_Data(), Cache_L2_Has_Data(), PROMPF_INFO::Check_Traverse(), CFG::Conv_to_select(), Convert_Section_To_Pdo(), Copy_addr_expr(), ALIAS_CLASSIFICATION::Copy_alias_class(), Copy_alias_info(), Count_tree_size(), Count_tree_size_tuning(), Create_Alternate_Simple_Chain_Shackle(), Delete_Shackle_Prompf_Info(), Depgraph_Write(), dump_loops(), Dump_Shackle_Chain_Id_Map_Info(), ALIAS_MANAGER::Dup_tree_alias_id(), Duplicate_alias_info(), Enclosing_Do_Loop_Of_Chain(), ALIAS_MANAGER::Erase_ip_alias_class_if_invalid(), Extract_Stmts_With_Chain_Id(), FB_Sanity_Check(), Fission(), Fission_Statement(), FS_Array_Substitute(), FS_Substitute(), Fuse(), ARA_LOOP_INFO::Generate_Copyout_Loop(), ARA_LOOP_INFO::Generate_Parallel_Pragma(), DU_MANAGER::Get_bb_id(), RVI::Get_bitpos(), Get_controlling_stmt(), RBI::Get_WN_Prop(), ALIAS_MANAGER::Homing_load(), ALIAS_MANAGER::Homing_store(), ALIAS_MANAGER::Id(), Insert_Lowered_Atomic(), Inter_Iteration_Cses_Loop(), IPL_get_callsite_id(), ir_b_write_tree(), ir_put_wn(), DU_MANAGER::Is_value_restored(), DSE::Live_wn(), LNO_Build_Do_Access(), LNO_Build_If_Access(), WB_BROWSER::Loops_Walk(), CFG::Lower_if_stmt(), Lower_Master(), LWN_Delete_From_Block(), LWN_Delete_Tree(), Mp_Extract_Parallel_Directives(), ALIAS_MANAGER::Note_invalid_ip_alias_class(), Parallelize_Doacross_Loop(), Perform_Gather_Scatter(), Post_loop_peeling(), Pre_loop_peeling(), Print_Prompf_Doacross_Log(), Print_Prompf_Msgs(), Print_Prompf_Nest_Log(), Print_Prompf_Parallel_Region_Log(), Print_Prompf_Preopt_Transaction_Log(), SUMMARIZE< program >::Process_cd_for_phi_node(), SUMMARIZE< program >::Process_chi_jump_function(), SUMMARIZE< program >::Process_control_dependence(), process_node(), Process_Pair(), WB_BROWSER::Promp_Map(), Prompf_Assign_Ids_Traverse(), Prompf_Assign_New_Ids_Traverse(), Prompf_Collect_Ids(), Prompf_Hoist_Messy_Bounds(), PROMPF_INFO::Prompf_Info_Traverse(), Prompf_Interchange(), Prompf_Mp_Version(), Prompf_Nested_Tile(), Prompf_Record_Eliminations(), Prompf_Tile(), Prompf_Tile_Split(), Prompf_Zero_Ids(), Raise_dowhile_stmt(), Raise_whiledo_stmt(), WB_BROWSER::Reduction_Node(), Remove_Unity_Trip_Loop(), RBI::Rgn_WN_Tag(), Scalar_Expansion_Tile(), Search_for_summary_stmt(), separate_loop_and_scalar_expand(), separate_loop_by_scc(), Shackle_Copy_Prompf_Id_Map_Info(), Shackle_Prompf_Map_Initialize(), Shackleable_Refs_From_Chain(), Simple_Chain_Shackle_Case(), sm(), SNL_Distribute(), SNL_GEN_2D_Regtile(), SNL_GEN_Protect_Nest_With_Conditionals(), SNL_GEN_U_Ctiling(), SNL_INV_Cache_Block(), SNL_INV_Scalar_Expand_Tile(), SNL_Peel_Iteration(), SNL_Regtile_Loop(), SNL_SPL_Split_Tile_Sets(), PF_LOOPNODE::Split_Loops(), this_node(), WB_BROWSER::This_Node(), Thread_Affinity_Lower(), Tile_Loop(), OPT_STAB::Transfer_alias_class_to_occ_and_aux(), DU_MANAGER::Verify_add_wn_to_map(), CFG::Verify_cfg(), DU_MANAGER::Verify_du_chains_in_tree(), vintr_fis_separate_loop_and_scalar_expand(), WB_Prompf_Map(), REDUCTION_MANAGER::Which_Reduction(), Wind_Down(), WN2C_End_Prompf_Construct(), WN2C_Prompf_Construct_End(), WN2C_Prompf_Construct_Start(), WN2C_Start_Prompf_Construct(), WN2C_Translate_Stmt_Sequence(), WN2F_block(), WN2F_End_Prompf_Construct(), WN2F_func_entry(), WN2F_Prompf_Construct_End(), WN2F_Prompf_Construct_Start(), WN2F_Start_Prompf_Construct(), WN_Copy_Frequency_Tree(), WN_copy_stmap(), WN_CopyMap(), Wn_flags(), and WN_parity().
| #define WN_MAP32_Set | ( | wn_map, | |||
| wn, | |||||
| thing | ) | IPA_WN_MAP32_Set(Current_Map_Tab, (wn_map), (wn), (thing)) |
Definition at line 394 of file wn_map.h.
Referenced by REDUCTION_MANAGER::Add_Reduction(), Atomic_Using_Critical(), Cache_Location_Analysis(), Check_Reduction(), REDUCTION_MANAGER::Check_Store(), CFG::Conv_to_select(), Convert_Section_To_Pdo(), Copy_addr_expr(), ALIAS_CLASSIFICATION::Copy_alias_class(), Copy_alias_info(), Copy_Array(), Copy_Array_Section(), Create_Chains_Of_Scalars(), create_doloop_node(), Create_Simple_Shackle_Loops(), Create_Single_Region(), ALIAS_MANAGER::Dup_tree_alias_id(), Duplicate_alias_info(), ALIAS_MANAGER::Erase_ip_alias_class_if_invalid(), REDUCTION_MANAGER::Erase_Node(), ALIAS_CLASSIFICATION::Finalize_ac_map_wn(), IP_ALIAS_CLASSIFICATION::Finalize_ac_map_wn(), Fission_Statement(), Fuse(), ALIAS_MANAGER::Gen_alias_id(), Gen_exp_wn(), ARA_LOOP_INFO::Generate_Copyout_Loop(), ARA_LOOP_INFO::Generate_Parallel_Pragma(), Initialize_Shackle_Chain_Id_Map(), ir_b_write_tree(), lower_complex_maps(), Lower_Fetch_And_Op(), CFG::Lower_if_stmt(), lower_quad_maps(), LWN_Delete_From_Block(), LWN_Delete_Tree(), RVI::Map_bitpos(), Parallelize_Doacross_Loop(), Perform_Gather_Scatter(), Post_loop_peeling(), Pre_loop_peeling(), SUMMARIZE< program >::Process_callsite(), SUMMARIZE< program >::Process_cd_for_phi_node(), SUMMARIZE< program >::Process_control_dependence(), Process_Pair(), Prompf_Assign_Ids_Traverse(), Prompf_Assign_New_Ids_Traverse(), Prompf_Hoist_Messy_Bounds(), Prompf_Mp_Version(), Prompf_Nested_Tile(), Prompf_Record_Eliminations(), Prompf_Tile(), Prompf_Zero_Ids(), Remove_Unity_Trip_Loop(), Reset_cd_and_stmt(), Scalar_Expansion_Tile(), separate_loop_and_scalar_expand(), separate_loop_by_scc(), DU_MANAGER::Set_bb_id(), ANL_FUNC_ENTRY::Set_Construct_Id(), ALIAS_MANAGER::Set_homing_load(), ALIAS_MANAGER::Set_homing_store(), ALIAS_MANAGER::Set_id(), DSE::Set_live_wn(), Set_Up_Equivalence_Class(), DU_MANAGER::Set_value_restored(), RBI::Set_WN_Cur_Rgn(), Set_wn_flags(), Shackle_Copy_Prompf_Id_Map_Info(), Shackle_Prompf_Map_Initialize(), SNL_Distribute(), SNL_GEN_U_Ctiling(), SNL_INV_Cache_Block(), SNL_INV_Scalar_Expand_Tile(), Thread_Affinity_Lower(), Transform_Code(), REDUCTION_MANAGER::Unroll_Update_Rec(), DU_MANAGER::Verify_add_wn_to_map(), CFG::Verify_cfg(), vintr_fis_separate_loop_and_scalar_expand(), WN_Copy_Frequency_Tree(), WN_copy_stmap(), WN_CopyMap(), and WN_MAP_put().
| #define WN_MAP64_Create | ( | pool | ) | WN_MAP_Do_Create(Current_Map_Tab, (pool), WN_MAP_KIND_INT64) |
| #define WN_MAP64_Get | ( | wn_map, | |||
| wn | ) | IPA_WN_MAP64_Get(Current_Map_Tab, (wn_map), (wn)) |
Definition at line 420 of file wn_map.h.
Referenced by ir_put_wn(), WN_copy_stmap(), and WN_CopyMap().
| #define WN_MAP64_Set | ( | wn_map, | |||
| wn, | |||||
| thing | ) | IPA_WN_MAP64_Set(Current_Map_Tab, (wn_map), (wn), (thing)) |
Definition at line 396 of file wn_map.h.
Referenced by WN_copy_stmap(), WN_CopyMap(), and WN_MAP_put().
| #define WN_MAP_AC_INTERNAL 3 |
Definition at line 292 of file wn_map.h.
Referenced by IP_WRITE_pu_internal(), ir_b_write_tree(), Read_Local_Info(), and WN_MAP_TAB_Create().
| #define WN_MAP_ALIAS_CLASS 4 |
Definition at line 293 of file wn_map.h.
Referenced by OPT_STAB::Allocate_mu_chi_and_virtual_var(), CFG::Conv_to_select(), Copy_addr_expr(), Copy_alias_info(), ALIAS_MANAGER::Dup_tree_alias_id(), Duplicate_alias_info(), ALIAS_MANAGER::Erase_ip_alias_class_if_invalid(), ALIAS_MANAGER::Gen_alias_id(), Gen_exp_wn(), IP_WRITE_pu_internal(), ir_b_write_tree(), ir_put_wn(), CFG::Lower_if_stmt(), ALIAS_MANAGER::Note_invalid_ip_alias_class(), Read_Local_Info(), OPT_STAB::Transfer_alias_class_to_occ_and_aux(), WN_MAP_TAB_Create(), and Write_PU_Info().
| #define WN_MAP_Create | ( | pool | ) | WN_MAP_Do_Create(Current_Map_Tab, (pool), WN_MAP_KIND_VOIDP) |
Definition at line 343 of file wn_map.h.
Referenced by Analyse_Dependencies(), Anl_Static_Analysis(), GOTO_TABLE::Build(), GTABLE::Build(), ALIAS_CLASSIFICATION::Classify_memops(), CODEMAP::CODEMAP(), Cross_Loop_Cache_Analysis(), DU_MANAGER::DU_MANAGER(), EMITTER::EMITTER(), EXC::EXC(), F90_Lower_Init(), Fiss_Gather_Inner_Loop(), Fission(), Fission_Inner_Loop(), Fission_Test(), Form_Loops(), Generate_Guard_Test(), HMB_Hoist_Messy_Bounds(), WN_MEMOP_ANNOT_MGR::Init(), IPL_Initialize_Par_Code(), Lego_PU_Init(), Lnoptimizer(), lower_bit_field_id(), MemCtr_Add(), Move_Adjacent(), Mp_Version_Loop(), Mp_Version_Parallel_Region(), COMP_UNIT::Normalize_loop(), OMP_Prelower(), OPT_PU_POINTS_TO_SUMMARIZER::OPT_PU_POINTS_TO_SUMMARIZER(), OPT_STAB::OPT_STAB(), PDGCS_new_proc(), RVI::Perform_phase2(), Prefetch_Auto(), SUMMARIZE< program >::Process_procedure(), IPA_NODE::Read_PU(), REGION_Initialize(), RVI::RVI(), Set_OP_To_WN_Map(), shackle_if_init(), SHACKLE_Phase(), Simd_Analysis(), SUMMARIZE< program >::Summarize(), toplogical_reordering(), CFG::Verify_tree(), Version_Loop(), Version_Region(), Vintrinsic_Fission(), W2C_Push_PU(), W2F_Push_PU(), Whirl2ops_Initialize(), and WN_Verifier::WN_Verifier().
| #define WN_MAP_Delete | ( | wn_map | ) | IPA_WN_MAP_Delete(Current_Map_Tab, (wn_map)) |
Definition at line 369 of file wn_map.h.
Referenced by Analyse_Dependencies(), Anl_Fini(), Anl_Static_Analysis(), Cache_Analysis_End(), ALIAS_CLASSIFICATION::Classify_memops(), F90_Lower_Term(), Fiss_Gather_Inner_Loop(), Fission(), Fission_Inner_Loop(), Fission_Test(), Form_Loops(), Generate_Guard_Test(), HMB_Hoist_Messy_Bounds(), WN_MEMOP_ANNOT_MGR::Init(), Inter_Iteration_Cses(), IP_WRITE_pu_internal(), IPL_Finalize_Par_Code(), Lego_PU_Fini(), Lnoptimizer(), lower_bit_field_id(), MemCtr_Add(), Move_Adjacent(), Mp_Version_Loop(), Mp_Version_Parallel_Region(), COMP_UNIT::Normalize_loop(), OMP_Prelower(), PDGCS_do_proc(), RVI::Perform_phase2(), Prefetch_Auto(), output_queue::push(), REGION_Finalize(), ALIAS_CLASSIFICATION::Release_resources(), shackle_if_finalize(), SHACKLE_Phase(), Simd_Analysis(), SUMMARIZE< program >::Summarize(), toplogical_reordering(), IPA_NODE::Un_Read_PU(), CFG::Verify_cfg(), CFG::Verify_tree(), DU_MANAGER::Verify_wn_in_tree(), Version_Loop(), Version_Region(), Vintrinsic_Fission(), W2C_Pop_PU(), W2F_Pop_PU(), Whirl2ops_Finalize(), WN_fini_flags(), Write_PU_Info(), ALIAS_MANAGER::~ALIAS_MANAGER(), CODEMAP::~CODEMAP(), DSE::~DSE(), DU_MANAGER::~DU_MANAGER(), EMITTER::~EMITTER(), EXC::~EXC(), GOTO_TABLE::~GOTO_TABLE(), GTABLE::~GTABLE(), OPT_PU_POINTS_TO_SUMMARIZER::~OPT_PU_POINTS_TO_SUMMARIZER(), OPT_STAB::~OPT_STAB(), REDUCTION_MANAGER::~REDUCTION_MANAGER(), RESTRICTED_MAP::~RESTRICTED_MAP(), RVI::~RVI(), WN_MEMOP_ANNOT_MGR::~WN_MEMOP_ANNOT_MGR(), and WN_Verifier::~WN_Verifier().
| #define WN_MAP_DEPGRAPH 0 |
Definition at line 289 of file wn_map.h.
Referenced by Build_CG_Dependence_Graph(), Depgraph_Read(), MP_Fix_Dependence_Graph(), and WN_MAP_TAB_Create().
| #define WN_MAP_FEEDBACK 2 |
Definition at line 291 of file wn_map.h.
Referenced by FEEDBACK::Add_index_branch(), FEEDBACK::Add_index_call(), FEEDBACK::Add_index_circuit(), FEEDBACK::Add_index_icall(), FEEDBACK::Add_index_invoke(), FEEDBACK::Add_index_loop(), FEEDBACK::Add_index_switch(), Atomic_Direct(), Atomic_Using_Critical(), Atomic_Using_Swap(), BS_Replace_Load(), BS_Replace_Store(), Convert_Branch(), Convert_Section_To_Pdo(), Count_tree_size(), Count_tree_size_tuning(), FEEDBACK::Delete(), EMITTER::Emit(), enable_tree_freq_display(), FB_Sanity_Check(), FS_Array_Substitute(), FS_Substitute(), FEEDBACK::Get_index_branch(), FEEDBACK::Get_index_call(), FEEDBACK::Get_index_circuit(), FEEDBACK::Get_index_icall(), FEEDBACK::Get_index_invoke(), FEEDBACK::Get_index_loop(), FEEDBACK::Get_index_switch(), LNO_Build_Do_Access(), LNO_Build_If_Access(), Lower_Master(), Post_LNO_Processing(), Pre_Optimizer(), Raise_whiledo_stmt(), REGION_remove_and_mark(), Reset_param_list(), SNL_GEN_U_Ctiling(), SNL_INV_Cache_Block(), SNL_SPL_Split_Tile_Sets(), Tile_Loop(), Transfer_Maps(), FEEDBACK::Verify(), FEEDBACK::Verify_and_guess(), Wind_Down(), WN_Copy_Frequency_Tree(), and WN_MAP_TAB_Create().
| #define WN_MAP_Get | ( | wn_map, | |||
| wn | ) | IPA_WN_MAP_Get(Current_Map_Tab, (wn_map), (wn)) |
Definition at line 416 of file wn_map.h.
Referenced by _xcreate_simple_basic_shackle(), _xdependence_is_preserved(), _xis_legal_shackle(), _xis_simple_shackle_case(), _xtest_dependence_is_preserved(), WB_BROWSER::Access_Array(), PF_LG::Add_Group(), Add_Parent_If_Constraints(), PF_LG::Add_Ref(), PF_UGS::Add_Ref(), PF_LOOPNODE::Add_Ref(), LEGO_UGS::Add_Ref(), PF_BASE_ARRAY::Add_Ref(), WB_BROWSER::Ancestors(), Appropriate_Shackle_Size_Set(), ARA_REF::ARA_REF(), Augment_Simple_Basic_Shackle(), OPT_STAB::Black_box_defs(), OPT_STAB::Black_box_refs(), BS_Has_Varying_Access_Array_In_Region(), BS_Is_Linearized(), BS_Matching_Load(), ARRAY_REF::Build_Array(), TRANSPOSE_DIRECTED_GRAPH16::Build_Snl_Array(), Cache_L1_Analysis(), Cache_L2_Analysis(), Can_Evaluate_Cost(), Can_Mem_Op_Be_Moved(), CG_DEP_Latency(), Check_Version_Map(), SUMMARIZE< program >::Classify_const_value(), SUMMARIZE< program >::Classify_indirect(), DU_MANAGER::Collect_BB_id(), Common_Shackling_Depth(), DEPV_COMPUTE::Compute(), LEGO_UGS::Compute_Offset(), EMITTER::Compute_use_def_expr(), EMITTER::Compute_use_def_stmt(), PF_UGS::ComputePFVec(), Convert_Do_Loops_Conditionals(), DEPV_COMPUTE::Copy_Bounds_To_Work(), Create_Alternate_Simple_Chain_Shackle(), Create_Shackle_If_Per_Stmt(), Create_Simple_Shackle_Loops(), Cross_Loop_Cache_Analysis(), DBX_WN_Map(), PF_LG::Distance_LR(), Do_Loop_Explicit_Affinity(), Do_Loop_Implicit_Affinity(), DU_MANAGER::Du_Get_Use(), Dump_Shackle_Map_Info(), EMITTER::Duplicate_sr_cr_connections(), EC_Array_Portion_Calls(), EH_Generate_Range_List(), Equivalent_Load(), RESTRICTED_MAP::Erase_entry_if_invalid(), Execution_Cost(), fast_fuse_check_ok(), ALIAS_CLASSIFICATION::Finalize_ac_map_wn(), IP_ALIAS_CLASSIFICATION::Finalize_ac_map_wn(), Find_Average(), Find_Break_Point(), NORMALIZE_LOOP::Find_enclosing_parallel_region(), Find_Step(), Fission(), Fission_Test(), Fix_Up_Loop_Info(), Form_Loops(), Fuse(), Fuse_Test(), Gather_References_At_Deepest_Depth(), Gen_Implicit_Prefetches(), PF_LG::Gen_Pref_Node(), WN_MEMOP_ANNOT_MGR::Get_annot(), OPT_PU_POINTS_TO_SUMMARIZER::Get_bound_pt_sum(), Get_Call_Info(), RVI::Get_chi_list(), Get_Do_Loop_Info(), EXC::Get_es_link(), OPT_STAB::Get_generic_chi_list(), Get_If_Info(), PF_LOOPNODE::Get_LoopInfo(), OPT_STAB::Get_mem_chi_list(), OPT_STAB::Get_mem_mu_node(), RVI::Get_mu_list(), OPT_STAB::Get_occ(), Get_OP_From_WN(), get_original_wn(), GOTO_TABLE::Get_Parent(), GTABLE::Get_Parent(), ARRAY_LOWER_REF::Get_Ref_Loop(), PF_LG::Get_Ref_Version(), Get_Region_Info(), Get_RR_Map(), OPT_STAB::Get_stmt_chi_list(), OPT_STAB::Get_stmt_mu_list(), ARRAY_DIRECTED_GRAPH16::Get_Vertex(), ALIAS_CLASSIFICATION::Handle_assignment(), IP_ALIAS_CLASSIFICATION::Handle_assignment(), Handle_Sink_General_Case(), Handle_Sink_Promotion_Case(), Has_Call_Info(), Has_Complex_Access_Array(), Has_Execution_Cost(), Has_Stmt_Significant_Ref(), HMB_Find_Messy_Subscripts(), Hoist_Place(), inner_fission_2(), SYMBOL_TREE::Integer_Ref_Needs_Reg(), intrinsic_operand_kind(), Invariant_Red_Depth(), PAR_STAT::Invariant_Reduction(), IPA_LNO_Annotate_Array_Call(), IPA_LNO_Annotate_Execution_Cost(), IPA_LNO_Evaluate_Formal_Symbols(), IPA_LNO_Read_Formal(), IPL_Build_Do_Access(), IPL_Build_If_Access(), IPL_Print_One_Access(), ir_b_write_tree(), ir_put_wn(), Is_Bad_Array(), NORMALIZE_LOOP::Is_outermost_loop_in_parallel_region(), NORMALIZE_LOOP::Is_pdo_loop(), ARA_LOOP_INFO::Is_Privatizable(), Is_Ref_Significant_In_Stmt(), Is_Value_Restored(), WN_Verifier::Is_WHIRL_tree(), Lego_Simplify(), LEGO_UGS::LEGO_UGS(), Lego_Update_Skew_Count(), LNO_Annotate_Array_Call(), LNO_Build_Access(), LNO_Build_Do_Access(), LNO_Build_If_Access(), LNO_Print_One_Access(), Loop_Invariant_Access(), lower_bit_field_id(), PF_LG::LR_Compare(), make_prefetch_arcs(), Map_Memop_To_Prefetch(), Mark_Code(), Mark_Indexed_References(), Matching_Stores(), Max_Dep_Distance(), Maybe_Handle_Sink_Promotion_Case(), Memop_Variant(), Messy_Subscript(), MIR_Build_Loop_List_Array(), NSE_Annotate_Array_Call(), Parallelization_Process_Deps(), WB_BROWSER::Parent(), PF_LG::PF_LG(), PF_UGS::PF_UGS(), Post_Peel_Map_Refs(), Pre_Peel_Map_Refs(), PF_UGS::Print(), ARRAY_DIRECTED_GRAPH16::Print(), process_actual_array_node(), process_array_node(), Process_Load(), PF_LOOPNODE::Process_Loop(), process_loops(), DISTRIBUTION::Process_Memory(), Process_Store(), Recursively_Add_Array_Lin_Symbols(), Recursively_Add_Parent_If_Lin_Symbols(), Ref_Contains_Reuse_For_Loop(), PF_LG::Ref_In_LG(), REGION::REGION(), REGION_CS_NoEarlierSub_First(), REGION_get_rid(), Register_Name_To_Statement(), Remark_Depth(), Remove_Redundant_And_Inconsistent_If(), RESTRICTED_MAP::Restore_info(), RID_Create(), RR_Map_Refs(), DEPV_COMPUTE::Same_Permutation(), SCC_reorder(), Separate_And_Update(), ARA_REF::Set_Loop_Invariant(), DEPV_COMPUTE::Set_Step(), Shackle_Do_Depth_For_If(), Shackle_Info_For_Shackled_Arrays(), Shackle_Scalars_Do_Privatize(), Shackleable_Ifs_Surrounding_Stmt(), Shape_Mismatch_At_Formal(), Simd_Align_Analysis(), Simd_Handle_Negative_Coefficient(), simd_operand_kind(), Simd_Unroll_Statement(), Simple_Execution_Cost(), Stride_One_Level(), test_significance(), DU_MANAGER::Ud_Get_Def(), Unit_Stride_Reference(), Update_Nest_Depth_Traverse(), CODEMAP::Update_pref(), Variant_Array(), Varying_Load(), RESTRICTED_MAP::Verify_info(), CFG::Verify_wn(), Vintrinsic_Fission(), PF_LG::Volume(), W2CF_Get_Parent(), ARA_LOOP_INFO::Walk_If(), WBT_DOLOOP_STACK(), WN2C_iload(), WN2C_istore(), WN2C_Prefetch_Map(), WN2C_region(), WN2F_Append_Prefetch_Map(), WN2F_iload(), WN2F_istore(), WN2F_region(), WN_copy_stmap(), WN_CopyMap(), and WN_get_pf_pointer().
| #define WN_MAP_Get_dont_copy | ( | wn_map | ) | (Current_Map_Tab->_dont_copy[(wn_map)]) |
| #define WN_MAP_Get_Kind | ( | wn_map | ) | (Current_Map_Tab->_kind[(wn_map)]) |
| #define WN_MAP_MAX 32 |
Definition at line 297 of file wn_map.h.
Referenced by IPA_WN_MAP_Delete(), IPA_WN_MAP_Status(), WN_copy_stmap(), WN_MAP_Do_Create(), WN_MAP_get_map_id(), WN_MAP_TAB_Create(), and WN_MAP_TAB_Delete().
| #define WN_MAP_PREFETCH 1 |
Definition at line 290 of file wn_map.h.
Referenced by PF_LOOPNODE::Add_Ref(), Cache_L1_Analysis(), Cache_L2_Analysis(), Can_Mem_Op_Be_Moved(), CG_DEP_Latency(), Gen_Implicit_Prefetches(), PF_LG::Gen_Pref_Node(), ir_b_write_tree(), lower_copy_maps(), make_prefetch_arcs(), Map_Memop_To_Prefetch(), Memop_Variant(), WN2C_iload(), WN2C_istore(), WN2C_Prefetch_Map(), WN2F_Append_Prefetch_Map(), WN2F_iload(), WN2F_istore(), WN_add_lno_info(), WN_get_pf_pointer(), and WN_MAP_TAB_Create().
| #define WN_MAP_RESERVED 5 |
Definition at line 296 of file wn_map.h.
Referenced by IPA_WN_MAP_Status(), WN_MAP_Do_Create(), and WN_MAP_TAB_Create().
| #define WN_MAP_Set | ( | wn_map, | |||
| wn, | |||||
| thing | ) | IPA_WN_MAP_Set(Current_Map_Tab, (wn_map), (wn), (thing)) |
Definition at line 392 of file wn_map.h.
Referenced by _xcreate_simple_basic_shackle(), OPT_STAB::Add_black_box_def(), OPT_STAB::Add_black_box_ref(), CFG::Add_one_region(), Add_Pragma_To_MP_Regions(), PF_LOOPNODE::Add_Ref(), RAIL::Add_region_around_loop(), ARRAY_DIRECTED_GRAPH16::Add_Vertex(), Augment_Simple_Basic_Shackle(), AWN_Binary(), IP_ALIAS_CLASSIFICATION::Classify_deref_of_expr(), ALIAS_CLASSIFICATION::Classify_deref_of_expr(), ALIAS_CLASSIFICATION::Classify_lhs_of_store(), IP_ALIAS_CLASSIFICATION::Classify_lhs_of_store(), ARRAY_DIRECTED_GRAPH16::Clear_Map_For_Vertex(), EMITTER::Connect_cr_wn(), Connect_cr_wn(), EMITTER::Connect_sr_wn(), Convert_Do_Loops_Conditionals(), WN_MEMOP_ANNOT_MGR::Copy_annot(), Create_Alternate_Simple_Chain_Shackle(), Create_Initialize_Loop(), Create_Shackle_If_Per_Stmt(), Create_Simple_Shackle_Loops(), Create_Single_Region(), Cross_Loop_Cache_Analysis(), ARRAY_DIRECTED_GRAPH16::Delete_Vertex(), DU_MANAGER::Du_Put_Use(), EC_Array_Portion_Calls(), OPT_STAB::Enter_occ_tab(), STMTREP::Enter_rhs(), ARRAY_DIRECTED_GRAPH16::Erase_Graph(), Extended_Lower_Bound(), Extended_Upper_Bound(), Fast_32_Div(), Fast_32_Rem(), Fission_Test(), Fix_Up_Loop_Info(), Form_Loops(), Form_Statement_Refs(), Gen_CheckNo_DART(), PF_LG::Gen_Pref_Node(), ARA_LOOP_INFO::Generate_Copyout_Loop(), Generate_If_Accesses(), ARA_LOOP_INFO::Generate_Parallel_Pragma(), Guard_A_Do(), Guard_Test_Redundant(), Handle_Sink_Promotion_Case(), HMB_Compound_Guard_Test(), HMB_Simple_Guard_Test(), Initialize_Pdo_Last_Local_Index(), IPL_Build_Access_Array(), WN_Verifier::Is_WHIRL_tree(), EXC::Link_wn_es(), LNO_Build_Access_Array(), RVI::Map_chi_list(), Map_Memop_To_Prefetch(), RVI::Map_mu_list(), RVI::Map_mu_node(), Mark_Code(), Maybe_Handle_Sink_Promotion_Case(), Mp_Layout_Lego_Layout(), Mp_Version_Loop(), Mp_Version_Parallel_Region(), NORMALIZE_LOOP::Normalize_loop_stmt(), Parallelize_Doacross_Loop(), Post_loop_peeling(), Pre_loop_peeling(), RINIT::Process_region(), Processor_Update_Outer_Tile(), Read_Pragma_Thread_Affinity(), REGION_clone(), REGION_emit(), REGION_Initialize(), REGION_new_wn(), DU_MANAGER::Remove_Def_From_System(), RESTRICTED_MAP::Remove_info(), DU_MANAGER::Remove_Use_From_System(), Rewrite_Bounds(), RESTRICTED_MAP::Save_info(), SE_Guard_Tests(), Separate_And_Update(), WN_MEMOP_ANNOT_MGR::Set_annot(), OPT_PU_POINTS_TO_SUMMARIZER::Set_bound_pt_sum(), Set_Call_Info(), Set_Do_Loop_Info(), Set_OP_To_WN_Map(), set_original_wn(), GTABLE::Set_Parent(), GOTO_TABLE::Set_Parent(), Set_RR_Map(), ARRAY_DIRECTED_GRAPH16::Set_Wn(), Shackle_Scalars_Do_Privatize(), Simd_Finalize_Loops(), Simple_Chain_Shackle_Case(), SNL_GEN_2D_Regtile(), SNL_GEN_Protect_Nest_With_Conditionals(), SNL_Peel_Iteration(), PF_LOOPNODE::Split_Loops(), DU_MANAGER::Ud_Put_Def(), UT_Generate_Imperfect_If_Code(), CFG::Verify_wn(), Version_Loop(), Version_Region(), W2CF_Set_Parent(), WN_add_lno_info(), WN_copy_stmap(), WN_CopyMap(), WN_Create_Intrinsic(), WN_CreateCvtl(), WN_CreateExp1(), WN_CreateExp2(), WN_CreateExp3(), WN_CreateIload(), WN_CreateIstore(), WN_MAP_put(), WN_SimpCreateCvtl(), WN_SimpCreateDeposit(), WN_SimpCreateExp1(), WN_SimpCreateExp2(), WN_SimpCreateExp3(), WN_SimpCreateExtract(), and WN_Simplify_Tree().
| #define WN_MAP_Set_dont_copy | ( | wn_map, | |||
| dont_copy | ) | (Current_Map_Tab->_dont_copy[(wn_map)] = (dont_copy)) |
Definition at line 444 of file wn_map.h.
Referenced by lower_bit_field_id(), REGION_Initialize(), and RESTRICTED_MAP::RESTRICTED_MAP().
| #define WN_MAP_Size | ( | wn_map, | |||
| category | ) | IPA_WN_MAP_Size(Current_Map_Tab, (wn_map), (category)) |
| #define WN_MAP_Status | ( | ) | IPA_WN_MAP_Status(Current_Map_Tab) |
| #define WN_MAP_UNDEFINED (-1) |
Definition at line 288 of file wn_map.h.
Referenced by Add_Pragma_To_MP_Regions(), convert_stmt_list_to_OPs(), Convert_WHIRL_To_OPs(), disable_tree_freq_display(), DU_MANAGER::DU_MANAGER(), dump_loops(), Erase_Restricted_Mapping(), get_original_wn(), Handle_INTRINSIC_CALL(), Hoist_Place(), WN_MEMOP_ANNOT_MGR::Init(), IP_WRITE_pu_internal(), IPA_WN_Move_Maps_PU(), ir_b_write_tree(), ir_put_wn(), DU_MANAGER::Is_value_restored(), Lego_PU_Fini(), Lnoptimizer(), lower_bit_field_id(), lower_reduction(), MemCtr_Add(), new_temp_st(), output_queue::push(), WB_BROWSER::Reduction(), REGION_Finalize(), REGION_get_rid(), REGION_get_rid2(), WB_BROWSER::Required_Fields_Present(), Set_OP_To_WN_Map(), set_original_wn(), DU_MANAGER::Set_value_restored(), W2C_Pop_PU(), W2F_Pop_PU(), WB_BROWSER::WB_BROWSER(), WB_Prompf_Map(), Whirl2ops_Finalize(), Whirl2ops_Initialize(), WN2C_Translate_Stmt_Sequence(), WN2F_block(), WN2F_Initiate_OneInt(), WN2F_Initiate_ZeroInt(), WN_CopyMap(), WN_Create_Intrinsic(), WN_CreateCvtl(), WN_CreateExp1(), WN_CreateExp2(), WN_CreateExp3(), WN_CreateIload(), WN_CreateIstore(), WN_MEMOP_ANNOT_MGR::WN_MEMOP_ANNOT_MGR(), WN_parity(), WN_SimpCreateCvtl(), WN_SimpCreateDeposit(), WN_SimpCreateExp1(), WN_SimpCreateExp2(), WN_SimpCreateExp3(), WN_SimpCreateExtract(), WN_Simplify_Tree(), Write_PU_Info(), DU_MANAGER::~DU_MANAGER(), and WN_MEMOP_ANNOT_MGR::~WN_MEMOP_ANNOT_MGR().
| typedef struct wn_map_tab WN_MAP_TAB |
| enum WN_MAP_KIND |
| INT32 IPA_WN_MAP32_Get | ( | WN_MAP_TAB * | maptab, | |
| WN_MAP | wn_map, | |||
| const WN * | wn | |||
| ) |
Definition at line 438 of file wn_map.cxx.
References wn_map_tab::_is_used, wn_map_tab::_map_size, wn_map_tab::_mapping, category, INT32, Is_True, OPCODE_mapcat(), WN_MAP_check_kind, WN_map_id(), WN_MAP_KIND_INT32, and WN_opcode().
Referenced by FEEDBACK::Get_index_branch(), FEEDBACK::Get_index_call(), FEEDBACK::Get_index_circuit(), FEEDBACK::Get_index_icall(), FEEDBACK::Get_index_invoke(), FEEDBACK::Get_index_loop(), FEEDBACK::Get_index_switch(), Reset_param_list(), and Transfer_Maps().
| void IPA_WN_MAP32_Set | ( | WN_MAP_TAB * | maptab, | |
| WN_MAP | wn_map, | |||
| WN * | wn, | |||
| INT32 | thing | |||
| ) |
Definition at line 380 of file wn_map.cxx.
References wn_map_tab::_is_used, wn_map_tab::_map_size, wn_map_tab::_mapping, category, INT32, Is_True, OPCODE_mapcat(), WN_MAP_check_kind, WN_MAP_get_map_id(), WN_MAP_KIND_INT32, WN_MAP_realloc_array(), and WN_opcode().
Referenced by FEEDBACK::Add_index_branch(), FEEDBACK::Add_index_call(), FEEDBACK::Add_index_circuit(), FEEDBACK::Add_index_icall(), FEEDBACK::Add_index_invoke(), FEEDBACK::Add_index_loop(), FEEDBACK::Add_index_switch(), FEEDBACK::Delete(), IPA_WN_Move_Maps_PU(), Reset_param_list(), and Transfer_Maps().
| INT64 IPA_WN_MAP64_Get | ( | WN_MAP_TAB * | maptab, | |
| WN_MAP | wn_map, | |||
| const WN * | wn | |||
| ) |
Definition at line 455 of file wn_map.cxx.
References wn_map_tab::_is_used, wn_map_tab::_map_size, wn_map_tab::_mapping, category, INT64, Is_True, OPCODE_mapcat(), WN_MAP_check_kind, WN_map_id(), WN_MAP_KIND_INT64, and WN_opcode().
| void IPA_WN_MAP64_Set | ( | WN_MAP_TAB * | maptab, | |
| WN_MAP | wn_map, | |||
| WN * | wn, | |||
| INT64 | thing | |||
| ) |
Definition at line 398 of file wn_map.cxx.
References wn_map_tab::_is_used, wn_map_tab::_map_size, wn_map_tab::_mapping, category, INT64, Is_True, OPCODE_mapcat(), WN_MAP_check_kind, WN_MAP_get_map_id(), WN_MAP_KIND_INT64, WN_MAP_realloc_array(), and WN_opcode().
Referenced by IPA_WN_Move_Maps_PU().
| void IPA_WN_MAP_Delete | ( | WN_MAP_TAB * | maptab, | |
| WN_MAP | wn_map | |||
| ) |
Definition at line 244 of file wn_map.cxx.
References wn_map_tab::_is_used, wn_map_tab::_map_size, wn_map_tab::_mapping, wn_map_tab::_pool, category, FALSE, INT32, Is_True, Malloc_Mem_Pool, MEM_POOL_FREE, NULL, WN_MAP_CATEGORIES, and WN_MAP_MAX.
Referenced by WN_MAP_TAB_Delete().
| void* IPA_WN_MAP_Get | ( | WN_MAP_TAB * | maptab, | |
| WN_MAP | wn_map, | |||
| const WN * | wn | |||
| ) |
Definition at line 421 of file wn_map.cxx.
References wn_map_tab::_is_used, wn_map_tab::_map_size, wn_map_tab::_mapping, category, Is_True, NULL, OPCODE_mapcat(), WN_MAP_check_kind, WN_map_id(), WN_MAP_KIND_VOIDP, and WN_opcode().
Referenced by REGION_get_rid2(), and WN_Get_Parent().
| void IPA_WN_MAP_Set | ( | WN_MAP_TAB * | maptab, | |
| WN_MAP | wn_map, | |||
| WN * | wn, | |||
| void * | thing | |||
| ) |
Definition at line 360 of file wn_map.cxx.
References wn_map_tab::_is_used, wn_map_tab::_map_size, wn_map_tab::_mapping, category, Is_True, NULL, OPCODE_mapcat(), WN_MAP_check_kind, WN_MAP_get_map_id(), WN_MAP_KIND_VOIDP, WN_MAP_realloc_array(), and WN_opcode().
Referenced by IPO_CLONE::Clone_Tree(), IPA_WN_Move_Maps_PU(), RID_Delete(), and WN_Set_Parent().
| WN_MAP_ID IPA_WN_MAP_Status | ( | WN_MAP_TAB * | maptab | ) |
Definition at line 267 of file wn_map.cxx.
References wn_map_tab::_is_used, Is_True, WN_MAP_MAX, and WN_MAP_RESERVED.
| void WN_MAP_Add_Free_List | ( | WN_MAP_TAB * | maptab, | |
| WN * | wn | |||
| ) |
Definition at line 478 of file wn_map.cxx.
References wn_map_tab::_free_list, wn_map_tab::_free_list_count, wn_map_tab::_free_list_pool, wn_map_tab::_free_list_size, category, count, INT32, MAX, OPCODE_mapcat(), size, TYPE_MEM_POOL_ALLOC_N, TYPE_MEM_POOL_REALLOC_N, WN_map_id(), and WN_opcode().
Referenced by IPA_WN_Delete(), and IPA_WN_Move_Maps_PU().
| WN_MAP WN_MAP_Do_Create | ( | WN_MAP_TAB * | maptab, | |
| struct mem_pool * | pool, | |||
| WN_MAP_KIND | kind | |||
| ) |
Definition at line 211 of file wn_map.cxx.
References wn_map_tab::_dont_copy, wn_map_tab::_is_used, wn_map_tab::_kind, wn_map_tab::_map_size, wn_map_tab::_mapping, wn_map_tab::_pool, category, FALSE, FmtAssert, INT32, NULL, TRUE, WN_MAP_CATEGORIES, WN_MAP_MAX, and WN_MAP_RESERVED.
| void WN_MAP_Set_ID | ( | WN_MAP_TAB * | maptab, | |
| WN * | wn | |||
| ) |
Definition at line 514 of file wn_map.cxx.
References category, OPCODE_mapcat(), void, WN_MAP_get_map_id(), and WN_opcode().
Referenced by IPA_WN_Move_Maps_PU(), SUMMARIZE< program >::Process_callsite(), and SUMMARIZE< program >::Process_control_dependence().
| WN_MAP_TAB* WN_MAP_TAB_Create | ( | struct mem_pool * | pool | ) |
Definition at line 132 of file wn_map.cxx.
References wn_map_tab::_dont_copy, wn_map_tab::_free_list_count, wn_map_tab::_free_list_pool, wn_map_tab::_free_list_size, wn_map_tab::_is_used, wn_map_tab::_kind, wn_map_tab::_last_map_id, wn_map_tab::_map_size, wn_map_tab::_mapping, wn_map_tab::_pool, category, FALSE, i, INT32, NULL, TRUE, TYPE_MEM_POOL_ALLOC, WN_MAP_AC_INTERNAL, WN_MAP_ALIAS_CLASS, WN_MAP_CATEGORIES, WN_MAP_DEPGRAPH, WN_MAP_FEEDBACK, WN_MAP_KIND_INT32, WN_MAP_KIND_VOIDP, WN_MAP_MAX, WN_MAP_PREFETCH, and WN_MAP_RESERVED.
Referenced by Create_MicroTask(), OUTPUT_FUNC_START_PROFILER::Generate_Func_Start_Profiler_PU(), IP_READ_pu(), IPA_Start_Function(), IPO_CLONE::New_Clone(), PDGCS_initialize(), Read_Local_Info(), WFE_Assemble_Asm(), WFE_Start_Function(), WGEN_Assemble_Asm(), and WGEN_Start_Function().
| void WN_MAP_TAB_Delete | ( | WN_MAP_TAB * | maptab | ) |
Definition at line 182 of file wn_map.cxx.
References wn_map_tab::_free_list, wn_map_tab::_free_list_pool, wn_map_tab::_free_list_size, wn_map_tab::_is_used, category, i, INT32, IPA_WN_MAP_Delete(), MEM_POOL_FREE, WN_MAP_CATEGORIES, and WN_MAP_MAX.
Referenced by Free_Local_Info(), WFE_Assemble_Asm(), WFE_Finish_Function(), WFE_Start_Function(), WGEN_Assemble_Asm(), WGEN_Finish_Function(), and WGEN_Start_Function().
Mapping mechanism for tree nodes --------------------------------
Description:
This module implements the mapping mechanism. Its interface is described in wn_map.h
Implementation Description The interface/external behavior of the mapping routines is described in wn_map.h. Here we describe the implementation.
The set of possible opcodes is partitioned into categories. We provide a separate mapping mechanism for each category, although this is transparent to the user. When the user creates a mapping, no memory is allocated. We instead use a lazy model that allocates space when the user first sets the value for a node. Thus, while the same mapping can be used by opcodes in different categories, space is only reserved for those categores that have opcodes which are set. As an example, the user may create a data dependence mapping. If he only sets the mappings for loads and stores, memory will only be allocated for all the load/store nodes.
Each wn_map has a WN_MAP_KIND flag to indicate what kind of values it holds. They may be void*, INT32, or INT64 values.
Every WN contains a map_id. This map_id is unique among all nodes of the same category in one PU. Two nodes of different categories or in different PUs may share the same map_id. Every node has its map_id initialized to -1. A node only gets a valid map_id when it is assigned a value for one of the maps. This allows us to avoid wasting map_id space on nodes that are never mapped.
To save space, we retain a free list of map_ids. When a WN is deleted, the WN_MAP_Add_Free_List method is called automatically to add the map_id to the free list. If we later need a new map_id, we can just grab a value off the free list.
Definition at line 104 of file wn_map.cxx.
Referenced by IP_ALIAS_CLASSIFICATION::Classify_memops(), Create_MicroTask(), Delete_Call(), DRA_Add_Clone(), fix_tree(), Gen_MP_SingleProcess_Region(), Inline_callees_into_caller(), Inliner_Write_PUs(), Insert_Labels(), IP_READ_fix_tree(), IP_READ_get_tree(), IP_READ_pu(), IPA_NODE_CONTEXT::IPA_NODE_CONTEXT(), IPO_Copy_Tree(), IPO_INLINE::IPO_INLINE(), IPO_Modify_WN_for_field_reorder(), ir_put_wn(), Lower_Master(), lower_mp(), LWN_Delete_Tree(), PDGCS_initialize(), PDGCS_new_proc(), IPO_INLINE::Post_Process_Caller(), Postprocess_PU(), Preprocess_PU(), SUMMARIZE< program >::Process_callsite(), SUMMARIZE< program >::Process_control_dependence(), Process_Parallel_Do(), Process_Parallel_Region(), Process_PDO(), Read_Local_Info(), IPA_NODE::Read_PU(), Reset_param_list(), Save_And_Restore_Stack(), Set_Tables(), Strip_Nested_MP(), Transform_Parallel_Block(), WFE_Assemble_Asm(), WFE_Finish_Function(), WFE_Start_Function(), WGEN_Assemble_Asm(), WGEN_Finish_Function(), WGEN_Start_Function(), WN_copy_stmap(), WN_CopyMap(), WN_get_tree(), WN_Map_Valid(), Write_inline_pu(), Write_PU_Info(), and IPA_NODE_CONTEXT::~IPA_NODE_CONTEXT().
1.5.6