Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
symtab_utils.h File Reference
#include <upc_symtab_utils.h>
Include dependency graph for symtab_utils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define MTYPE_To_TY(t)   MTYPE_TO_TY_array[t]
#define Be_Type_Tbl(t)   MTYPE_TO_TY_array[t]
#define TY_EQUIV_NO_FLAGS   0x00000000
#define TY_EQUIV_IGNORE_NAMES   0x00000001 /* ignore names */
#define TY_EQUIV_ALIGN   0x00000002 /* check for equal alignment */
#define TY_EQUIV_QUALIFIER   0x00000004 /* check for equal qualifiers */
#define MTYPE_To_PREG(t)   MTYPE_TO_PREG_array[t]
#define Int32_Preg   MTYPE_To_PREG (MTYPE_I4)
#define Int64_Preg   MTYPE_To_PREG (MTYPE_I8)
#define Float32_Preg   MTYPE_To_PREG (MTYPE_F4)
#define Float64_Preg   MTYPE_To_PREG (MTYPE_F8)
#define FOREACH_SYMBOL(level, s, i)   for (i = 1; i < ST_Table_Size(level) && (s = &St_Table(level,i)); ++i)
#define FOREACH_LABEL(level, s, i)   for (i = 1; i < LABEL_Table_Size(level) && (s = &Label_Table(i)); ++i)
#define FOREACH_INITO(level, o, i)   for (i = 1; i < INITO_Table_Size(level) && (o = &Inito_Table(level,i)); ++i)
#define FOREACH_INITV(init, v)   for (v = init; v != 0; v = Initv_Table[v].next)

Functions

INT64 ST_size (const ST *)
STCopy_ST (ST *st)
STCopy_ST (ST *st, SYMTAB_IDX scope)
STCopy_ST_No_Base (ST *st, SYMTAB_IDX scope)
BOOL ST_is_constant (const ST *)
BOOL ST_is_private_local (const ST *)
STGen_Temp_Symbol (TY_IDX ty, const char *rootname)
STGen_Read_Only_Symbol (TY_IDX, const char *rootname)
BOOL ST_visible_outside_dso (const ST &s)
BOOL ST_visible_outside_dso (const ST *s)
STGen_Intrinsic_Function (TY_IDX, const char *function_name)
TY_IDX Make_Function_Type (TY_IDX return_ty_idx)
TY_IDX Make_Array_Type (TYPE_ID element_type, INT32 ndim, INT64 len)
TY_IDX Copy_TY (TY_IDX ty)
UINT TY_log_base2 (UINT align)
TY_IDX TY_pointer (TY_IDX ty, BOOL f90_pointer=FALSE)
TY_IDX Make_Shared_Type (TY_IDX ty_idx, int bsize, CONSISTENCY_class consistency=NO_CONSISTENCY)
TY_IDX Make_Pointer_Type (TY_IDX ty_idx, BOOL f90_pointer=FALSE)
TY_IDX Make_F90_Pointer_Type (TY_IDX ty_idx)
TY_IDX Make_Align_Type (TY_IDX ty_idx, INT32 align)
TY_IDX Promoted_Parm_Type (const ST *)
BOOL TY_are_equivalent (TY_IDX ty_id1, TY_IDX ty_id2, UINT32 flags=TY_EQUIV_NO_FLAGS)
TY_IDX TY_is_unique (const TY_IDX ty_idx)
const char * Preg_Name (PREG_NUM i)
PREG_NUM Create_Preg_explicit (TYPE_ID mtype, const char *name, SCOPE *scope_tab, SYMTAB_IDX level)
PREG_NUM Create_Preg (TYPE_ID mtype, const char *name)
INT32 Preg_Increment (TYPE_ID mtype)
BOOL ARB_are_equivalent (ARB_HANDLE arb_id1, ARB_HANDLE arb_id2, UINT32 flags=TY_EQUIV_NO_FLAGS)
void ARB_swap (ARB_HANDLE arb1, ARB_HANDLE arb2)
void ARB_copy (ARB_HANDLE arb1, ARB_HANDLE arb2)
BOOL FLD_are_equivalent (FLD_HANDLE fld_id1, FLD_HANDLE fld_id2, UINT32 flags=TY_EQUIV_NO_FLAGS)
FLD_HANDLE FLD_get_to_field (TY_IDX struct_ty_idx, UINT field_id, UINT &cur_field_id)
BOOL TYLIST_are_equivalent (TYLIST_IDX tylist_id1, TYLIST_IDX tylist_id2, UINT32 flags=TY_EQUIV_NO_FLAGS)
BLK_IDX Copy_BLK (BLK_IDX b)
void Base_Symbol_And_Offset (ST *st, ST **base_symbol, INT64 *offset_from_base)
const char * Class_Name (ST_CLASS cl)
ST_CLASS Name_To_Class (const char *nm)
const char * Sclass_Name (ST_SCLASS sc)
ST_SCLASS Name_To_Sclass (const char *nm)
const char * Export_Name (ST_EXPORT ex)
ST_EXPORT Name_To_Export (const char *nm)
const char * Kind_Name (TY_KIND k)
TY_KIND Name_To_Kind (const char *nm)
const char * LABEL_Kind_Name (LABEL_KIND k)
LABEL_KIND Name_To_LABEL_Kind (const char *nm)
const char * ST_ATTR_Kind_Name (ST_ATTR_KIND k)
ST_ATTR_KIND Name_To_ST_ATTR_Kind (const char *nm)
const char * FILE_INFO_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_FILE_INFO_FLAGS (const char *str)
const char * ST_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_ST_FLAGS (const char *str)
const char * ST_EXT_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_ST_EXT_FLAGS (const char *str)
const char * FLD_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_FLD_FLAGS (const char *str)
const char * ARB_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_ARB_FLAGS (const char *str)
const char * LABEL_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_LABEL_FLAGS (const char *str)
const char * TY_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_TY_FLAGS (const char *str)
const char * TY_PU_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_TY_PU_FLAGS (const char *str)
const char * PU_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_PU_FLAGS (const char *str)
const char * PU_SRC_LANG_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_PU_SRC_LANG_FLAGS (const char *str)
const char * BLK_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_BLK_FLAGS (const char *str)
void Print_local_symtab (FILE *f, const SCOPE &scope)
void Print_global_symtab (FILE *f)
void Print_symtab (FILE *f, SYMTAB_IDX level)
void New_Scope (SYMTAB_IDX level, MEM_POOL *pool, BOOL reserve_index_zero)
void Delete_Scope (SYMTAB_IDX level)
void Initialize_Symbol_Tables (BOOL reserve_index_zero)
void Initialize_Special_Global_Symbols ()
PU_ITER Make_pu_iter (PU_IDX pu_idx)
ST_ITER Make_st_iter (const ST *st)
TY_ITER Make_ty_iter (TY_IDX ty_idx)
FLD_ITER Make_fld_iter (FLD_HANDLE fld)
TYLIST_ITER Make_tylist_iter (TYLIST_IDX tylist_idx)
ARB_ITER Make_arb_iter (ARB_HANDLE arb)
LABEL_ITER Make_label_iter (LABEL_IDX label_idx)
PREG_ITER Make_preg_iter (PREG_IDX preg_idx)
ST_ATTR_ITER Make_st_attr_iter (ST_ATTR_IDX st_attr_idx)
TCON_ITER Make_tcon_iter (TCON_IDX tcon_idx)
INITO_ITER Make_inito_iter (INITO_IDX inito_idx)
INITV_ITER Make_initv_iter (INITV_IDX initv_idx)
template<class T , UINT block_size, class OP >
void For_all (SEGMENTED_ARRAY< T, block_size > &table, const OP &op)
template<class T , UINT block_size, class OP >
void For_all (RELATED_SEGMENTED_ARRAY< T, block_size > &table, const OP &op)
template<class OP >
void For_all (const SYMBOL_TABLE &, SYMTAB_IDX level, const OP &op)
template<class OP >
void For_all (const LABEL_TABLE &, const OP &op)
template<class OP >
void For_all (const PREG_TABLE &, const OP &op)
template<class OP >
void For_all (const ST_ATTR_TABLE &, SYMTAB_IDX level, const OP &op)
template<class OP >
void For_all (const TYPE_TABLE &, const OP &op)
template<class T , UINT block_size, class PREDICATE >
UINT32 For_all_until (const SEGMENTED_ARRAY< T, block_size > &table, const PREDICATE &pred)
template<class T , UINT block_size, class PREDICATE >
UINT32 For_all_until (const RELATED_SEGMENTED_ARRAY< T, block_size > &table, const PREDICATE &pred)
template<class PREDICATE >
ST_IDX For_all_until (const SYMBOL_TABLE &, SYMTAB_IDX level, const PREDICATE &pred)
template<class PREDICATE >
UINT32 For_all_until (const LABEL_TABLE &, const PREDICATE &pred)
template<class PREDICATE >
UINT32 For_all_until (const PREG_TABLE &, const PREDICATE &pred)
template<class PREDICATE >
ST_ATTR_IDX For_all_until (const ST_ATTR_TABLE &, SYMTAB_IDX level, const PREDICATE &pred)
template<class PREDICATE >
TY_IDX For_all_until (const TYPE_TABLE &, const PREDICATE &pred)

Variables

TY_IDX MTYPE_TO_TY_array [MTYPE_LAST+1]
TY_IDX Void_Type
TY_IDX FE_int_Type
TY_IDX FE_double_Type
TY_IDX Spill_Int_Type
TY_IDX Spill_Float_Type
STMTYPE_TO_PREG_array [MTYPE_LAST+1]
STInt_Preg
STFloat_Preg
STReturn_Val_Preg

Define Documentation

#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 FOREACH_INITO (   level,
  o,
 
)    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,
 
)    for (v = init; v != 0; v = Initv_Table[v].next)

Definition at line 657 of file symtab_utils.h.

#define FOREACH_LABEL (   level,
  s,
 
)    for (i = 1; i < LABEL_Table_Size(level) && (s = &Label_Table(i)); ++i)

Definition at line 650 of file symtab_utils.h.

#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().


Function Documentation

void ARB_copy ( ARB_HANDLE  arb1,
ARB_HANDLE  arb2 
) [inline]

Definition at line 235 of file symtab_utils.h.

References ARB_HANDLE::Entry().

Here is the call graph for this function:

const char* ARB_FLAGS_To_Str ( UINT64  flags)

Definition at line 2091 of file symtab.cxx.

References ARBFLAGS_ToStrTbl, and ir_a2b::MapFlagsToStr().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

const char* BLK_FLAGS_To_Str ( UINT64  flags)

Definition at line 2195 of file symtab.cxx.

References BLKFLAGS_ToStrTbl, and ir_a2b::MapFlagsToStr().

Here is the call graph for this function:

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().

Here is the call graph for this function:

Definition at line 1458 of file symtab.cxx.

References Blk_Table, and SEGMENTED_ARRAY< T, block_size >::Insert().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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.

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

Definition at line 2023 of file symtab.cxx.

References FIFLAGS_ToStrTbl, FIFLAGS_ToStrTblSZ, and ir_a2b::MapFlagsToStr().

Referenced by FILE_INFO::Print().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

FLD_HANDLE FLD_get_to_field ( TY_IDX  struct_ty_idx,
UINT  field_id,
UINT cur_field_id 
)
template<class T , UINT block_size, class OP >
void For_all ( SEGMENTED_ARRAY< T, block_size > &  table,
const OP &  op 
) [inline]
template<class T , UINT block_size, class OP >
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().

Here is the call graph for this function:

template<class OP >
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.

Here is the call graph for this function:

template<class OP >
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.

Here is the call graph for this function:

template<class OP >
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.

Here is the call graph for this function:

template<class OP >
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.

Here is the call graph for this function:

template<class OP >
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.

Here is the call graph for this function:

template<class T , UINT block_size, class PREDICATE >
UINT32 For_all_until ( const SEGMENTED_ARRAY< T, block_size > &  table,
const PREDICATE &  pred 
) [inline]
template<class T , UINT block_size, class PREDICATE >
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.

Here is the call graph for this function:

template<class PREDICATE >
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.

Here is the call graph for this function:

template<class PREDICATE >
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.

Here is the call graph for this function:

template<class PREDICATE >
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.

Here is the call graph for this function:

template<class PREDICATE >
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.

Here is the call graph for this function:

template<class PREDICATE >
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.

Here is the call graph for this function:

ST* Gen_Intrinsic_Function ( TY_IDX  ,
const char *  function_name 
)
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().

Here is the call graph for this function:

const char* Kind_Name ( TY_KIND  k)

Definition at line 1664 of file symtab.cxx.

References EnumToStr_t(), KIND_LAST, ir_a2b::MapEnumToStr(), and TYKindToNameTbl.

Referenced by TY_kind_name().

Here is the call graph for this function:

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().

Here is the call graph for this function:

Definition at line 1681 of file symtab.cxx.

References EnumToStr_t(), LKIND_COUNT, LKIND_ToStrTbl, and ir_a2b::MapEnumToStr().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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.

Here is the call graph for this function:

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.

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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.

Here is the call graph for this function:

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.

Here is the call graph for this function:

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.

Here is the call graph for this function:

Definition at line 1689 of file symtab.cxx.

References EnumToStr_t(), LKIND_COUNT, LKIND_ToStrTbl, and ir_a2b::MapStrToEnum().

Here is the call graph for this function:

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.

Here is the call graph for this function:

Definition at line 1706 of file symtab.cxx.

References EnumToStr_t(), ir_a2b::MapStrToEnum(), ST_ATTR_KIND_COUNT, and STATTR_ToStrTbl.

Here is the call graph for this function:

const char* Preg_Name ( PREG_NUM  i)

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

Definition at line 2176 of file symtab.cxx.

References ir_a2b::MapFlagsToStr(), and PUSRCLANGFLAGS_ToStrTbl.

Referenced by ST::Print().

Here is the call graph for this function:

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().

Here is the call graph for this function:

Definition at line 1698 of file symtab.cxx.

References EnumToStr_t(), ir_a2b::MapEnumToStr(), ST_ATTR_KIND_COUNT, and STATTR_ToStrTbl.

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

BOOL ST_visible_outside_dso ( const ST s) [inline]

Definition at line 88 of file symtab_utils.h.

References ST_visible_outside_dso().

Here is the call graph for this function:

UINT64 Str_To_ARB_FLAGS ( const char *  str)

Definition at line 2099 of file symtab.cxx.

References ARBFLAGS_ToStrTbl, and ir_a2b::MapStrToFlags().

Here is the call graph for this function:

UINT64 Str_To_BLK_FLAGS ( const char *  str)

Definition at line 2203 of file symtab.cxx.

References BLKFLAGS_ToStrTbl, and ir_a2b::MapStrToFlags().

Here is the call graph for this function:

Definition at line 2031 of file symtab.cxx.

References FIFLAGS_ToStrTbl, FIFLAGS_ToStrTblSZ, and ir_a2b::MapStrToFlags().

Here is the call graph for this function:

UINT64 Str_To_FLD_FLAGS ( const char *  str)

Definition at line 2082 of file symtab.cxx.

References FLDFLAGS_ToStrTbl, and ir_a2b::MapStrToFlags().

Here is the call graph for this function:

UINT64 Str_To_LABEL_FLAGS ( const char *  str)

Definition at line 2116 of file symtab.cxx.

References LBLFLAGS_ToStrTbl, and ir_a2b::MapStrToFlags().

Here is the call graph for this function:

UINT64 Str_To_PU_FLAGS ( const char *  str)

Definition at line 2167 of file symtab.cxx.

References ir_a2b::MapStrToFlags(), and PUFLAGS_ToStrTbl.

Here is the call graph for this function:

Definition at line 2185 of file symtab.cxx.

References ir_a2b::MapStrToFlags(), and PUSRCLANGFLAGS_ToStrTbl.

Here is the call graph for this function:

UINT64 Str_To_ST_EXT_FLAGS ( const char *  str)

Definition at line 2065 of file symtab.cxx.

References ir_a2b::MapStrToFlags(), and STEXTFLAGS_ToStrTbl.

Here is the call graph for this function:

UINT64 Str_To_ST_FLAGS ( const char *  str)

Definition at line 2048 of file symtab.cxx.

References ir_a2b::MapStrToFlags(), and STFLAGS_ToStrTbl.

Here is the call graph for this function:

UINT64 Str_To_TY_FLAGS ( const char *  str)

Definition at line 2133 of file symtab.cxx.

References ir_a2b::MapStrToFlags(), and TYFLAGS_ToStrTbl.

Here is the call graph for this function:

UINT64 Str_To_TY_PU_FLAGS ( const char *  str)

Definition at line 2150 of file symtab.cxx.

References ir_a2b::MapStrToFlags(), and TYPUFLAGS_ToStrTbl.

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

const char* TY_PU_FLAGS_To_Str ( UINT64  flags)

Definition at line 2142 of file symtab.cxx.

References ir_a2b::MapFlagsToStr(), and TYPUFLAGS_ToStrTbl.

Here is the call graph for this function:

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().

Here is the call graph for this function:


Variable Documentation

Definition at line 2848 of file symtab.cxx.

Definition at line 2848 of file symtab.cxx.

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 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().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines