Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
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.

Classes

class  BE_ST
struct  BE_SCOPE
struct  BE_SCOPE_TAB_BE_ST_TAB_ACCESS
class  BE_PU
class  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

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)
void * BE_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 ST_is_const_initialized (const ST *)
BOOL ST_is_const_initialized_scalar (const ST *, 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, 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 (const 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
BE_SCOPEBe_scope_tab
BE_SYMBOL_TABLE Be_symbol_table
BE_PREG_TAB Be_preg_tab

Typedef Documentation

Definition at line 498 of file be_symtab.h.

typedef mUINT32 BE_ST_IDX

Definition at line 57 of file be_symtab.h.

Definition at line 88 of file be_symtab.h.


Function Documentation

BOOL BE_ST_addr_passed ( const ST_IDX  idx) [inline]

Definition at line 178 of file be_symtab.h.

References BE_ST_ADDR_PASSED, and idx.

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

Definition at line 184 of file be_symtab.h.

References BE_ST_ADDR_PASSED, and BE_ST::Is_set().

Here is the call graph for this function:

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

Definition at line 190 of file be_symtab.h.

References BE_ST_ADDR_PASSED, and ST_st_idx().

Here is the call graph for this function:

Definition at line 111 of file be_symtab.h.

References BE_ST_ADDR_USED_LOCALLY, and idx.

Definition at line 117 of file be_symtab.h.

References BE_ST_ADDR_USED_LOCALLY, and BE_ST::Is_set().

Here is the call graph for this function:

Definition at line 123 of file be_symtab.h.

References BE_ST_ADDR_USED_LOCALLY, and ST_st_idx().

Here is the call graph for this function:

void* BE_ST_io_auxst ( const ST_IDX  idx) [inline]

Definition at line 171 of file be_symtab.h.

References idx.

Definition at line 343 of file be_symtab.h.

References BE_ST_PU_HAS_VALID_ADDR_FLAGS, and idx.

Definition at line 349 of file be_symtab.h.

References BE_ST_PU_HAS_VALID_ADDR_FLAGS, and BE_ST::Is_set().

Here is the call graph for this function:

Definition at line 355 of file be_symtab.h.

References BE_ST_PU_HAS_VALID_ADDR_FLAGS, and ST_st_idx().

Here is the call graph for this function:

Definition at line 398 of file be_symtab.h.

References BE_ST_PU_NEEDS_ADDR_FLAG_ADJUST, and idx.

Referenced by PU_adjust_addr_flags().

Definition at line 404 of file be_symtab.h.

References BE_ST_PU_NEEDS_ADDR_FLAG_ADJUST, and BE_ST::Is_set().

Here is the call graph for this function:

Definition at line 410 of file be_symtab.h.

References BE_ST_PU_NEEDS_ADDR_FLAG_ADJUST, and ST_st_idx().

Here is the call graph for this function:

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

Definition at line 165 of file be_symtab.h.

References idx.

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

Definition at line 294 of file be_symtab.h.

References BE_ST_UNKNOWN_CONST, and BE_ST::Is_set().

Here is the call graph for this function:

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

Definition at line 300 of file be_symtab.h.

References BE_ST_UNKNOWN_CONST, and ST_st_idx().

Here is the call graph for this function:

Definition at line 233 of file be_symtab.h.

References BE_ST_W2FC_REFERENCED, and idx.

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

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

Definition at line 239 of file be_symtab.h.

References BE_ST_W2FC_REFERENCED, and BE_ST::Is_set().

Here is the call graph for this function:

Definition at line 245 of file be_symtab.h.

References BE_ST_W2FC_REFERENCED, and ST_st_idx().

Here is the call graph for this function:

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

Here is the call graph for this function:

Definition at line 55 of file be_symtab.cxx.

References FALSE, MEM_POOL_Initialize, and MEM_POOL_Push.

Referenced by main().

void Clear_BE_ST_addr_passed ( const ST_IDX  idx) [inline]

Definition at line 214 of file be_symtab.h.

References BE_ST_ADDR_PASSED, and idx.

void Clear_BE_ST_addr_passed ( BE_ST *const  be_st) [inline]

Definition at line 220 of file be_symtab.h.

References BE_ST_ADDR_PASSED, and BE_ST::Clear_flag().

Here is the call graph for this function:

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

Definition at line 226 of file be_symtab.h.

References BE_ST_ADDR_PASSED, and ST_st_idx().

Here is the call graph for this function:

void Clear_BE_ST_addr_used_locally ( const ST_IDX  idx) [inline]

Definition at line 147 of file be_symtab.h.

References BE_ST_ADDR_USED_LOCALLY, and idx.

void Clear_BE_ST_addr_used_locally ( BE_ST *const  be_st) [inline]

Definition at line 153 of file be_symtab.h.

References BE_ST_ADDR_USED_LOCALLY, and BE_ST::Clear_flag().

Here is the call graph for this function:

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

Definition at line 159 of file be_symtab.h.

References BE_ST_ADDR_USED_LOCALLY, and ST_st_idx().

Here is the call graph for this function:

void Clear_BE_ST_pu_has_valid_addr_flags ( BE_ST *const  be_st) [inline]

Definition at line 379 of file be_symtab.h.

References BE_ST_PU_HAS_VALID_ADDR_FLAGS, and BE_ST::Clear_flag().

Here is the call graph for this function:

Definition at line 385 of file be_symtab.h.

References BE_ST_PU_HAS_VALID_ADDR_FLAGS, and ST_st_idx().

Here is the call graph for this function:

Definition at line 391 of file be_symtab.h.

References BE_ST_PU_HAS_VALID_ADDR_FLAGS, and idx.

Definition at line 434 of file be_symtab.h.

References BE_ST_PU_NEEDS_ADDR_FLAG_ADJUST, and BE_ST::Clear_flag().

Referenced by PU_adjust_addr_flags().

Here is the call graph for this function:

Definition at line 440 of file be_symtab.h.

References BE_ST_PU_NEEDS_ADDR_FLAG_ADJUST, and ST_st_idx().

Here is the call graph for this function:

Definition at line 446 of file be_symtab.h.

References BE_ST_PU_NEEDS_ADDR_FLAG_ADJUST, and idx.

void Clear_BE_ST_unknown_const ( BE_ST *const  be_st) [inline]

Definition at line 324 of file be_symtab.h.

References BE_ST_UNKNOWN_CONST, and BE_ST::Clear_flag().

Here is the call graph for this function:

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

Definition at line 330 of file be_symtab.h.

References BE_ST_UNKNOWN_CONST, and ST_st_idx().

Here is the call graph for this function:

void Clear_BE_ST_unknown_const ( const ST_IDX  idx) [inline]

Definition at line 336 of file be_symtab.h.

References BE_ST_UNKNOWN_CONST, and idx.

void Clear_BE_ST_w2fc_referenced ( BE_ST *const  be_st) [inline]

Definition at line 269 of file be_symtab.h.

References BE_ST_W2FC_REFERENCED, and BE_ST::Clear_flag().

Referenced by Stab_Reset_Referenced_Flag(), WN2F_interface_blk(), WN2F_io_format(), and WN2F_Offset_Symref().

Here is the call graph for this function:

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

Definition at line 275 of file be_symtab.h.

References BE_ST_W2FC_REFERENCED, and ST_st_idx().

Here is the call graph for this function:

void Clear_BE_ST_w2fc_referenced ( const ST_IDX  idx) [inline]

Definition at line 281 of file be_symtab.h.

References BE_ST_W2FC_REFERENCED, and idx.

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

Definition at line 514 of file be_symtab.h.

References idx, Last_Dedicated_Preg_Offset, NULL, and RELATED_SEGMENTED_ARRAY< T, block_size >::Size().

Referenced by SIMPNODE_GetDefinition().

Here is the call graph for this function:

void Set_BE_ST_addr_passed ( const ST_IDX  idx) [inline]

Definition at line 196 of file be_symtab.h.

References BE_ST_ADDR_PASSED, and idx.

void Set_BE_ST_addr_passed ( BE_ST *const  be_st) [inline]

Definition at line 202 of file be_symtab.h.

References BE_ST_ADDR_PASSED, and BE_ST::Set_flag().

Here is the call graph for this function:

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

Definition at line 208 of file be_symtab.h.

References BE_ST_ADDR_PASSED, and ST_st_idx().

Here is the call graph for this function:

void Set_BE_ST_addr_used_locally ( const ST_IDX  idx) [inline]

Definition at line 129 of file be_symtab.h.

References BE_ST_ADDR_USED_LOCALLY, and idx.

void Set_BE_ST_addr_used_locally ( BE_ST *const  be_st) [inline]

Definition at line 135 of file be_symtab.h.

References BE_ST_ADDR_USED_LOCALLY, and BE_ST::Set_flag().

Here is the call graph for this function:

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

Definition at line 141 of file be_symtab.h.

References BE_ST_ADDR_USED_LOCALLY, and ST_st_idx().

Here is the call graph for this function:

Definition at line 361 of file be_symtab.h.

References BE_ST_PU_HAS_VALID_ADDR_FLAGS, and idx.

void Set_BE_ST_pu_has_valid_addr_flags ( BE_ST *const  be_st) [inline]

Definition at line 367 of file be_symtab.h.

References BE_ST_PU_HAS_VALID_ADDR_FLAGS, and BE_ST::Set_flag().

Here is the call graph for this function:

Definition at line 373 of file be_symtab.h.

References BE_ST_PU_HAS_VALID_ADDR_FLAGS, and ST_st_idx().

Here is the call graph for this function:

Definition at line 416 of file be_symtab.h.

References BE_ST_PU_NEEDS_ADDR_FLAG_ADJUST, and idx.

void Set_BE_ST_pu_needs_addr_flag_adjust ( BE_ST *const  be_st) [inline]

Definition at line 422 of file be_symtab.h.

References BE_ST_PU_NEEDS_ADDR_FLAG_ADJUST, and BE_ST::Set_flag().

Here is the call graph for this function:

Definition at line 428 of file be_symtab.h.

References BE_ST_PU_NEEDS_ADDR_FLAG_ADJUST, and ST_st_idx().

Here is the call graph for this function:

void Set_BE_ST_unknown_const ( const ST_IDX  idx) [inline]

Definition at line 306 of file be_symtab.h.

References BE_ST_UNKNOWN_CONST, and idx.

void Set_BE_ST_unknown_const ( BE_ST *const  be_st) [inline]

Definition at line 312 of file be_symtab.h.

References BE_ST_UNKNOWN_CONST, and BE_ST::Set_flag().

Here is the call graph for this function:

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

Definition at line 318 of file be_symtab.h.

References BE_ST_UNKNOWN_CONST, and ST_st_idx().

Here is the call graph for this function:

void Set_BE_ST_w2fc_referenced ( BE_ST *const  be_st) [inline]

Definition at line 257 of file be_symtab.h.

References BE_ST_W2FC_REFERENCED, and BE_ST::Set_flag().

Here is the call graph for this function:

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

Definition at line 263 of file be_symtab.h.

References BE_ST_W2FC_REFERENCED, and ST_st_idx().

Here is the call graph for this function:

Definition at line 215 of file be_symtab.cxx.

References For_all_until(), Inito_Table, INITO_val(), ST_IDX_level(), ST_is_initialized(), ST_st_idx(), and ST_type().

Referenced by ST_is_const_and_has_initv().

Here is the call graph for this function:

Definition at line 241 of file be_symtab.cxx.

References BE_ST_unknown_const(), FALSE, Is_True, ST_has_initv(), and ST_is_const_initialized().

Here is the call graph for this function:

Definition at line 94 of file be_symtab.cxx.

References BE_ST_unknown_const(), CLASS_VAR, FALSE, ST_class(), ST_is_const_var(), ST_type(), TRUE, and TY_is_volatile().

Referenced by ST_is_const_and_has_initv(), and ST_is_const_initialized_scalar().

Here is the call graph for this function:


Variable Documentation

Definition at line 48 of file be_symtab.cxx.

Referenced by Early_Terminate(), and Preorder_Process_PUs().

Definition at line 44 of file be_symtab.cxx.

Referenced by Early_Terminate(), main(), Postprocess_PU(), and Preprocess_PU().

Definition at line 46 of file be_symtab.cxx.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines