Enumerations | Functions | Variables

data_layout.h File Reference

#include "stab.h"
#include "wn.h"
#include "targ_sim.h"
Include dependency graph for data_layout.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  STACK_DIR { INCREMENT, DECREMENT }
enum  STACK_MODEL { SMODEL_UNDEF = 0, SMODEL_SMALL = 1, SMODEL_LARGE = 2, SMODEL_DYNAMIC = 3 }

Functions

STACK_DIR Stack_Direction (void)
void Initialize_Stack_Frame (WN *PU_tree)
void Calculate_Stack_Frame_Sizes (WN *PU_tree)
INT64 Finalize_Stack_Frame (void)
void Check_Actual_Stack_Size (WN *call_tree)
STAllocate_Vararg_Formal (void)
BOOL Is_Allocated (ST *st)
void Allocate_Object (ST *st)
void Allocate_Temp_To_Memory (ST *st)
STGet_Altentry_UpFormal_Symbol (ST *formal, PLOC ploc)
void Reset_UPFORMAL_Segment (void)
STGet_Vararg_Symbol (PLOC)
void Allocate_File_Statics (void)
void Pad_Global_Arrays ()
BOOL Uses_Small_Offset (ST *st, WN_OFFSET wn_ofst)
INT32 Stack_Alignment (void)
BOOL ST_on_stack (ST *)
BOOL ST_pu_defined (ST *)
STGet_ST_formal_ref_base (const ST *sym)
void Set_ST_formal_ref_base (const ST *sym, ST *base)
PREG_NUM Get_ST_formal_preg_num (const ST *base)
void Set_ST_formal_preg_num (const ST *base, PREG_NUM p)
BOOL ST_has_formal_preg_num (const ST *const st)
UINT32 Get_PU_arg_area_size (PU_IDX)
void Set_PU_arg_area_size (PU_IDX, UINT32 size)
STFind_Special_Return_Address_Symbol (void)
INT Stack_Offset_Adjustment_For_PU (void)

Variables

STSP_Sym
STFP_Sym
STLocal_Spill_Sym
STACK_MODEL Current_PU_Stack_Model
INT32 Current_PU_Actual_Size

Enumeration Type Documentation

enum STACK_DIR
Enumerator:
INCREMENT 
DECREMENT 

Definition at line 69 of file data_layout.h.

Enumerator:
SMODEL_UNDEF 
SMODEL_SMALL 
SMODEL_LARGE 
SMODEL_DYNAMIC 

Definition at line 72 of file data_layout.h.


Function Documentation

void Allocate_File_Statics ( void   ) 
void Allocate_Object ( ST st  ) 
void Allocate_Temp_To_Memory ( ST st  ) 

Definition at line 2111 of file data_layout.cxx.

References Is_True, Process_Stack_Variable(), SCLASS_AUTO, Set_ST_is_temp_var(), and ST_sclass().

Referenced by Allocate_Local_Spill_Sym().

Here is the call graph for this function:

ST* Allocate_Vararg_Formal ( void   ) 
void Calculate_Stack_Frame_Sizes ( WN PU_tree  ) 
void Check_Actual_Stack_Size ( WN call_tree  ) 

Definition at line 1104 of file data_layout.cxx.

References Calc_Actual_Area(), Current_PU_Actual_Size, FALSE, FmtAssert, OPR_CALL, OPR_ICALL, OPR_PICCALL, ST_pu_type(), WN_operator(), WN_st(), and WN_ty().

Here is the call graph for this function:

INT64 Finalize_Stack_Frame ( void   ) 
ST* Find_Special_Return_Address_Symbol ( void   ) 

Definition at line 838 of file data_layout.cxx.

References CURRENT_SYMTAB, For_all_until(), ST_ptr(), and St_Table.

Referenced by Initialize_Stack_Frame().

Here is the call graph for this function:

ST* Get_Altentry_UpFormal_Symbol ( ST formal,
PLOC  ploc 
)
UINT32 Get_PU_arg_area_size ( PU_IDX   ) 
PREG_NUM Get_ST_formal_preg_num ( const ST base  ) 

Definition at line 409 of file data_layout.cxx.

References formal_info_array, max_formal_info_index, NULL, and formal_info::preg.

Referenced by Formal_Sym(), and ST_has_formal_preg_num().

ST* Get_ST_formal_ref_base ( const ST sym  ) 

Definition at line 375 of file data_layout.cxx.

References formal_info::base, formal_info_array, max_formal_info_index, NULL, SCLASS_FORMAL_REF, and ST_sclass().

Referenced by Formal_Sym().

Here is the call graph for this function:

ST* Get_Vararg_Symbol ( PLOC   ) 
void Initialize_Stack_Frame ( WN PU_tree  ) 
BOOL Is_Allocated ( ST st  ) 

Definition at line 218 of file data_layout.cxx.

References Base_Symbol_And_Offset(), CLASS_BLOCK, Is_root_base, SCLASS_FORMAL, ST_class(), and ST_sclass().

Referenced by Allocate_Object(), and Formal_Sym().

Here is the call graph for this function:

void Pad_Global_Arrays (  ) 

Definition at line 2643 of file data_layout.cxx.

References For_all(), GLOBAL_SYMTAB, and St_Table.

Referenced by Phase_Init().

Here is the call graph for this function:

void Reset_UPFORMAL_Segment ( void   ) 

Definition at line 1214 of file data_layout.cxx.

References block, INCREMENT, Initialize_Frame_Segment(), SCLASS_AUTO, Set_ST_ofst(), Set_STB_size(), SF_Block, and SFSEG_UPFORMAL.

Referenced by Allocate_All_Formals().

Here is the call graph for this function:

void Set_PU_arg_area_size ( PU_IDX  ,
UINT32  size 
)
void Set_ST_formal_preg_num ( const ST base,
PREG_NUM  p 
)

Definition at line 422 of file data_layout.cxx.

References FALSE, formal_info_array, Is_True, max_formal_info_index, and formal_info::preg.

Referenced by Formal_Sym().

void Set_ST_formal_ref_base ( const ST sym,
ST base 
)

Definition at line 390 of file data_layout.cxx.

References formal_info::base, formal_info_array, formal_info::level, max_formal_info_index, NULL, Realloc_ST_formal_info(), ST_level(), and formal_info::sym.

Referenced by Formal_Sym().

Here is the call graph for this function:

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

Definition at line 156 of file data_layout.h.

References Get_ST_formal_preg_num(), SCLASS_FORMAL, and ST_sclass().

Here is the call graph for this function:

BOOL ST_on_stack ( ST  ) 

Definition at line 247 of file data_layout.cxx.

References Base_Symbol(), FP_Sym, SCLASS_AUTO, SCLASS_FORMAL, SP_Sym, and ST_sclass().

Here is the call graph for this function:

BOOL ST_pu_defined ( ST  ) 

Definition at line 276 of file data_layout.cxx.

References CLASS_CONST, CLASS_VAR, SCLASS_AUTO, SCLASS_DGLOBAL, SCLASS_FORMAL, SCLASS_FSTATIC, SCLASS_PSTATIC, ST_class(), and ST_sclass().

Here is the call graph for this function:

INT32 Stack_Alignment ( void   ) 

Definition at line 496 of file data_layout.cxx.

References stack_align.

Referenced by Adjusted_Alignment().

STACK_DIR Stack_Direction ( void   ) 

Definition at line 502 of file data_layout.cxx.

References stack_direction.

INT Stack_Offset_Adjustment_For_PU ( void   ) 

Definition at line 2650 of file data_layout.cxx.

References Frame_Has_Calls, and Stack_Offset_Adjustment.

BOOL Uses_Small_Offset ( ST st,
WN_OFFSET  wn_ofst 
)

Variable Documentation

Definition at line 93 of file data_layout.cxx.

Referenced by Allocate_Local_Spill_Sym().