Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
stblock.cxx File Reference
#include <elf.h>
#include <cmplrs/rcodes.h>
#include <sys/resource.h>
#include "defs.h"
#include "erglob.h"
#include "erbe.h"
#include "config.h"
#include "tracing.h"
#include "strtab.h"
#include "stab.h"
#include "const.h"
#include "glob.h"
#include "mtypes.h"
#include "targ_const.h"
#include "targ_sim.h"
#include "ttype.h"
#include "irbdata.h"
#include "util.h"
#include "stblock.h"
#include "data_layout.h"
Include dependency graph for stblock.cxx:

Go to the source code of this file.

Classes

struct  is_slink_sym

Defines

#define SYMTAB_level(s)   s
#define Has_No_Base_Block(st)   (ST_base(st) == st)
#define ROUNDUP(val, align)   ( (-(INT64)align) & (INT64)(val+align-1) )
#define ROUNDDOWN(val, align)   ( (-(INT64)align) & (INT64)(val) )

Functions

INT16 Adjusted_Alignment (ST *sym)
STNew_ST_Block (STR_IDX name, BOOL is_global, ST_SCLASS sclass, UINT16 align, INT64 size)
STCopy_ST_Block (ST *orig_blk)
static STCreate_And_Set_ST_Base (ST *blk1, ST *blk2, STACK_DIR dir)
void St_Block_Union (ST *blk1, ST *blk2)
INT64 Offset_From_Base_Symbol (ST *st)
STBase_Symbol (ST *st)
void Create_Slink_Symbol (void)
STFind_Slink_Symbol (SYMTAB_IDX stab)
STFind_Slink_For_ST (ST *st)
STFind_Slink_For_Scope (ST *function, ST *sym)
BOOL ST_is_uplevelTemp (const ST *st)
void Base_Symbol_And_Offset_For_Addressing (ST *sym, INT64 ofst, ST **base_symbol, INT64 *offset_from_base)

Define Documentation

#define Has_No_Base_Block (   st)    (ST_base(st) == st)

Definition at line 78 of file stblock.cxx.

Referenced by Create_And_Set_ST_Base().

#define ROUNDDOWN (   val,
  align 
)    ( (-(INT64)align) & (INT64)(val) )

Definition at line 81 of file stblock.cxx.

#define ROUNDUP (   val,
  align 
)    ( (-(INT64)align) & (INT64)(val+align-1) )

Definition at line 80 of file stblock.cxx.

Referenced by St_Block_Union().

#define SYMTAB_level (   s)    s

Definition at line 76 of file stblock.cxx.

Referenced by Find_Slink_For_ST().


Function Documentation

ST* Base_Symbol ( ST st)

Definition at line 376 of file stblock.cxx.

References Base_Symbol_And_Offset().

Referenced by Allocate_Object(), Create_And_Set_ST_Base(), and ST_on_stack().

Here is the call graph for this function:

void Base_Symbol_And_Offset_For_Addressing ( ST sym,
INT64  ofst,
ST **  base_symbol,
INT64 offset_from_base 
)

Definition at line 526 of file stblock.cxx.

References Gen_PIC_Call_Shared, Gen_PIC_Shared, SCLASS_TEXT, ST_base(), ST_is_preemptible(), ST_ofst(), and ST_sclass().

Here is the call graph for this function:

static ST* Create_And_Set_ST_Base ( ST blk1,
ST blk2,
STACK_DIR  dir 
) [static]
void Create_Slink_Symbol ( void  )

Definition at line 388 of file stblock.cxx.

References Gen_Temp_Symbol(), Get_Current_PU(), MTYPE_To_TY, Pointer_type, and PU_is_nested_func().

Here is the call graph for this function:

ST* Find_Slink_For_Scope ( ST function,
ST sym 
)

Definition at line 466 of file stblock.cxx.

References CURRENT_SYMTAB, Find_Slink_Symbol(), Is_True, NULL, PU_lexical_level(), and SYMTAB_parent.

Here is the call graph for this function:

ST* Find_Slink_For_ST ( ST st)

Definition at line 431 of file stblock.cxx.

References CURRENT_SYMTAB, FALSE, Find_Slink_Symbol(), FmtAssert, Is_True, NULL, ST_level(), ST_name(), SYMTAB_level, and SYMTAB_parent.

Here is the call graph for this function:

Definition at line 406 of file stblock.cxx.

References For_all_until(), Get_Scope_PU(), NULL, PU_is_nested_func(), and St_Table.

Referenced by Find_Slink_For_Scope(), and Find_Slink_For_ST().

Here is the call graph for this function:

ST* New_ST_Block ( STR_IDX  name,
BOOL  is_global,
ST_SCLASS  sclass,
UINT16  align,
INT64  size 
)

Definition at line 357 of file stblock.cxx.

References Base_Symbol_And_Offset().

Here is the call graph for this function:

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines