Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include <upc_symtab_utils.h>
Go to the source code of this file.
#define Be_Type_Tbl | ( | t | ) | MTYPE_TO_TY_array[t] |
Definition at line 107 of file symtab_utils.h.
Referenced by cwh_addr_pstid(), cwh_addr_stid(), cwh_auxst_add_dummy(), cwh_create_str_st(), cwh_dst_enter_pu(), cwh_dst_mk_subroutine_type(), cwh_expr_binop_shift(), cwh_inline_allocate(), cwh_intrin_ieee_intrin_call_helper(), cwh_intrin_make_intrinsic_symbol(), cwh_intrin_null_parm(), cwh_intrin_popcnt_leadz_helper(), cwh_intrin_sync_intrin(), cwh_intrin_wrap_value_parm(), cwh_io_conv_array_to_dope(), cwh_io_conv_arrsection_to_dope(), cwh_io_ioitem(), cwh_load_distribute_temp(), cwh_preg_next_preg(), cwh_stab_altentry_temp(), cwh_stab_altentry_TY(), cwh_stab_altres_offset(), cwh_stab_altres_offset_comp(), cwh_stab_const_ST(), cwh_stmt_append_truebr(), cwh_stmt_return_altentry(), cwh_stmt_return_scalar(), cwh_types_character_extra(), cwh_types_dim_struct_TY(), cwh_types_dope_TY(), cwh_types_make_bounds_ST(), cwh_types_mk_basic_TY(), cwh_types_mk_dope_invariant_TY(), cwh_types_mk_f90_pointer_ty(), cwh_types_mk_namelist_item_TY(), cwh_types_mk_result_temp_TY(), cwh_types_WN_TY(), Declare_Func_N_Arg(), Declare_Function(), DRA_EC_Array_Portion_Parms(), DRA_EC_Declare_Types(), fei_addr_con(), fei_allocate(), fei_arith_goto(), fei_bneg(), fei_descriptor(), fei_doloop(), fei_fpclass(), fei_get_dv_hdr_fld(), fei_ieee_sign_xfer(), fei_length(), fei_logb(), fei_malloc(), fei_new_select(), fei_new_select_case(), fei_omp_set_lock(), fei_omp_test_lock(), fei_omp_unset_lock(), fei_ranget(), fei_ranset(), fei_remainder(), fei_return(), fei_round(), fei_rtc(), fei_scalb(), fei_set_dv_hdr_fld(), fei_unit(), Find_Return_Registers(), Gen_Call_Array(), Gen_Free_Cart(), Gen_Malloc_Cart(), Get_Return_Info(), Get_Struct_Parameter_Location(), INITVKIND_ty(), Insert_Alloca(), Make_Const(), MemCtr_Add_Common(), MemCtr_Add_Global(), MemCtr_Add_Local(), MemCtr_Init(), simple_intrinsic(), Stab_Mtype_To_Ty(), TY2C_initialize(), TY2F_pointer(), and WN_LdaLabel().
#define Float32_Preg MTYPE_To_PREG (MTYPE_F4) |
Definition at line 203 of file symtab_utils.h.
Referenced by cwh_stmt_return_altentry(), Find_Return_Registers(), Setup_Preg_Pointers(), WN_CreateLdid(), WN_CreatePStid(), and WN_CreateStid().
#define Float64_Preg MTYPE_To_PREG (MTYPE_F8) |
Definition at line 204 of file symtab_utils.h.
Referenced by cwh_stmt_return_altentry(), Find_Return_Registers(), Setup_Preg_Pointers(), WN_CreateLdid(), WN_CreatePStid(), and WN_CreateStid().
#define FOREACH_INITO | ( | level, | |
o, | |||
i | |||
) | for (i = 1; i < INITO_Table_Size(level) && (o = &Inito_Table(level,i)); ++i) |
Definition at line 654 of file symtab_utils.h.
Referenced by INIT2F_Get_Initv_Array(), and Update_EHRegion_Inito().
#define FOREACH_INITV | ( | init, | |
v | |||
) | for (v = init; v != 0; v = Initv_Table[v].next) |
Definition at line 657 of file symtab_utils.h.
#define FOREACH_LABEL | ( | level, | |
s, | |||
i | |||
) | for (i = 1; i < LABEL_Table_Size(level) && (s = &Label_Table(i)); ++i) |
Definition at line 650 of file symtab_utils.h.
#define FOREACH_SYMBOL | ( | level, | |
s, | |||
i | |||
) | for (i = 1; i < ST_Table_Size(level) && (s = &St_Table(level,i)); ++i) |
Definition at line 647 of file symtab_utils.h.
Referenced by Allocate_File_Statics(), DRA_Finalize(), DRA_Process_Commons(), DRA_Process_Globals(), Enter_Local_Syms_Into_Symtab(), Fill_Align_Symbol(), Finalize_Stack_Frame(), Find_Upc_Vars(), Get_Section_ST_With_Given_Name(), Initialize_Upc_Metadata(), MemCtr_Add(), Stab_Reset_Referenced_Flag(), Upc_Lower_SymbolTable(), W2C_Enter_Global_Symbols(), WN2C_Append_Symtab_Consts(), WN2C_Append_Symtab_Vars(), and WN2C_block().
#define Int32_Preg MTYPE_To_PREG (MTYPE_I4) |
Definition at line 201 of file symtab_utils.h.
Referenced by Find_Return_Registers(), Setup_Preg_Pointers(), WN_CreateLdid(), WN_CreatePStid(), and WN_CreateStid().
#define Int64_Preg MTYPE_To_PREG (MTYPE_I8) |
Definition at line 202 of file symtab_utils.h.
Referenced by Find_Return_Registers(), Setup_Preg_Pointers(), WN_CreateLdid(), WN_CreatePStid(), and WN_CreateStid().
#define MTYPE_To_PREG | ( | t | ) | MTYPE_TO_PREG_array[t] |
Definition at line 200 of file symtab_utils.h.
Referenced by Create_All_Preg_Symbols(), cwh_io_split_io_items(), cwh_preg_next_preg(), cwh_preg_temp_save(), cwh_stmt_return_altentry(), cwh_stmt_return_scalar(), fei_doloop(), Set_up_all_preg_symbols(), Setup_Preg_Pointers(), and WN_LdidPreg().
#define MTYPE_To_TY | ( | t | ) | MTYPE_TO_TY_array[t] |
Definition at line 106 of file symtab_utils.h.
Referenced by Create_All_Preg_Symbols(), Create_Slink_Symbol(), Create_Special_Global_Symbols(), Create_Special_Shared_Global_Symbols(), cwh_addr_mk_ldid(), Fill_Structure_Type(), Initialize_Special_Global_Symbols(), Initialize_Stack_Frame(), Initialize_Upc_Types(), Initialize_Upc_Vars(), Make_Array_Type(), Promoted_Parm_Type(), Set_up_all_preg_symbols(), Setup_Preg_Pointers(), Shared_Load_Extend_Mtyp(), Size_To_Mtype(), Spill_And_Take_Address(), TY_Of_Expr(), Upc_Lower_SymbolTable(), WN2C_lda(), WN_Convert_Shared_To_Local(), WN_Create_PtrEq_Test(), WN_Create_Shared_Load(), WN_Create_Shared_Ptr_Arithmetic(), WN_Create_Shared_Ptr_Diff(), WN_Create_Shared_Store(), WN_Lda(), WN_LdaString(), and WN_SetNull_Sptr().
#define TY_EQUIV_ALIGN 0x00000002 /* check for equal alignment */ |
Definition at line 169 of file symtab_utils.h.
Referenced by TY_are_equivalent().
#define TY_EQUIV_IGNORE_NAMES 0x00000001 /* ignore names */ |
Definition at line 168 of file symtab_utils.h.
Referenced by FLD_are_equivalent(), and TY_are_equivalent().
#define TY_EQUIV_NO_FLAGS 0x00000000 |
Definition at line 167 of file symtab_utils.h.
#define TY_EQUIV_QUALIFIER 0x00000004 /* check for equal qualifiers */ |
Definition at line 170 of file symtab_utils.h.
Referenced by TY_are_equivalent().
BOOL ARB_are_equivalent | ( | ARB_HANDLE | arb_id1, |
ARB_HANDLE | arb_id2, | ||
UINT32 | flags = TY_EQUIV_NO_FLAGS |
||
) |
Definition at line 998 of file symtab.cxx.
References ARB_co_dimension(), ARB_const_lbnd(), ARB_const_stride(), ARB_const_ubnd(), ARB_dimension(), ARB_flags(), ARB_last_dimen(), ARB_lbnd_val(), ARB_lbnd_var(), ARB_stride_val(), ARB_stride_var(), ARB_ubnd_val(), ARB_ubnd_var(), FALSE, and TRUE.
Referenced by Equivalent_Types(), and TY_are_equivalent().
void ARB_copy | ( | ARB_HANDLE | arb1, |
ARB_HANDLE | arb2 | ||
) | [inline] |
Definition at line 235 of file symtab_utils.h.
References ARB_HANDLE::Entry().
const char* ARB_FLAGS_To_Str | ( | UINT64 | flags | ) |
Definition at line 2091 of file symtab.cxx.
References ARBFLAGS_ToStrTbl, and ir_a2b::MapFlagsToStr().
void ARB_swap | ( | ARB_HANDLE | arb1, |
ARB_HANDLE | arb2 | ||
) |
Definition at line 1061 of file symtab.cxx.
References ARB_HANDLE::Entry().
Referenced by cwh_types_mk_array_TY().
void Base_Symbol_And_Offset | ( | ST * | st, |
ST ** | base_symbol, | ||
INT64 * | offset_from_base | ||
) |
Definition at line 1476 of file symtab.cxx.
References ST_base(), and ST_ofst().
Referenced by Base_Symbol(), Is_Allocated(), Offset_From_Base_Symbol(), and ST_Verify_Fields().
const char* BLK_FLAGS_To_Str | ( | UINT64 | flags | ) |
Definition at line 2195 of file symtab.cxx.
References BLKFLAGS_ToStrTbl, and ir_a2b::MapFlagsToStr().
const char* Class_Name | ( | ST_CLASS | cl | ) |
Definition at line 1613 of file symtab.cxx.
References CLASS_COUNT, EnumToStr_t(), ir_a2b::MapEnumToStr(), and STClassToNameTbl.
Referenced by ST::Print(), ST_Verify_Class_Sclass(), ST_Verify_Fields(), and ST_Verify_Flags().
Definition at line 1458 of file symtab.cxx.
References Blk_Table, and SEGMENTED_ARRAY< T, block_size >::Insert().
Definition at line 114 of file symtab.cxx.
References CLASS_PREG, RELATED_SEGMENTED_ARRAY< T, block_size >::Insert(), make_ST_IDX(), Scope_tab, Set_ST_base_idx(), Set_ST_st_idx(), ST_base_idx(), ST_IDX_level(), ST_st_idx(), ST_sym_class(), SCOPE::st_tab, and St_Table.
Referenced by Copy_ST(), Copy_ST_No_Base(), DRA_Mangle_Call_Site(), DRA_Mangle_Entry(), fei_proc_imp(), Formal_Sym(), Get_Altentry_UpFormal_Symbol(), and WN_CopyNode().
ST* Copy_ST | ( | ST * | st, |
SYMTAB_IDX | scope | ||
) |
Definition at line 132 of file symtab.cxx.
References Copy_ST(), RELATED_SEGMENTED_ARRAY< T, block_size >::Insert(), make_ST_IDX(), Scope_tab, Set_ST_base_idx(), Set_ST_st_idx(), ST_base_idx(), ST_IDX_level(), ST_level(), ST_st_idx(), SCOPE::st_tab, and St_Table.
ST* Copy_ST_No_Base | ( | ST * | st, |
SYMTAB_IDX | scope | ||
) |
Definition at line 151 of file symtab.cxx.
References Copy_ST(), GLOBAL_SYMTAB, RELATED_SEGMENTED_ARRAY< T, block_size >::Insert(), make_ST_IDX(), Save_Str2i(), Scope_tab, Set_ST_base_idx(), Set_ST_name_idx(), Set_ST_st_idx(), ST_base_idx(), ST_level(), ST_name(), ST_name_idx(), ST_st_idx(), SCOPE::st_tab, and St_Table.
Referenced by IPO_SYMTAB::IPO_Copy_ST().
Definition at line 237 of file symtab.cxx.
References SEGMENTED_ARRAY< T, block_size >::Insert(), Set_TY_IDX_index(), Ty_tab, and Ty_Table.
Referenced by Allocate_All_Formals(), cwh_types_form_misaligned_TY(), and Fill_Align_Symbol().
PREG_NUM Create_Preg | ( | TYPE_ID | mtype, |
const char * | name | ||
) |
Definition at line 1420 of file symtab.cxx.
References Create_Preg_explicit(), CURRENT_SYMTAB, and Scope_tab.
PREG_NUM Create_Preg_explicit | ( | TYPE_ID | mtype, |
const char * | name, | ||
SCOPE * | scope_tab, | ||
SYMTAB_IDX | level | ||
) |
Definition at line 1383 of file symtab.cxx.
References Last_Dedicated_Preg_Offset, MTYPE_B, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_FQ, New_PREG_explicit(), Save_Str(), and Set_PREG_name_idx().
Referenced by Create_Preg().
void Delete_Scope | ( | SYMTAB_IDX | level | ) |
Definition at line 2903 of file symtab.cxx.
References CXX_DELETE, SCOPE::inito_tab, SCOPE::label_tab, SCOPE::pool, SCOPE::preg_tab, Scope_tab, SCOPE::st_attr_tab, and SCOPE::st_tab.
Referenced by cwh_stab_end_procs(), and Free_Local_Info().
const char* Export_Name | ( | ST_EXPORT | ex | ) |
Definition at line 1647 of file symtab.cxx.
References EnumToStr_t(), EXPORT_COUNT, ir_a2b::MapEnumToStr(), and STExportToNameTbl.
Referenced by ST::Print(), ST_Verify_Flags(), and ST_Verify_Sclass_Export().
const char* FILE_INFO_FLAGS_To_Str | ( | UINT64 | flags | ) |
Definition at line 2023 of file symtab.cxx.
References FIFLAGS_ToStrTbl, FIFLAGS_ToStrTblSZ, and ir_a2b::MapFlagsToStr().
Referenced by FILE_INFO::Print().
BOOL FLD_are_equivalent | ( | FLD_HANDLE | fld_id1, |
FLD_HANDLE | fld_id2, | ||
UINT32 | flags = TY_EQUIV_NO_FLAGS |
||
) |
Definition at line 1077 of file symtab.cxx.
References FALSE, FLD_bofst(), FLD_bsize(), FLD_flags(), FLD_name_idx(), FLD_ofst(), FLD_st(), FLD_type(), TY_are_equivalent(), and TY_EQUIV_IGNORE_NAMES.
Referenced by Struct_are_equivalent().
const char* FLD_FLAGS_To_Str | ( | UINT64 | flags | ) |
Definition at line 2074 of file symtab.cxx.
References FLDFLAGS_ToStrTbl, and ir_a2b::MapFlagsToStr().
Referenced by FLD::Print().
FLD_HANDLE FLD_get_to_field | ( | TY_IDX | struct_ty_idx, |
UINT | field_id, | ||
UINT & | cur_field_id | ||
) |
Definition at line 275 of file symtab.cxx.
References FLD_get_to_field(), FLD_last_field(), FLD_type(), is_upcr_ptr(), KIND_STRUCT, Make_fld_iter(), TY_fld(), and TY_kind().
Referenced by field_type(), FLD_get_to_field(), Get_Field_Type(), WN_Create_Shared_Load(), WN_CreateIstore(), WN_CreatePStid(), WN_CreatePstore(), and WN_CreateStid().
void For_all | ( | SEGMENTED_ARRAY< T, block_size > & | table, |
const OP & | op | ||
) | [inline] |
Definition at line 516 of file symtab_utils.h.
References For_all_entries().
Referenced by Allocate_File_Statics(), cwh_data_emit_symbol_inits(), cwh_dst_enter_pu(), Finalize_Stack_Frame(), Pad_Global_Arrays(), Print_global_symtab(), IPO_SYMTAB::Promote_Statics(), Verify_GLOBAL_SYMTAB(), W2F_Enter_Global_Symbols(), WN2F_Append_Block_Data(), WN2F_Append_Symtab_Vars(), and WN2F_Exit_PU_Block().
void For_all | ( | RELATED_SEGMENTED_ARRAY< T, block_size > & | table, |
const OP & | op | ||
) | [inline] |
Definition at line 523 of file symtab_utils.h.
References For_all_entries().
void For_all | ( | const SYMBOL_TABLE & | , |
SYMTAB_IDX | level, | ||
const OP & | op | ||
) | [inline] |
Definition at line 530 of file symtab_utils.h.
References For_all_entries(), and Scope_tab.
void For_all | ( | const LABEL_TABLE & | , |
const OP & | op | ||
) | [inline] |
Definition at line 544 of file symtab_utils.h.
References CURRENT_SYMTAB, For_all_entries(), and Scope_tab.
void For_all | ( | const PREG_TABLE & | , |
const OP & | op | ||
) | [inline] |
Definition at line 551 of file symtab_utils.h.
References CURRENT_SYMTAB, For_all_entries(), and Scope_tab.
void For_all | ( | const ST_ATTR_TABLE & | , |
SYMTAB_IDX | level, | ||
const OP & | op | ||
) | [inline] |
Definition at line 558 of file symtab_utils.h.
References For_all_entries(), and Scope_tab.
void For_all | ( | const TYPE_TABLE & | , |
const OP & | op | ||
) | [inline] |
Definition at line 565 of file symtab_utils.h.
References For_all_entries(), and Ty_tab.
UINT32 For_all_until | ( | const SEGMENTED_ARRAY< T, block_size > & | table, |
const PREDICATE & | pred | ||
) | [inline] |
Definition at line 577 of file symtab_utils.h.
References Find_entry_if(), idx, and NOT_FOUND.
Referenced by Find_INITO_For_Symbol(), Find_Section_Name_For_ST(), Find_Slink_Symbol(), Find_Special_Return_Address_Symbol(), Find_Upc_Vars(), ST_has_initv(), and ST_is_const_initialized_scalar().
UINT32 For_all_until | ( | const RELATED_SEGMENTED_ARRAY< T, block_size > & | table, |
const PREDICATE & | pred | ||
) | [inline] |
Definition at line 586 of file symtab_utils.h.
References Find_entry_if(), idx, and NOT_FOUND.
INITO_IDX For_all_until | ( | const SYMBOL_TABLE & | , |
SYMTAB_IDX | level, | ||
const PREDICATE & | pred | ||
) | [inline] |
Definition at line 595 of file symtab_utils.h.
References Find_entry_if(), idx, make_ST_IDX(), NOT_FOUND, and Scope_tab.
UINT32 For_all_until | ( | const LABEL_TABLE & | , |
const PREDICATE & | pred | ||
) | [inline] |
Definition at line 611 of file symtab_utils.h.
References CURRENT_SYMTAB, Find_entry_if(), idx, NOT_FOUND, and Scope_tab.
UINT32 For_all_until | ( | const PREG_TABLE & | , |
const PREDICATE & | pred | ||
) | [inline] |
Definition at line 619 of file symtab_utils.h.
References CURRENT_SYMTAB, Find_entry_if(), idx, NOT_FOUND, and Scope_tab.
ST_ATTR_IDX For_all_until | ( | const ST_ATTR_TABLE & | , |
SYMTAB_IDX | level, | ||
const PREDICATE & | pred | ||
) | [inline] |
Definition at line 627 of file symtab_utils.h.
References Find_entry_if(), idx, NOT_FOUND, and Scope_tab.
TY_IDX For_all_until | ( | const TYPE_TABLE & | , |
const PREDICATE & | pred | ||
) | [inline] |
Definition at line 636 of file symtab_utils.h.
References Find_entry_if(), make_TY_IDX(), NOT_FOUND, and Ty_tab.
ST* Gen_Intrinsic_Function | ( | TY_IDX | , |
const char * | function_name | ||
) |
Definition at line 742 of file symtab.cxx.
References CLASS_FUNC, CURRENT_SYMTAB, EXPORT_PREEMPTIBLE, GLOBAL_SYMTAB, INTRINSIC_LIST_add(), INTRINSIC_LIST_lookup(), New_PU(), New_ST(), NULL, PU_Init(), Save_Str(), SCLASS_EXTERN, and ST_Init().
ST* Gen_Read_Only_Symbol | ( | TY_IDX | , |
const char * | rootname | ||
) |
Definition at line 2799 of file symtab.cxx.
References CLASS_VAR, Gen_Temp_Named_Symbol(), SCLASS_FSTATIC, and Set_ST_is_const_var().
ST* Gen_Temp_Symbol | ( | TY_IDX | ty, |
const char * | rootname | ||
) |
Definition at line 2788 of file symtab.cxx.
References CLASS_VAR, Gen_Temp_Named_Symbol(), SCLASS_AUTO, and Set_ST_is_temp_var().
Referenced by Allocate_All_Formals(), Allocate_Local_Spill_Sym(), Create_Slink_Symbol(), cwh_load_distribute_temp(), cwh_stab_temp_ST(), Spill_And_Take_Address(), Spill_Shared_Load(), WN_Convert_Shared_To_Local(), WN_Create_PtrEq_Test(), WN_Create_Shared_Load(), WN_Create_Shared_Ptr_Arithmetic(), WN_Create_Shared_Ptr_Diff(), WN_Create_Shared_Store(), and WN_Create_StoP_Cvt().
void Initialize_Special_Global_Symbols | ( | ) |
Definition at line 3115 of file symtab.cxx.
References Create_Special_Global_Symbols(), KIND_POINTER, KIND_SCALAR, KIND_VOID, make_TY_IDX(), MIN, MTYPE_A4, MTYPE_A8, MTYPE_align_req, MTYPE_byte_size, MTYPE_FIRST, MTYPE_FQ, MTYPE_LAST, MTYPE_To_TY, MTYPE_V, Predefined_Void_Type(), Set_TY_align(), Set_up_all_preg_symbols(), Spill_Float_Mtype, Spill_Int_Mtype, TY_flags(), TY_kind(), TY_mtype(), TY_pointed(), TY_size(), Ty_Table, and TY_Table_Size().
Referenced by main().
void Initialize_Symbol_Tables | ( | BOOL | reserve_index_zero | ) |
Definition at line 3170 of file symtab.cxx.
References Create_All_Preg_Symbols(), Create_Special_Global_Symbols(), GLOBAL_SYMTAB, Init_Constab(), Initialize_Strtab(), Initv_Table, Malloc_Mem_Pool, MEM_POOL_Alloc, MTYPE_LAST, New_ARB(), New_BLK(), SEGMENTED_ARRAY< T, block_size >::New_entry(), New_FLD(), New_PU(), New_Scope(), New_TY(), New_TYLIST(), NULL, Read_Global_Data, Scope_tab, and TRUE.
Referenced by ir_b2a(), main(), and PDGCS_initialize().
Definition at line 1664 of file symtab.cxx.
References EnumToStr_t(), KIND_LAST, ir_a2b::MapEnumToStr(), and TYKindToNameTbl.
Referenced by TY_kind_name().
const char* LABEL_FLAGS_To_Str | ( | UINT64 | flags | ) |
Definition at line 2108 of file symtab.cxx.
References LBLFLAGS_ToStrTbl, and ir_a2b::MapFlagsToStr().
Referenced by LABEL::Print().
const char* LABEL_Kind_Name | ( | LABEL_KIND | k | ) |
Definition at line 1681 of file symtab.cxx.
References EnumToStr_t(), LKIND_COUNT, LKIND_ToStrTbl, and ir_a2b::MapEnumToStr().
TY_IDX Make_Align_Type | ( | TY_IDX | ty_idx, |
INT32 | align | ||
) | [inline] |
Definition at line 142 of file symtab_utils.h.
References Set_TY_align().
Referenced by Allocate_Object(), Calc_Local_Area(), and WN_Lda().
ARB_ITER Make_arb_iter | ( | ARB_HANDLE | arb | ) | [inline] |
Definition at line 469 of file symtab_utils.h.
References Arb_Table, and ARB_HANDLE::Idx().
TY_IDX Make_Array_Type | ( | TYPE_ID | element_type, |
INT32 | ndim, | ||
INT64 | len | ||
) |
Definition at line 766 of file symtab.cxx.
References ARB_Init(), FmtAssert, KIND_ARRAY, MTYPE_align_best, MTYPE_name, MTYPE_RegisterSize, MTYPE_To_TY, MTYPE_UNKNOWN, New_ARB(), New_TY(), Set_ARB_dimension(), Set_ARB_first_dimen(), Set_ARB_last_dimen(), Set_TY_align(), Set_TY_arb(), Set_TY_etype(), and TY_Init().
Referenced by Create_Global_Array_ST().
TY_IDX Make_F90_Pointer_Type | ( | TY_IDX | ty_idx | ) |
Definition at line 602 of file symtab.cxx.
References make_ptr_type(), and TRUE.
Referenced by cwh_types_make_pointer_type(), fei_member(), and fei_object().
FLD_ITER Make_fld_iter | ( | FLD_HANDLE | fld | ) | [inline] |
Definition at line 457 of file symtab_utils.h.
References Fld_Table, and FLD_HANDLE::Idx().
Referenced by Adjust_Field_Offset(), Adjust_Type_Size(), Adjusted_Type_Size(), cwh_types_contains_dope(), cwh_types_form_misaligned_TY(), Fill_Align_Symbol(), findEquivFldNm(), FLD_get_to_field(), FLD_Verify_all(), INIT2F_structured(), enter_fld::operator()(), TY::Print(), Stab_Is_Equivalenced_Struct(), Struct_are_equivalent(), TY2C_Translate_Structure(), TY2F_Declare_Common_Flds(), TY2F_Equivalence_FldList(), TY2F_Fld_Size(), TY2F_Get_Fld_Path(), TY2F_List_Common_Flds(), TY2F_Translate_Structure(), and Upc_Lower_SymbolTable().
TY_IDX Make_Function_Type | ( | TY_IDX | return_ty_idx | ) |
Definition at line 610 of file symtab.cxx.
References SEGMENTED_ARRAY< T, block_size >::begin(), buf, SEGMENTED_ARRAY< T, block_size >::Delete_last(), SEGMENTED_ARRAY< T, block_size >::end(), SEGMENTED_ARRAY_ITERATOR< SA_Ptr, T, SA_vt_Ptr, SA_vt_Ref >::Index(), Is_True, KIND_FUNCTION, MTYPE_UNKNOWN, New_TY(), New_TYLIST(), Save_Str(), Set_TY_align(), Set_TY_tylist(), Set_TYLIST_type(), SEGMENTED_ARRAY< T, block_size >::Size(), TY_IDX_index(), TY_Init(), TY_is_unique(), TY_kind(), Ty_tab, TY_tylist(), Tylist_Table, and TYLIST_type().
INITO_ITER Make_inito_iter | ( | INITO_IDX | inito_idx | ) | [inline] |
Definition at line 499 of file symtab_utils.h.
References INITO_IDX_index(), INITO_IDX_level(), and Scope_tab.
INITV_ITER Make_initv_iter | ( | INITV_IDX | initv_idx | ) | [inline] |
Definition at line 506 of file symtab_utils.h.
References Initv_Table.
LABEL_ITER Make_label_iter | ( | LABEL_IDX | label_idx | ) | [inline] |
Definition at line 475 of file symtab_utils.h.
References CURRENT_SYMTAB, and Scope_tab.
TY_IDX Make_Pointer_Type | ( | TY_IDX | ty_idx, |
BOOL | f90_pointer = FALSE |
||
) |
Definition at line 595 of file symtab.cxx.
References FALSE, and make_ptr_type().
Referenced by cwh_auxst_add_dummy(), cwh_io_conv_array_to_dope(), cwh_io_conv_arrsection_to_dope(), cwh_types_ch_parm_TY(), cwh_types_make_pointer_type(), cwh_types_mk_namelist_item_TY(), cwh_types_mk_pointer_TY(), cwh_types_WN_TY(), Declare_Func_N_Arg(), Declare_Function(), DRA_EC_Array_Portion_Parms(), DRA_EC_Declare_Types(), Formal_ST_type(), Formal_Sym(), W2CF_TRANSLATOR::Get_Pointer_To(), MemCtr_Add_Common(), MemCtr_Add_Global(), MemCtr_Add_Local(), MemCtr_Init(), Rewrite_Pragmas_On_Structs(), Rewrite_Structs_In_MPRegion(), Stab_Pointer_To(), TY_Of_Parameter(), WN2C_istore(), WN_Create_Shared_Load(), WN_get_tld_type(), WN_Iload(), WN_Lda(), WN_LdaLabel(), and WN_RIload().
PREG_ITER Make_preg_iter | ( | PREG_IDX | preg_idx | ) | [inline] |
Definition at line 481 of file symtab_utils.h.
References CURRENT_SYMTAB, and Scope_tab.
PU_ITER Make_pu_iter | ( | PU_IDX | pu_idx | ) | [inline] |
Definition at line 438 of file symtab_utils.h.
References Pu_Table.
TY_IDX Make_Shared_Type | ( | TY_IDX | ty_idx, |
int | bsize, | ||
CONSISTENCY_class | consistency | ||
) |
Given ty_idx of a type, create its shared equivalent (with the specified block size) if it doesn't already exist If the given type is already shared, nothing's done and the type is returned
Given a type(shared/non-shared), this function returns an equivalent shared type with the specified block size
Definition at line 510 of file symtab.cxx.
References get_TY_string(), KIND_ARRAY, KIND_POINTER, KIND_SCALAR, KIND_STRUCT, Make_Shared_Type(), New_TY(), Save_Str(), Set_TY_align(), Set_TY_arb(), Set_TY_block_size(), Set_TY_etype(), Set_TY_flags(), Set_TY_fld(), Set_TY_is_shared(), Set_TY_is_strict(), Set_TY_pointed(), STRICT_CONSISTENCY, TY_align(), TY_arb(), TY_block_size(), TY_etype(), TY_flags(), TY_fld(), TY_Init(), TY_is_shared(), TY_is_strict(), TY_kind(), ty_map, TY_mtype(), TY_name(), TY_pointed(), TY_size(), and utoa().
Referenced by Make_Shared_Type().
ST_ATTR_ITER Make_st_attr_iter | ( | ST_ATTR_IDX | st_attr_idx | ) | [inline] |
Definition at line 487 of file symtab_utils.h.
References CURRENT_SYMTAB, and Scope_tab.
ST_ITER Make_st_iter | ( | const ST * | st | ) | [inline] |
Definition at line 444 of file symtab_utils.h.
References idx, Scope_tab, ST_IDX_index(), ST_IDX_level(), and ST_st_idx().
TCON_ITER Make_tcon_iter | ( | TCON_IDX | tcon_idx | ) | [inline] |
Definition at line 493 of file symtab_utils.h.
References Tcon_Table.
TY_ITER Make_ty_iter | ( | TY_IDX | ty_idx | ) | [inline] |
Definition at line 451 of file symtab_utils.h.
References TY_IDX_index(), and Ty_Table.
Referenced by Upc_Lower_SymbolTable().
TYLIST_ITER Make_tylist_iter | ( | TYLIST_IDX | tylist_idx | ) | [inline] |
Definition at line 463 of file symtab_utils.h.
References Tylist_Table.
Referenced by TY_fun_hash().
ST_CLASS Name_To_Class | ( | const char * | nm | ) |
Definition at line 1621 of file symtab.cxx.
References CLASS_COUNT, EnumToStr_t(), ir_a2b::MapStrToEnum(), and STClassToNameTbl.
ST_EXPORT Name_To_Export | ( | const char * | nm | ) |
Definition at line 1655 of file symtab.cxx.
References EnumToStr_t(), EXPORT_COUNT, ir_a2b::MapStrToEnum(), and STExportToNameTbl.
TY_KIND Name_To_Kind | ( | const char * | nm | ) |
Definition at line 1672 of file symtab.cxx.
References EnumToStr_t(), KIND_LAST, ir_a2b::MapStrToEnum(), and TYKindToNameTbl.
LABEL_KIND Name_To_LABEL_Kind | ( | const char * | nm | ) |
Definition at line 1689 of file symtab.cxx.
References EnumToStr_t(), LKIND_COUNT, LKIND_ToStrTbl, and ir_a2b::MapStrToEnum().
ST_SCLASS Name_To_Sclass | ( | const char * | nm | ) |
Definition at line 1638 of file symtab.cxx.
References EnumToStr_t(), ir_a2b::MapStrToEnum(), SCLASS_COUNT, and STSclassToNameTbl.
ST_ATTR_KIND Name_To_ST_ATTR_Kind | ( | const char * | nm | ) |
Definition at line 1706 of file symtab.cxx.
References EnumToStr_t(), ir_a2b::MapStrToEnum(), ST_ATTR_KIND_COUNT, and STATTR_ToStrTbl.
void New_Scope | ( | SYMTAB_IDX | level, |
MEM_POOL * | pool, | ||
BOOL | reserve_index_zero | ||
) |
Definition at line 2859 of file symtab.cxx.
References Current_scope, CXX_NEW, GLOBAL_SYMTAB, SCOPE::Init(), Malloc_Mem_Pool, MEM_POOL_Realloc, SEGMENTED_ARRAY< T, block_size >::New_entry(), RELATED_SEGMENTED_ARRAY< T, block_size >::New_entry(), NULL, Scope_tab, and size.
Referenced by fei_next_func_idx(), Initialize_Symbol_Tables(), ir_b2a(), main(), IPO_SYMTAB::New_Symtab(), and Read_Local_Info().
INT32 Preg_Increment | ( | TYPE_ID | mtype | ) |
Definition at line 1428 of file symtab.cxx.
References MTYPE_B, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_FQ, MTYPE_I8, MTYPE_size_reg, MTYPE_U8, and Spill_Int_Mtype.
Definition at line 1366 of file symtab.cxx.
References Is_True, Last_Dedicated_Preg_Offset, PREG_name(), PREG_name_idx(), and Preg_Table.
Referenced by ir_put_wn(), W2CF_Symtab_Nameof_Preg(), and Whirl_Symbol_Type().
void Print_global_symtab | ( | FILE * | f | ) |
Definition at line 2674 of file symtab.cxx.
References Blk_Table, DBar, File_info, For_all(), fprintf(), GLOBAL_SYMTAB, Inito_Table, FILE_INFO::Print(), Pu_Table, St_Attr_Table, St_Table, STR_Table_Size(), Tcon_Table, and Ty_Table.
Referenced by ir_b2a(), PDGCS_terminate(), and Print_symtab().
void Print_local_symtab | ( | FILE * | f, |
const SCOPE & | scope | ||
) |
Definition at line 2643 of file symtab.cxx.
References DBar, For_all_entries(), fprintf(), SCOPE::inito_tab, SCOPE::label_tab, SCOPE::preg_tab, PU_lexical_level(), SEGMENTED_ARRAY< T, block_size >::Size(), RELATED_SEGMENTED_ARRAY< T, block_size >::Size(), SCOPE::st, SCOPE::st_attr_tab, ST_name(), and SCOPE::st_tab.
Referenced by ir_b2a_process_PUs(), PDGCS_do_proc(), and Print_symtab().
void Print_symtab | ( | FILE * | f, |
SYMTAB_IDX | level | ||
) | [inline] |
Definition at line 409 of file symtab_utils.h.
References GLOBAL_SYMTAB, Print_global_symtab(), Print_local_symtab(), and Scope_tab.
Referenced by Check_for_IR_Dump().
TY_IDX Promoted_Parm_Type | ( | const ST * | ) |
Definition at line 2810 of file symtab.cxx.
References Integer_type, Is_True, KIND_SCALAR, MTYPE_F8, MTYPE_float, MTYPE_To_TY, ST_is_value_parm(), ST_promote_parm(), ST_type(), TY_kind(), TY_mtype(), and TY_size().
const char* PU_FLAGS_To_Str | ( | UINT64 | flags | ) |
Definition at line 2159 of file symtab.cxx.
References ir_a2b::MapFlagsToStr(), and PUFLAGS_ToStrTbl.
Referenced by ST::Print().
const char* PU_SRC_LANG_FLAGS_To_Str | ( | UINT64 | flags | ) |
Definition at line 2176 of file symtab.cxx.
References ir_a2b::MapFlagsToStr(), and PUSRCLANGFLAGS_ToStrTbl.
Referenced by ST::Print().
const char* Sclass_Name | ( | ST_SCLASS | sc | ) |
Definition at line 1630 of file symtab.cxx.
References EnumToStr_t(), ir_a2b::MapEnumToStr(), SCLASS_COUNT, and STSclassToNameTbl.
Referenced by ST::Print(), ST_Verify_Class_Sclass(), ST_Verify_Flags(), and ST_Verify_Sclass_Export().
const char* ST_ATTR_Kind_Name | ( | ST_ATTR_KIND | k | ) |
Definition at line 1698 of file symtab.cxx.
References EnumToStr_t(), ir_a2b::MapEnumToStr(), ST_ATTR_KIND_COUNT, and STATTR_ToStrTbl.
const char* ST_EXT_FLAGS_To_Str | ( | UINT64 | flags | ) |
Definition at line 2057 of file symtab.cxx.
References ir_a2b::MapFlagsToStr(), and STEXTFLAGS_ToStrTbl.
Referenced by ST::Print().
const char* ST_FLAGS_To_Str | ( | UINT64 | flags | ) |
Definition at line 2040 of file symtab.cxx.
References ir_a2b::MapFlagsToStr(), and STFLAGS_ToStrTbl.
Referenced by ST::Print().
BOOL ST_is_constant | ( | const ST * | ) |
Definition at line 180 of file symtab.cxx.
References CLASS_CONST, CLASS_VAR, FALSE, ST_is_const_var(), ST_sym_class(), and TRUE.
Referenced by Allocate_Object(), Assign_ST_To_Named_Section(), and WN_Can_Be_Speculative().
BOOL ST_is_private_local | ( | const ST * | ) |
Definition at line 199 of file symtab.cxx.
References CURRENT_SYMTAB, FALSE, Get_Current_PU(), Is_True, LANG_Recursive, LANG_Recursive_Set, PU_F77_LANG, PU_F90_LANG, PU_recursive(), PU_src_lang(), ST_IDX_level(), ST_st_idx(), and TRUE.
Definition at line 89 of file symtab.cxx.
References CLASS_BLOCK, CLASS_CONST, CLASS_FUNC, CLASS_PARAMETER, CLASS_PREG, CLASS_VAR, FALSE, FmtAssert, MTYPE_STR, ST_class(), ST_type(), STB_size(), STC_val(), Targ_String_Length(), TCON_add_null, TCON_ty, and TY_size().
Referenced by Add_Object_To_Frame_Segment(), Adjusted_Alignment(), Allocate_Space(), Assign_Offset(), Assign_ST_To_Named_Section(), Calc_Local_Area(), Create_And_Set_ST_Base(), Shorten_Section(), St_Block_Union(), ST_Verify_Fields(), and Uses_Small_Offset().
BOOL ST_visible_outside_dso | ( | const ST & | s | ) | [inline] |
Definition at line 81 of file symtab_utils.h.
References EXPORT_INTERNAL, EXPORT_LOCAL_INTERNAL, and ST_export().
Referenced by ST_visible_outside_dso().
BOOL ST_visible_outside_dso | ( | const ST * | s | ) | [inline] |
Definition at line 88 of file symtab_utils.h.
References ST_visible_outside_dso().
UINT64 Str_To_ARB_FLAGS | ( | const char * | str | ) |
Definition at line 2099 of file symtab.cxx.
References ARBFLAGS_ToStrTbl, and ir_a2b::MapStrToFlags().
UINT64 Str_To_BLK_FLAGS | ( | const char * | str | ) |
Definition at line 2203 of file symtab.cxx.
References BLKFLAGS_ToStrTbl, and ir_a2b::MapStrToFlags().
UINT64 Str_To_FILE_INFO_FLAGS | ( | const char * | str | ) |
Definition at line 2031 of file symtab.cxx.
References FIFLAGS_ToStrTbl, FIFLAGS_ToStrTblSZ, and ir_a2b::MapStrToFlags().
UINT64 Str_To_FLD_FLAGS | ( | const char * | str | ) |
Definition at line 2082 of file symtab.cxx.
References FLDFLAGS_ToStrTbl, and ir_a2b::MapStrToFlags().
UINT64 Str_To_LABEL_FLAGS | ( | const char * | str | ) |
Definition at line 2116 of file symtab.cxx.
References LBLFLAGS_ToStrTbl, and ir_a2b::MapStrToFlags().
UINT64 Str_To_PU_FLAGS | ( | const char * | str | ) |
Definition at line 2167 of file symtab.cxx.
References ir_a2b::MapStrToFlags(), and PUFLAGS_ToStrTbl.
UINT64 Str_To_PU_SRC_LANG_FLAGS | ( | const char * | str | ) |
Definition at line 2185 of file symtab.cxx.
References ir_a2b::MapStrToFlags(), and PUSRCLANGFLAGS_ToStrTbl.
UINT64 Str_To_ST_EXT_FLAGS | ( | const char * | str | ) |
Definition at line 2065 of file symtab.cxx.
References ir_a2b::MapStrToFlags(), and STEXTFLAGS_ToStrTbl.
UINT64 Str_To_ST_FLAGS | ( | const char * | str | ) |
Definition at line 2048 of file symtab.cxx.
References ir_a2b::MapStrToFlags(), and STFLAGS_ToStrTbl.
UINT64 Str_To_TY_FLAGS | ( | const char * | str | ) |
Definition at line 2133 of file symtab.cxx.
References ir_a2b::MapStrToFlags(), and TYFLAGS_ToStrTbl.
UINT64 Str_To_TY_PU_FLAGS | ( | const char * | str | ) |
Definition at line 2150 of file symtab.cxx.
References ir_a2b::MapStrToFlags(), and TYPUFLAGS_ToStrTbl.
BOOL TY_are_equivalent | ( | TY_IDX | ty_id1, |
TY_IDX | ty_id2, | ||
UINT32 | flags = TY_EQUIV_NO_FLAGS |
||
) |
Definition at line 1176 of file symtab.cxx.
References ARB_are_equivalent(), FALSE, KIND_ARRAY, KIND_FUNCTION, KIND_INVALID, KIND_POINTER, KIND_SCALAR, KIND_STRUCT, KIND_VOID, Pop_Equiv_Visit_Order(), TY::Pu_flags(), Push_Equiv_Visit_Order(), Struct_are_equivalent(), TRUE, TY_align_exp(), TY_arb(), TY_are_equivalent(), TY_EQUIV_ALIGN, TY_EQUIV_IGNORE_NAMES, TY_EQUIV_QUALIFIER, TY_etype(), TY_flags(), TY_fld(), TY_IDX_index(), TY_is_const(), TY_is_restrict(), TY_is_volatile(), TY_kind(), TY_mtype(), TY_name_idx(), TY_pointed(), TY_size(), Ty_Table, TY_tylist(), and TYLIST_are_equivalent().
Referenced by FLD_are_equivalent(), TY_EQUIV::operator()(), TY_are_equivalent(), and TYLIST_are_equivalent().
const char* TY_FLAGS_To_Str | ( | UINT64 | flags | ) |
Definition at line 2125 of file symtab.cxx.
References ir_a2b::MapFlagsToStr(), and TYFLAGS_ToStrTbl.
Referenced by TY::Print().
TY_IDX TY_is_unique | ( | const TY_IDX | ty_idx | ) |
Definition at line 1325 of file symtab.cxx.
References Fail_FmtAssertion(), Hash_ty_array_table, Hash_ty_function_table, Hash_ty_pointer_table, Hash_ty_scalar_table, Hash_ty_struct_table, KIND_ARRAY, KIND_FUNCTION, KIND_INVALID, KIND_LAST, KIND_POINTER, KIND_SCALAR, KIND_STRUCT, KIND_VOID, TY_is_unique_op(), TY_kind(), and Ty_Table.
Referenced by cwh_types_unique_TY(), and Make_Function_Type().
UINT TY_log_base2 | ( | UINT | align | ) |
Definition at line 248 of file symtab.cxx.
References Is_True, and result.
Referenced by Set_STB_align(), and Set_TY_align().
TY_IDX TY_pointer | ( | TY_IDX | ty, |
BOOL | f90_pointer = FALSE |
||
) |
Definition at line 437 of file symtab.cxx.
References Find_Ty_Pointer(), result, TY_IS_F90_POINTER, and Update_Pointer_Map().
Referenced by W2CF_TRANSLATOR::Get_Pointer_To(), and make_ptr_type().
const char* TY_PU_FLAGS_To_Str | ( | UINT64 | flags | ) |
Definition at line 2142 of file symtab.cxx.
References ir_a2b::MapFlagsToStr(), and TYPUFLAGS_ToStrTbl.
BOOL TYLIST_are_equivalent | ( | TYLIST_IDX | tylist_id1, |
TYLIST_IDX | tylist_id2, | ||
UINT32 | flags = TY_EQUIV_NO_FLAGS |
||
) |
Definition at line 1139 of file symtab.cxx.
References FALSE, TRUE, TY_are_equivalent(), and Tylist_Table.
Referenced by TY_are_equivalent().
Definition at line 2848 of file symtab.cxx.
Definition at line 2848 of file symtab.cxx.
ST * Float_Preg |
Definition at line 2844 of file symtab.cxx.
Definition at line 2844 of file symtab.cxx.
Referenced by Allocate_All_Formals().
Definition at line 2842 of file symtab.cxx.
Definition at line 2846 of file symtab.cxx.
Definition at line 2844 of file symtab.cxx.
Referenced by cwh_stmt_return_scalar(), ST_Verify_Fields(), WN_Convert_Shared_To_Local(), WN_Create_PtrEq_Test(), WN_Create_Shared_Load(), WN_Create_Shared_Ptr_Arithmetic(), WN_Create_Shared_Ptr_Diff(), WN_Create_Shared_Store(), and WN_Create_StoP_Cvt().
Definition at line 2849 of file symtab.cxx.
Definition at line 2849 of file symtab.cxx.
Referenced by Allocate_Local_Spill_Sym().
Definition at line 2848 of file symtab.cxx.
Referenced by Unparse_Target_C::Func_Return_Type(), and INITVKIND_ty().