osprey/be/com/be_symtab.h File Reference

#include "cmplr_segmented_array.h"
#include "symtab.h"
#include "wn.h"
#include "targ_sim.h"

Include dependency graph for be_symtab.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Types

module  BE_ST
type  BE_SCOPE
type  BE_SCOPE_TAB_BE_ST_TAB_ACCESS
module  BE_PU
module  BE_PREG

Typedefs

typedef mUINT32 BE_ST_IDX
typedef
RELATED_SEGMENTED_ARRAY< BE_ST
BE_ST_TAB
typedef
TABLE_INDEXED_BY_LEVEL8_AND_INDEX24
< BE_ST, ST_IDX, SYMTAB_IDX,
BE_SCOPE *,&Be_scope_tab,
BE_SCOPE_TAB_BE_ST_TAB_ACCESS
BE_SYMBOL_TABLE
typedef
RELATED_SEGMENTED_ARRAY
< BE_PREG
BE_PREG_TAB

Functions/Subroutines

BOOL BE_ST_addr_used_locally (const ST_IDX idx)
BOOL BE_ST_addr_used_locally (const BE_ST *const be_st)
BOOL BE_ST_addr_used_locally (const ST *const st)
void Set_BE_ST_addr_used_locally (const ST_IDX idx)
void Set_BE_ST_addr_used_locally (BE_ST *const be_st)
void Set_BE_ST_addr_used_locally (const ST *const st)
void Clear_BE_ST_addr_used_locally (const ST_IDX idx)
void Clear_BE_ST_addr_used_locally (BE_ST *const be_st)
void Clear_BE_ST_addr_used_locally (const ST *const st)
void BE_ST_set_io_auxst (const ST_IDX idx, void *v)
voidBE_ST_io_auxst (const ST_IDX idx)
BOOL BE_ST_addr_passed (const ST_IDX idx)
BOOL BE_ST_addr_passed (const BE_ST *const be_st)
BOOL BE_ST_addr_passed (const ST *const st)
void Set_BE_ST_addr_passed (const ST_IDX idx)
void Set_BE_ST_addr_passed (BE_ST *const be_st)
void Set_BE_ST_addr_passed (const ST *const st)
void Clear_BE_ST_addr_passed (const ST_IDX idx)
void Clear_BE_ST_addr_passed (BE_ST *const be_st)
void Clear_BE_ST_addr_passed (const ST *const st)
BOOL BE_ST_w2fc_referenced (const ST_IDX idx)
BOOL BE_ST_w2fc_referenced (const BE_ST *const be_st)
BOOL BE_ST_w2fc_referenced (const ST *const st)
void Set_BE_ST_w2fc_referenced (const ST_IDX idx)
void Set_BE_ST_w2fc_referenced (BE_ST *const be_st)
void Set_BE_ST_w2fc_referenced (const ST *const st)
void Clear_BE_ST_w2fc_referenced (BE_ST *const be_st)
void Clear_BE_ST_w2fc_referenced (const ST *const st)
void Clear_BE_ST_w2fc_referenced (const ST_IDX idx)
BOOL BE_ST_unknown_const (const ST_IDX idx)
BOOL BE_ST_unknown_const (const BE_ST *const be_st)
BOOL BE_ST_unknown_const (const ST *const st)
void Set_BE_ST_unknown_const (const ST_IDX idx)
void Set_BE_ST_unknown_const (BE_ST *const be_st)
void Set_BE_ST_unknown_const (const ST *const st)
void Clear_BE_ST_unknown_const (BE_ST *const be_st)
void Clear_BE_ST_unknown_const (const ST *const st)
void Clear_BE_ST_unknown_const (const ST_IDX idx)
BOOL BE_ST_pu_has_valid_addr_flags (const ST_IDX idx)
BOOL BE_ST_pu_has_valid_addr_flags (const BE_ST *const be_st)
BOOL BE_ST_pu_has_valid_addr_flags (const ST *const st)
void Set_BE_ST_pu_has_valid_addr_flags (const ST_IDX idx)
void Set_BE_ST_pu_has_valid_addr_flags (BE_ST *const be_st)
void Set_BE_ST_pu_has_valid_addr_flags (const ST *const st)
void Clear_BE_ST_pu_has_valid_addr_flags (BE_ST *const be_st)
void Clear_BE_ST_pu_has_valid_addr_flags (const ST *const st)
void Clear_BE_ST_pu_has_valid_addr_flags (const ST_IDX idx)
BOOL BE_ST_pu_needs_addr_flag_adjust (const ST_IDX idx)
BOOL BE_ST_pu_needs_addr_flag_adjust (const BE_ST *const be_st)
BOOL BE_ST_pu_needs_addr_flag_adjust (const ST *const st)
void Set_BE_ST_pu_needs_addr_flag_adjust (const ST_IDX idx)
void Set_BE_ST_pu_needs_addr_flag_adjust (BE_ST *const be_st)
void Set_BE_ST_pu_needs_addr_flag_adjust (const ST *const st)
void Clear_BE_ST_pu_needs_addr_flag_adjust (BE_ST *const be_st)
void Clear_BE_ST_pu_needs_addr_flag_adjust (const ST *const st)
void Clear_BE_ST_pu_needs_addr_flag_adjust (const ST_IDX idx)
BOOL BE_ST_referenced (const ST *const st)
void Set_BE_ST_referenced (const ST *const st)
void Clear_BE_ST_referenced (const ST *const st)
BOOL ST_is_const_initialized (const ST *)
BOOL ST_is_const_initialized_scalar (const ST *, INT64 offset, TCON &tcon_copy)
INITV_IDX ST_is_const_and_has_initv (const ST *)
INITV_IDX ST_has_initv (const ST *)
static PREG_NUM Create_Preg (TYPE_ID mtype, const char *name, WN *home)
static WNPreg_Home (PREG_NUM preg)
void BE_symtab_initialize_be_scopes (void)
void BE_symtab_free_be_scopes (void)
void BE_symtab_alloc_scope_level (SYMTAB_IDX)

Variables

const UINT32 BE_ST_ADDR_USED_LOCALLY = 0x00000001
const UINT32 BE_ST_ADDR_PASSED = 0x00000002
const UINT32 BE_ST_W2FC_REFERENCED = 0x00000004
const UINT32 BE_ST_UNKNOWN_CONST = 0x00000008
const UINT32 BE_ST_PU_HAS_VALID_ADDR_FLAGS = 0x00000010
const UINT32 BE_ST_PU_NEEDS_ADDR_FLAG_ADJUST = 0x00000020
const UINT32 BE_ST_REFERENCED = 0x00000040
BE_SCOPEBe_scope_tab
BE_SYMBOL_TABLE Be_symbol_table
BE_PREG_TAB Be_preg_tab


Typedef Documentation

Definition at line 524 of file be_symtab.h.

typedef mUINT32 BE_ST_IDX

Definition at line 57 of file be_symtab.h.

Definition at line 89 of file be_symtab.h.

Definition at line 107 of file be_symtab.h.


Function Documentation

BOOL BE_ST_addr_passed ( const ST *const   st  )  [inline]

Definition at line 191 of file be_symtab.h.

References BE_ST_ADDR_PASSED, and ST_st_idx.

BOOL BE_ST_addr_passed ( const BE_ST *const   be_st  )  [inline]

Definition at line 185 of file be_symtab.h.

References BE_ST_ADDR_PASSED, and BE_ST::Is_set().

BOOL BE_ST_addr_passed ( const ST_IDX  idx  )  [inline]

BOOL BE_ST_addr_used_locally ( const ST *const   st  )  [inline]

Definition at line 124 of file be_symtab.h.

References BE_ST_ADDR_USED_LOCALLY, and ST_st_idx.

BOOL BE_ST_addr_used_locally ( const BE_ST *const   be_st  )  [inline]

Definition at line 118 of file be_symtab.h.

References BE_ST_ADDR_USED_LOCALLY, and BE_ST::Is_set().

BOOL BE_ST_addr_used_locally ( const ST_IDX  idx  )  [inline]

void* BE_ST_io_auxst ( const ST_IDX  idx  )  [inline]

Definition at line 172 of file be_symtab.h.

Referenced by cwh_stab_find_auxst().

BOOL BE_ST_pu_has_valid_addr_flags ( const ST *const   st  )  [inline]

Definition at line 356 of file be_symtab.h.

References BE_ST_PU_HAS_VALID_ADDR_FLAGS, and ST_st_idx.

BOOL BE_ST_pu_has_valid_addr_flags ( const BE_ST *const   be_st  )  [inline]

Definition at line 350 of file be_symtab.h.

References BE_ST_PU_HAS_VALID_ADDR_FLAGS, and BE_ST::Is_set().

BOOL BE_ST_pu_has_valid_addr_flags ( const ST_IDX  idx  )  [inline]

Definition at line 344 of file be_symtab.h.

References BE_ST_PU_HAS_VALID_ADDR_FLAGS.

Referenced by Can_Be_Tail_Call().

BOOL BE_ST_pu_needs_addr_flag_adjust ( const ST *const   st  )  [inline]

Definition at line 411 of file be_symtab.h.

References BE_ST_PU_NEEDS_ADDR_FLAG_ADJUST, and ST_st_idx.

BOOL BE_ST_pu_needs_addr_flag_adjust ( const BE_ST *const   be_st  )  [inline]

Definition at line 405 of file be_symtab.h.

References BE_ST_PU_NEEDS_ADDR_FLAG_ADJUST, and BE_ST::Is_set().

BOOL BE_ST_pu_needs_addr_flag_adjust ( const ST_IDX  idx  )  [inline]

Definition at line 399 of file be_symtab.h.

References BE_ST_PU_NEEDS_ADDR_FLAG_ADJUST.

Referenced by PU_adjust_addr_flags().

BOOL BE_ST_referenced ( const ST *const   st  )  [inline]

Definition at line 453 of file be_symtab.h.

References BE_ST_REFERENCED, and ST_st_idx.

Referenced by Process_Initos_And_Literals(), and put_location().

void BE_ST_set_io_auxst ( const ST_IDX  idx,
void v 
) [inline]

Definition at line 166 of file be_symtab.h.

Referenced by cwh_stab_find_auxst(), and cwh_stab_free_auxst().

BOOL BE_ST_unknown_const ( const ST *const   st  )  [inline]

Definition at line 301 of file be_symtab.h.

References BE_ST_UNKNOWN_CONST, and ST_st_idx.

BOOL BE_ST_unknown_const ( const BE_ST *const   be_st  )  [inline]

Definition at line 295 of file be_symtab.h.

References BE_ST_UNKNOWN_CONST, and BE_ST::Is_set().

BOOL BE_ST_unknown_const ( const ST_IDX  idx  )  [inline]

BOOL BE_ST_w2fc_referenced ( const ST *const   st  )  [inline]

Definition at line 246 of file be_symtab.h.

References BE_ST_W2FC_REFERENCED, and ST_st_idx.

BOOL BE_ST_w2fc_referenced ( const BE_ST *const   be_st  )  [inline]

Definition at line 240 of file be_symtab.h.

References BE_ST_W2FC_REFERENCED, and BE_ST::Is_set().

BOOL BE_ST_w2fc_referenced ( const ST_IDX  idx  )  [inline]

Definition at line 234 of file be_symtab.h.

References BE_ST_W2FC_REFERENCED.

Referenced by write_st::operator()(), and WN2C_Append_Symtab_Vars().

void BE_symtab_alloc_scope_level ( SYMTAB_IDX   ) 

void BE_symtab_free_be_scopes ( void   ) 

Definition at line 62 of file be_symtab.cxx.

References MEM_POOL_Delete(), and MEM_POOL_Pop.

Referenced by BE_Symtab_Finalize(), and main().

void BE_symtab_initialize_be_scopes ( void   ) 

Definition at line 55 of file be_symtab.cxx.

References FALSE, MEM_POOL_Initialize, and MEM_POOL_Push.

Referenced by BE_Symtab_Initialize(), and main().

void Clear_BE_ST_addr_passed ( const ST *const   st  )  [inline]

Definition at line 227 of file be_symtab.h.

References BE_ST_ADDR_PASSED, and ST_st_idx.

void Clear_BE_ST_addr_passed ( BE_ST *const   be_st  )  [inline]

Definition at line 221 of file be_symtab.h.

References BE_ST_ADDR_PASSED, and BE_ST::Clear_flag().

void Clear_BE_ST_addr_passed ( const ST_IDX  idx  )  [inline]

Definition at line 215 of file be_symtab.h.

References BE_ST_ADDR_PASSED.

void Clear_BE_ST_addr_used_locally ( const ST *const   st  )  [inline]

Definition at line 160 of file be_symtab.h.

References BE_ST_ADDR_USED_LOCALLY, and ST_st_idx.

void Clear_BE_ST_addr_used_locally ( BE_ST *const   be_st  )  [inline]

Definition at line 154 of file be_symtab.h.

References BE_ST_ADDR_USED_LOCALLY, and BE_ST::Clear_flag().

void Clear_BE_ST_addr_used_locally ( const ST_IDX  idx  )  [inline]

Definition at line 148 of file be_symtab.h.

References BE_ST_ADDR_USED_LOCALLY.

Referenced by OPT_STAB::Count_syms().

void Clear_BE_ST_pu_has_valid_addr_flags ( const ST_IDX  idx  )  [inline]

Definition at line 392 of file be_symtab.h.

References BE_ST_PU_HAS_VALID_ADDR_FLAGS.

void Clear_BE_ST_pu_has_valid_addr_flags ( const ST *const   st  )  [inline]

Definition at line 386 of file be_symtab.h.

References BE_ST_PU_HAS_VALID_ADDR_FLAGS, and ST_st_idx.

void Clear_BE_ST_pu_has_valid_addr_flags ( BE_ST *const   be_st  )  [inline]

Definition at line 380 of file be_symtab.h.

References BE_ST_PU_HAS_VALID_ADDR_FLAGS, and BE_ST::Clear_flag().

Referenced by Do_WOPT_and_CG_with_Regions().

void Clear_BE_ST_pu_needs_addr_flag_adjust ( const ST_IDX  idx  )  [inline]

Definition at line 447 of file be_symtab.h.

References BE_ST_PU_NEEDS_ADDR_FLAG_ADJUST.

void Clear_BE_ST_pu_needs_addr_flag_adjust ( const ST *const   st  )  [inline]

Definition at line 441 of file be_symtab.h.

References BE_ST_PU_NEEDS_ADDR_FLAG_ADJUST, and ST_st_idx.

void Clear_BE_ST_pu_needs_addr_flag_adjust ( BE_ST *const   be_st  )  [inline]

Definition at line 435 of file be_symtab.h.

References BE_ST_PU_NEEDS_ADDR_FLAG_ADJUST, and BE_ST::Clear_flag().

Referenced by PU_adjust_addr_flags().

void Clear_BE_ST_referenced ( const ST *const   st  )  [inline]

Definition at line 463 of file be_symtab.h.

References BE_ST_REFERENCED, and ST_st_idx.

void Clear_BE_ST_unknown_const ( const ST_IDX  idx  )  [inline]

Definition at line 337 of file be_symtab.h.

References BE_ST_UNKNOWN_CONST.

void Clear_BE_ST_unknown_const ( const ST *const   st  )  [inline]

Definition at line 331 of file be_symtab.h.

References BE_ST_UNKNOWN_CONST, and ST_st_idx.

void Clear_BE_ST_unknown_const ( BE_ST *const   be_st  )  [inline]

Definition at line 325 of file be_symtab.h.

References BE_ST_UNKNOWN_CONST, and BE_ST::Clear_flag().

void Clear_BE_ST_w2fc_referenced ( const ST_IDX  idx  )  [inline]

Definition at line 282 of file be_symtab.h.

References BE_ST_W2FC_REFERENCED.

void Clear_BE_ST_w2fc_referenced ( const ST *const   st  )  [inline]

Definition at line 276 of file be_symtab.h.

References BE_ST_W2FC_REFERENCED, and ST_st_idx.

void Clear_BE_ST_w2fc_referenced ( BE_ST *const   be_st  )  [inline]

Definition at line 270 of file be_symtab.h.

References BE_ST_W2FC_REFERENCED, and BE_ST::Clear_flag().

Referenced by Stab_Reset_Referenced_Flag(), and WN2F_Offset_Symref().

static PREG_NUM Create_Preg ( TYPE_ID  mtype,
const char *  name,
WN home 
) [inline, static]

Definition at line 532 of file be_symtab.h.

References Last_Dedicated_Preg_Offset.

Referenced by OPT_STAB::Alloc_preg(), AssignPregExprPos(), Atomic_Using_Swap(), Convert_Section_To_Pdo(), Copy_Array(), Copy_Array_Section(), Copy_Loads_In_Bound(), create_doloop(), Create_Initialize_Loop(), Create_Io_Entry(), Create_Preg_or_Temp(), Create_Preg_Symbol(), cwh_addr_do_bounds_check(), cwh_inline_allocate(), cwh_io_split_io_items(), cwh_preg_next_preg(), cwh_preg_temp_save(), cwh_stmt_insert_conformance_check(), emit_builtin_compare_and_swap(), emit_builtin_lock_test_and_set(), emit_builtin_sync_fetch_op(), F90_Lower_Alloc_Dealloc(), F90_Lower_Copy_To_STemp(), fei_doloop(), Formal_Sym(), Gen_Save_Stack_Pointer(), Handle_ASM(), HMB_Hoist_Expressions(), HMB_Replace_Messy_Bounds(), Hoist_Iload_Ldid_Upper_Bound_One_Level(), Init_Pregs(), WN_INSTRUMENT_WALKER::Instrument_Branch(), WN_INSTRUMENT_WALKER::Instrument_Circuit(), WN_INSTRUMENT_WALKER::Instrument_Compgoto(), WN_INSTRUMENT_WALKER::Instrument_Cselect(), WN_INSTRUMENT_WALKER::Instrument_Switch(), lower_bit_field_id(), lower_cshift(), lower_eoshift(), lower_io_items(), Lower_Master(), lower_maxminloc(), lower_mm_matmul(), lower_mv_matmul(), lower_pack(), lower_random_number(), lower_record_items(), lower_reduction(), lower_unpack(), GOTO_TABLE::Move_Goto_Out(), NORMALIZE_LOOP::Normalize_do_loop(), Parallelize_Doacross_Loop(), RVI::Perform_variable_constant_rvi(), process_inqvar(), process_iostat(), Process_Store(), Read_Pragma_Thread_Affinity(), Replace_store_of_ded_reg(), Save_And_Restore_Stack(), Split_Using_Preg(), Transform_Code(), WN_INSTRUMENT_WALKER::Tree_Walk_Node(), vho_lower_cand_cior(), vho_lower_comma(), vho_lower_cselect(), vho_lower_rcomma(), WFE_Expand_Expr(), WFE_Lhs_Of_Modify_Expr(), WGEN_Expand_Expr(), and WGEN_Lhs_Of_Modify_Expr().

static WN* Preg_Home ( PREG_NUM  preg  )  [inline, static]

void Set_BE_ST_addr_passed ( const ST *const   st  )  [inline]

Definition at line 209 of file be_symtab.h.

References BE_ST_ADDR_PASSED, and ST_st_idx.

void Set_BE_ST_addr_passed ( BE_ST *const   be_st  )  [inline]

Definition at line 203 of file be_symtab.h.

References BE_ST_ADDR_PASSED, and BE_ST::Set_flag().

void Set_BE_ST_addr_passed ( const ST_IDX  idx  )  [inline]

Definition at line 197 of file be_symtab.h.

References BE_ST_ADDR_PASSED.

Referenced by Collect_addr_passed(), and OPT_STAB::Make_st_group().

void Set_BE_ST_addr_used_locally ( const ST *const   st  )  [inline]

Definition at line 142 of file be_symtab.h.

References BE_ST_ADDR_USED_LOCALLY, and ST_st_idx.

void Set_BE_ST_addr_used_locally ( BE_ST *const   be_st  )  [inline]

Definition at line 136 of file be_symtab.h.

References BE_ST_ADDR_USED_LOCALLY, and BE_ST::Set_flag().

void Set_BE_ST_addr_used_locally ( const ST_IDX  idx  )  [inline]

void Set_BE_ST_pu_has_valid_addr_flags ( const ST *const   st  )  [inline]

Definition at line 374 of file be_symtab.h.

References BE_ST_PU_HAS_VALID_ADDR_FLAGS, and ST_st_idx.

void Set_BE_ST_pu_has_valid_addr_flags ( BE_ST *const   be_st  )  [inline]

Definition at line 368 of file be_symtab.h.

References BE_ST_PU_HAS_VALID_ADDR_FLAGS, and BE_ST::Set_flag().

void Set_BE_ST_pu_has_valid_addr_flags ( const ST_IDX  idx  )  [inline]

Definition at line 362 of file be_symtab.h.

References BE_ST_PU_HAS_VALID_ADDR_FLAGS.

Referenced by OPT_STAB::Create().

void Set_BE_ST_pu_needs_addr_flag_adjust ( const ST *const   st  )  [inline]

Definition at line 429 of file be_symtab.h.

References BE_ST_PU_NEEDS_ADDR_FLAG_ADJUST, and ST_st_idx.

void Set_BE_ST_pu_needs_addr_flag_adjust ( BE_ST *const   be_st  )  [inline]

Definition at line 423 of file be_symtab.h.

References BE_ST_PU_NEEDS_ADDR_FLAG_ADJUST, and BE_ST::Set_flag().

void Set_BE_ST_pu_needs_addr_flag_adjust ( const ST_IDX  idx  )  [inline]

Definition at line 417 of file be_symtab.h.

References BE_ST_PU_NEEDS_ADDR_FLAG_ADJUST.

Referenced by Do_WOPT_and_CG_with_Regions(), and Walk_and_Localize().

void Set_BE_ST_referenced ( const ST *const   st  )  [inline]

Definition at line 458 of file be_symtab.h.

References BE_ST_REFERENCED, and ST_st_idx.

Referenced by Exp_Ldst().

void Set_BE_ST_unknown_const ( const ST *const   st  )  [inline]

Definition at line 319 of file be_symtab.h.

References BE_ST_UNKNOWN_CONST, and ST_st_idx.

void Set_BE_ST_unknown_const ( BE_ST *const   be_st  )  [inline]

Definition at line 313 of file be_symtab.h.

References BE_ST_UNKNOWN_CONST, and BE_ST::Set_flag().

void Set_BE_ST_unknown_const ( const ST_IDX  idx  )  [inline]

Definition at line 307 of file be_symtab.h.

References BE_ST_UNKNOWN_CONST.

Referenced by DISTR_INFO::DISTR_INFO().

void Set_BE_ST_w2fc_referenced ( const ST *const   st  )  [inline]

Definition at line 264 of file be_symtab.h.

References BE_ST_W2FC_REFERENCED, and ST_st_idx.

void Set_BE_ST_w2fc_referenced ( BE_ST *const   be_st  )  [inline]

Definition at line 258 of file be_symtab.h.

References BE_ST_W2FC_REFERENCED, and BE_ST::Set_flag().

void Set_BE_ST_w2fc_referenced ( const ST_IDX  idx  )  [inline]

INITV_IDX ST_has_initv ( const ST  ) 

INITV_IDX ST_is_const_and_has_initv ( const ST  ) 

Definition at line 311 of file be_symtab.cxx.

BOOL ST_is_const_initialized ( const ST  ) 

Definition at line 94 of file be_symtab.cxx.

BOOL ST_is_const_initialized_scalar ( const ST ,
INT64  offset,
TCON tcon_copy 
)


Variable Documentation

Definition at line 48 of file be_symtab.cxx.

Referenced by Early_Terminate(), IPA_Preoptimize(), and Preorder_Process_PUs().

const UINT32 BE_ST_ADDR_PASSED = 0x00000002

Definition at line 62 of file be_symtab.h.

Referenced by BE_ST_addr_passed(), Clear_BE_ST_addr_passed(), and Set_BE_ST_addr_passed().

const UINT32 BE_ST_ADDR_USED_LOCALLY = 0x00000001

const UINT32 BE_ST_REFERENCED = 0x00000040

Definition at line 72 of file be_symtab.h.

Referenced by BE_ST_referenced(), Clear_BE_ST_referenced(), and Set_BE_ST_referenced().

const UINT32 BE_ST_UNKNOWN_CONST = 0x00000008

const UINT32 BE_ST_W2FC_REFERENCED = 0x00000004

Definition at line 46 of file be_symtab.cxx.


Generated on Wed Apr 8 14:30:08 2009 for Open64 by  doxygen 1.5.6