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

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:

Definition at line 838 of file data_layout.cxx.

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

Referenced by Initialize_Stack_Frame().

Here is the call graph for this function:

Definition at line 803 of file data_layout.cxx.

References arg_area_size_array, Init_PU_arg_area_size_array(), Is_True, KIND_FUNCTION, max_arg_area_size_index, TY_id(), and TY_kind().

Referenced by Calc_Formal_Area().

Here is the call graph for this function:

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:

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(), ST_sclass(), and TRUE.

Referenced by Allocate_Object(), and Formal_Sym().

Here is the call graph for this function:

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 
)

Definition at line 816 of file data_layout.cxx.

References arg_area_size_array, Init_PU_arg_area_size_array(), Is_True, KIND_FUNCTION, max_arg_area_size_index, size, TY_id(), and TY_kind().

Referenced by Calc_Actual_Area(), and Calc_Formal_Area().

Here is the call graph for this function:

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:

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(), FALSE, FP_Sym, SCLASS_AUTO, SCLASS_FORMAL, SP_Sym, ST_sclass(), and TRUE.

Here is the call graph for this function:

Definition at line 276 of file data_layout.cxx.

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

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

Definition at line 502 of file data_layout.cxx.

References stack_direction.

Definition at line 2650 of file data_layout.cxx.

References Frame_Has_Calls, and Stack_Offset_Adjustment.


Variable Documentation

Definition at line 93 of file data_layout.cxx.

Referenced by Allocate_Local_Spill_Sym().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines