osprey/be/com/data_layout.cxx File Reference

#include <cmplrs/rcodes.h>
#include <sys/resource.h>
#include <ext/slist>
#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 "wintrinsic.h"
#include "sections.h"
#include "betarget.h"
#include "intrn_info.h"

Include dependency graph for data_layout.cxx:

Go to the source code of this file.

Data Types

type  SF_SEG_DESC
type  formal_info
type  is_return_address
type  Assign_Section_Names
type  find_st_attr_secname
type  finalize_inito
type  pad_global_arrays

Defines

#define ST_force_gprel(s)   ST_gprel(s)
#define ST_NAME(st)
#define ST_NO_LINKAGE(st)
#define SFSEG_FIRST   SFSEG_ACTUAL
#define SFSEG_LAST   SFSEG_UPFORMAL
#define SFSEG_seg(s)   ((s)->seg)
#define SFSEG_block(s)   ((s)->block)
#define SFSEG_maxsize(s)   ((s)->maxsize)
#define SFSEG_name(s)   ((s)->name)
#define DEFAULT_LARGE_OBJECT_BYTES   64
#define DEFAULT_TEMP_SPACE_BYTES   4096
#define MAX_SFSEG_BYTES   0x7FFFFFFFFFFFFFFFLL
#define MAX_LARGE_FRAME_OFFSET   0x7FFFFFFFFFFFFFFFLL
#define MAX_FRAME_OFFSET
#define DEFAULT_STACK_ALIGNMENT   _QUAD_ALIGN
#define SF_Seg_Desc(n)   (&SF_Seg_Descriptors[n])
#define SF_Block(n)   (SFSEG_block(SF_Seg_Desc(n)))
#define SF_Maxsize(n)   (SFSEG_maxsize(SF_Seg_Desc(n)))
#define SF_Name(n)   (SFSEG_name(SF_Seg_Desc(n)))
#define Is_root_base(st)   (ST_class(st) == CLASS_BLOCK && STB_root_base(st))
#define Has_No_Base_Block(st)   (ST_base(st) == st)
#define Is_Allocatable(st)   (!Has_Base_Block(st) && !Is_root_base(st))
#define Is_Allocatable_Root_Block(st)   (ST_class(st) == CLASS_BLOCK && !Is_root_base(st) && Has_No_Base_Block(st))
#define ROUNDUP(val, align)   ( (-(INT64)align) & (INT64)(val+align-1) )
#define ROUNDDOWN(val, align)   ( (-(INT64)align) & (INT64)(val) )
#define IS_POW2(num)   ( (~((num)-1) & (num) ) == (num) )
#define vararg_symbols   ((ST * *)0)
#define SEG_SIZE(s)
#define MERGE_SEGMENT(base, seg, mxfrm)   ST_Block_Merge (base, SF_Block(seg), 0, 0, mxfrm)

Typedefs

typedef enum _align ALIGN

Enumerations

enum  SF_SEGMENT {
  SFSEG_UNKNOWN, SFSEG_ACTUAL, SFSEG_FTEMP, SFSEG_FORMAL,
  SFSEG_UPFORMAL
}
enum  _align {
  _BYTE_ALIGN = 1, _CARD_ALIGN = 2, _WORD_ALIGN = 4, _DWORD_ALIGN = 8,
  _QUAD_ALIGN = 16
}

Functions/Subroutines

void Early_Terminate (INT status)
static SECTION_IDX Shorten_Section (ST *, SECTION_IDX)
static void Allocate_Object_To_Section (ST *, SECTION_IDX, UINT)
static void Allocate_Label (ST *lab)
BOOL ST_has_Predefined_Named_Section (ST *, SECTION_IDX &)
static void Allocate_Object_To_Predefined_Named_Section (ST *, SECTION_IDX)
BOOL Is_Allocated (ST *st)
BOOL ST_on_stack (ST *sym)
BOOL ST_pu_defined (ST *sym)
static void Realloc_ST_formal_info (INT min_needed)
static void Init_ST_formal_info_for_PU (INT num_formals)
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)
static STFormal_Sym (ST *sym, BOOL onstack)
INT32 Stack_Alignment (void)
STACK_DIR Stack_Direction (void)
static STACK_DIR Get_Direction (ST *blk)
static void Set_Direction (STACK_DIR dir, ST *blk)
static STCreate_Local_Block (STACK_DIR dir, STR_IDX name)
static STCreate_Base_Reg (const char *name, STACK_DIR dir)
static void Assign_Offset (ST *blk, ST *base, INT32 lpad, INT32 rpad)
static void Allocate_Space (ST *base, ST *blk, INT32 lpad, INT32 rpad, INT64 maxsize)
static STST_Block_Merge (ST *block, ST *sym, INT32 lpad, INT32 rpad, INT64 maxsize)
static void Initialize_Frame_Segment (SF_SEGMENT seg, ST_SCLASS sclass, STACK_DIR dir)
static void Assign_Object_To_Frame_Segment (ST *sym, SF_SEGMENT seg, INT64 offset)
static void Add_Object_To_Frame_Segment (ST *sym, SF_SEGMENT seg, BOOL allocate)
static void Init_PU_arg_area_size_array (void)
UINT32 Get_PU_arg_area_size (TY_IDX pu)
void Set_PU_arg_area_size (TY_IDX pu, UINT32 size)
STFind_Special_Return_Address_Symbol (void)
static STGet_Section_ST (SECTION_IDX sec, UINT align, ST_SCLASS sclass)
static STGet_Section_ST_With_Given_Name (SECTION_IDX sec, ST_SCLASS sclass, STR_IDX name)
static void Assign_ST_To_Named_Section (ST *st, STR_IDX name)
STR_IDX Find_Section_Name_For_ST (const ST *st)
static INT32 Calc_Actual_Area (TY_IDX pu_type, WN *pu_tree)
void Check_Actual_Stack_Size (WN *call_tree)
static INT32 Max_Arg_Area_Bytes (WN *node)
void Reset_UPFORMAL_Segment (void)
static void Allocate_Entry_Formal (ST *formal, BOOL on_stack, BOOL in_formal_reg)
static TY_IDX Formal_ST_type (ST *sym)
static void Clear_Vararg_Symbols (void)
STGet_Vararg_Symbol (PLOC ploc)
static void Allocate_All_Formals (WN *pu)
STGet_Altentry_UpFormal_Symbol (ST *formal, PLOC ploc)
static void Calc_Formal_Area (WN *pu_tree, INT32 *formal_size, INT32 *upformal_size)
static INT64 Calc_Local_Area (void)
static void Init_Segment_Descriptors (void)
static void Init_Formal_Segments (INT32 formal_size, INT32 upformal_size)
static void Init_Frame_For_PU (INT32 actual_size)
static void Bind_Stack_Frame (ST *SP_baseST, ST *FP_baseST)
static void Merge_Fixed_Stack_Frame (ST *SP_baseST, ST *FP_baseST)
static STACK_MODEL Choose_Stack_Model (INT64 frame_size)
static void Allocate_Local_Spill_Sym (void)
void Initialize_Stack_Frame (WN *PU_tree)
void Calculate_Stack_Frame_Sizes (WN *PU_tree)
static void Process_Stack_Variable (ST *st)
static void Trace_Stack_Segments (const char *msg, ST *SP_baseST, ST *FP_baseST)
INT64 Finalize_Stack_Frame (void)
void Allocate_Temp_To_Memory (ST *st)
static BOOL Is_String_Literal (ST *st)
static void Assign_Object_To_Section (ST *st, SECTION_IDX sec, UINT align)
void Allocate_Object (ST *st)
void Allocate_File_Statics (void)
BOOL Uses_Small_Offset (ST *st, WN_OFFSET wn_ofst)
static STCreate_Global_Array_ST (TYPE_ID emtype, INT num, char *name)
void Pad_Global_Arrays ()
INT Stack_Offset_Adjustment_For_PU (void)
void Set_Frame_Has_Calls (BOOL b)

Variables

STSP_Sym
STFP_Sym
STLocal_Spill_Sym
INT32 mp_io
INT32 Current_PU_Actual_Size
STACK_MODEL Current_PU_Stack_Model = SMODEL_UNDEF
static BOOL Frame_Has_Calls
static STACK_DIR stack_direction
static INT16 stack_align = DEFAULT_STACK_ALIGNMENT
static SF_SEG_DESC SF_Seg_Descriptors [SFSEG_LAST+1]
static INT32 Large_Object_Bytes
static BOOL Trace_Frame = FALSE
static formal_infoformal_info_array
static INT max_formal_info_index = 0
static UINT32arg_area_size_array
static INT max_arg_area_size_index = 0


Define Documentation

#define DEFAULT_LARGE_OBJECT_BYTES   64

Definition at line 175 of file data_layout.cxx.

Referenced by Init_Frame_For_PU().

#define DEFAULT_STACK_ALIGNMENT   _QUAD_ALIGN

Definition at line 196 of file data_layout.cxx.

#define DEFAULT_TEMP_SPACE_BYTES   4096

Definition at line 177 of file data_layout.cxx.

Referenced by Initialize_Stack_Frame().

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

#define Is_Allocatable ( st   )     (!Has_Base_Block(st) && !Is_root_base(st))

Definition at line 237 of file data_layout.cxx.

#define Is_Allocatable_Root_Block ( st   )     (ST_class(st) == CLASS_BLOCK && !Is_root_base(st) && Has_No_Base_Block(st))

Definition at line 238 of file data_layout.cxx.

Referenced by Process_Stack_Variable(), and Shorten_Section().

#define IS_POW2 ( num   )     ( (~((num)-1) & (num) ) == (num) )

#define Is_root_base ( st   )     (ST_class(st) == CLASS_BLOCK && STB_root_base(st))

Definition at line 235 of file data_layout.cxx.

Referenced by Is_Allocated().

#define MAX_FRAME_OFFSET

#define MAX_LARGE_FRAME_OFFSET   0x7FFFFFFFFFFFFFFFLL

Definition at line 180 of file data_layout.cxx.

Referenced by Choose_Stack_Model(), and Merge_Fixed_Stack_Frame().

#define MAX_SFSEG_BYTES   0x7FFFFFFFFFFFFFFFLL

Definition at line 178 of file data_layout.cxx.

Referenced by Init_Segment_Descriptors().

#define MERGE_SEGMENT ( base,
seg,
mxfrm   )     ST_Block_Merge (base, SF_Block(seg), 0, 0, mxfrm)

Definition at line 1971 of file data_layout.cxx.

Referenced by Finalize_Stack_Frame(), and Merge_Fixed_Stack_Frame().

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

Definition at line 271 of file data_layout.cxx.

Referenced by monstartup().

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

#define SEG_SIZE (  ) 

Value:

Definition at line 1894 of file data_layout.cxx.

Referenced by Finalize_Stack_Frame(), and Init_Frame_For_PU().

#define SF_Block ( n   )     (SFSEG_block(SF_Seg_Desc(n)))

#define SF_Maxsize ( n   )     (SFSEG_maxsize(SF_Seg_Desc(n)))

#define SF_Name ( n   )     (SFSEG_name(SF_Seg_Desc(n)))

#define SF_Seg_Desc ( n   )     (&SF_Seg_Descriptors[n])

Definition at line 214 of file data_layout.cxx.

#define SFSEG_block (  )     ((s)->block)

Definition at line 163 of file data_layout.cxx.

#define SFSEG_FIRST   SFSEG_ACTUAL

Definition at line 152 of file data_layout.cxx.

Referenced by Trace_Stack_Segments().

#define SFSEG_LAST   SFSEG_UPFORMAL

Definition at line 153 of file data_layout.cxx.

Referenced by Init_Segment_Descriptors(), and Trace_Stack_Segments().

#define SFSEG_maxsize (  )     ((s)->maxsize)

Definition at line 164 of file data_layout.cxx.

#define SFSEG_name (  )     ((s)->name)

Definition at line 165 of file data_layout.cxx.

#define SFSEG_seg (  )     ((s)->seg)

Definition at line 162 of file data_layout.cxx.

#define ST_force_gprel (  )     ST_gprel(s)

Definition at line 114 of file data_layout.cxx.

Referenced by Shorten_Section().

#define ST_NAME ( st   ) 

Value:

Definition at line 123 of file data_layout.cxx.

Referenced by Shorten_Section().

#define ST_NO_LINKAGE ( st   ) 

Value:

Definition at line 126 of file data_layout.cxx.

Referenced by Allocate_Object().

#define vararg_symbols   ((ST * *)0)

Definition at line 1519 of file data_layout.cxx.


Typedef Documentation

typedef enum _align ALIGN


Enumeration Type Documentation

enum _align

Enumerator:
_BYTE_ALIGN 
_CARD_ALIGN 
_WORD_ALIGN 
_DWORD_ALIGN 
_QUAD_ALIGN 

Definition at line 185 of file data_layout.cxx.

enum SF_SEGMENT

Enumerator:
SFSEG_UNKNOWN 
SFSEG_ACTUAL 
SFSEG_FTEMP 
SFSEG_FORMAL 
SFSEG_UPFORMAL 

Definition at line 139 of file data_layout.cxx.


Function Documentation

static void Add_Object_To_Frame_Segment ( ST sym,
SF_SEGMENT  seg,
BOOL  allocate 
) [static]

static void Allocate_All_Formals ( WN pu  )  [static]

static void Allocate_Entry_Formal ( ST formal,
BOOL  on_stack,
BOOL  in_formal_reg 
) [static]

void Allocate_File_Statics ( void   ) 

static void Allocate_Label ( ST lab  )  [static]

Definition at line 2739 of file data_layout.cxx.

References _SEC_TEXT, Assign_Object_To_Section(), FmtAssert, SCLASS_TEXT, and ST_sclass.

static void Allocate_Local_Spill_Sym ( void   )  [static]

void Allocate_Object ( ST st  ) 

Definition at line 3111 of file data_layout.cxx.

References _SEC_BSS, _SEC_CPLINIT, _SEC_DATA, _SEC_DISTR_ARRAY, _SEC_EH_REGION, _SEC_EH_REGION_SUPP, _SEC_LBSS, _SEC_LDATA, _SEC_RDATA, _SEC_TEXT, _SEC_THREAD_PRIVATE_FUNCS, Adjusted_Alignment(), Allocate_Object_To_Predefined_Named_Section(), Allocate_Object_To_Section(), Assign_Object_To_Section(), Assign_ST_To_Named_Section(), Base_Symbol(), CLASS_CONST, Clear_ST_is_not_used, DevWarn, FALSE, File_info, FILE_INFO_ipa(), Find_Section_Name_For_ST(), Gen_PIC_Shared, Has_Base_Block, Is_Allocated(), Is_True, Make_Align_Type(), NULL, Process_Stack_Variable(), SCLASS_AUTO, SCLASS_COMMON, SCLASS_CPLINIT, SCLASS_DGLOBAL, SCLASS_DISTR_ARRAY, SCLASS_EH_REGION, SCLASS_EH_REGION_SUPP, SCLASS_EXTERN, SCLASS_FORMAL, SCLASS_FORMAL_REF, SCLASS_FSTATIC, SCLASS_PSTATIC, SCLASS_REG, SCLASS_TEXT, SCLASS_THREAD_PRIVATE_FUNCS, SCLASS_UGLOBAL, SCLASS_UNKNOWN, sec, Set_ST_gprel, Set_ST_type, SF_Block, SFSEG_FORMAL, Shorten_Section(), ST_has_named_section(), ST_has_Predefined_Named_Section(), ST_init_value_zero, ST_is_constant(), ST_is_initialized, ST_is_not_used, ST_is_thread_private, ST_is_weak_symbol, ST_NO_LINKAGE, ST_sclass, ST_sym_class(), and ST_type.

Referenced by Allocate_File_Statics(), CG_End_Final(), CG_Init_Func_Infos(), CGSPILL_Load_From_Memory(), CGTARG_TN_For_Asm_Operand(), Create_Global_Variable(), Create_MicroTask(), EETARG_Call_Mcount(), EETARG_Generate_PIC_Entry_Code(), Exp_Immediate(), Exp_Immediate_Int(), Exp_Intrinsic_Op(), Exp_Is_Large_Stack_Sym(), Exp_Ldst(), Exp_Select_And_Condition(), Expand_Abs(), Expand_Add(), Expand_Expr(), Expand_Fast_Sqrt(), Expand_Int_To_Long_Double(), Expand_Long_Double_To_Int(), Expand_Neg(), Expand_Recip(), Expand_Unsigned_Int_To_Float_m32(), Fill_Align_Symbol(), Finalize_Stack_Frame(), EDGE_PROFILE::Gen_Call_BB(), Gen_Const_Symbol_TN(), Gen_ST_For_BB(), OUTPUT_FUNC_START_PROFILER::Generate_Func_Start_Profiler_PU(), Generate_Temp_Apply_Arg(), Handle_Entry(), Handle_ILDBITS(), Handle_ILOAD(), Handle_ISTBITS(), Handle_ISTORE(), Handle_XGOTO(), Lego_File_Init(), Lego_PU_Init(), lower_bit_field_id(), lower_split_sym_addrs(), Make_MPRuntime_ST(), New_DART(), Offset_from_FP(), finalize_inito::operator()(), Preorder_Process_PUs(), Process_Global_Distribute(), put_location(), St_Block_Union(), ST_For_Range_Table(), and Write_Symbol().

static void Allocate_Object_To_Predefined_Named_Section ( ST st,
SECTION_IDX  sec_idx 
) [static]

static void Allocate_Object_To_Section ( ST st,
SECTION_IDX  sec,
UINT  align 
) [static]

static void Allocate_Space ( ST base,
ST blk,
INT32  lpad,
INT32  rpad,
INT64  maxsize 
) [static]

void Allocate_Temp_To_Memory ( ST st  ) 

static void Assign_Object_To_Frame_Segment ( ST sym,
SF_SEGMENT  seg,
INT64  offset 
) [static]

static void Assign_Object_To_Section ( ST st,
SECTION_IDX  sec,
UINT  align 
) [static]

static void Assign_Offset ( ST blk,
ST base,
INT32  lpad,
INT32  rpad 
) [static]

static void Assign_ST_To_Named_Section ( ST st,
STR_IDX  name 
) [static]

static void Bind_Stack_Frame ( ST SP_baseST,
ST FP_baseST 
) [static]

static INT32 Calc_Actual_Area ( TY_IDX  pu_type,
WN pu_tree 
) [static]

static void Calc_Formal_Area ( WN pu_tree,
INT32 formal_size,
INT32 upformal_size 
) [static]

static INT64 Calc_Local_Area ( void   )  [inline, static]

void Calculate_Stack_Frame_Sizes ( WN PU_tree  ) 

void Check_Actual_Stack_Size ( WN call_tree  ) 

static STACK_MODEL Choose_Stack_Model ( INT64  frame_size  )  [static]

static void Clear_Vararg_Symbols ( void   )  [static]

Definition at line 1524 of file data_layout.cxx.

References i, INT, MAX_NUMBER_OF_REGISTER_PARAMETERS, and NULL.

Referenced by Finalize_Stack_Frame().

static ST* Create_Base_Reg ( const char *  name,
STACK_DIR  dir 
) [static]

static ST* Create_Global_Array_ST ( TYPE_ID  emtype,
INT  num,
char *  name 
) [static]

static ST* Create_Local_Block ( STACK_DIR  dir,
STR_IDX  name 
) [static]

void Early_Terminate ( INT  status  ) 

INT64 Finalize_Stack_Frame ( void   ) 

STR_IDX Find_Section_Name_For_ST ( const ST st  ) 

ST* Find_Special_Return_Address_Symbol ( void   ) 

static TY_IDX Formal_ST_type ( ST sym  )  [static]

Definition at line 1503 of file data_layout.cxx.

References Make_Pointer_Type(), SCLASS_FORMAL_REF, ST_sclass, and ST_type.

Referenced by Allocate_All_Formals().

static ST* Formal_Sym ( ST sym,
BOOL  onstack 
) [static]

ST* Get_Altentry_UpFormal_Symbol ( ST formal,
PLOC  ploc 
)

static STACK_DIR Get_Direction ( ST blk  )  [static]

Definition at line 563 of file data_layout.cxx.

References DECREMENT, INCREMENT, and STB_decrement.

Referenced by Bind_Stack_Frame().

UINT32 Get_PU_arg_area_size ( TY_IDX  pu  ) 

static ST* Get_Section_ST ( SECTION_IDX  sec,
UINT  align,
ST_SCLASS  sclass 
) [static]

static ST* Get_Section_ST_With_Given_Name ( SECTION_IDX  sec,
ST_SCLASS  sclass,
STR_IDX  name 
) [static]

PREG_NUM Get_ST_formal_preg_num ( const ST base  ) 

ST* Get_ST_formal_ref_base ( const ST sym  ) 

ST* Get_Vararg_Symbol ( PLOC  ploc  ) 

static void Init_Formal_Segments ( INT32  formal_size,
INT32  upformal_size 
) [static]

Definition at line 1901 of file data_layout.cxx.

References ROUNDUP, SF_Maxsize, SFSEG_FORMAL, SFSEG_UPFORMAL, and stack_align.

Referenced by Initialize_Stack_Frame().

static void Init_Frame_For_PU ( INT32  actual_size  )  [static]

static void Init_PU_arg_area_size_array ( void   )  [static]

static void Init_Segment_Descriptors ( void   )  [static]

static void Init_ST_formal_info_for_PU ( INT  num_formals  )  [static]

static void Initialize_Frame_Segment ( SF_SEGMENT  seg,
ST_SCLASS  sclass,
STACK_DIR  dir 
) [static]

void Initialize_Stack_Frame ( WN PU_tree  ) 

BOOL Is_Allocated ( ST st  ) 

static BOOL Is_String_Literal ( ST st  )  [static]

static INT32 Max_Arg_Area_Bytes ( WN node  )  [static]

static void Merge_Fixed_Stack_Frame ( ST SP_baseST,
ST FP_baseST 
) [static]

void Pad_Global_Arrays (  ) 

Definition at line 3520 of file data_layout.cxx.

References For_all(), GLOBAL_SYMTAB, and St_Table.

Referenced by Phase_Init().

static void Process_Stack_Variable ( ST st  )  [static]

static void Realloc_ST_formal_info ( INT  min_needed  )  [static]

void Reset_UPFORMAL_Segment ( void   ) 

static void Set_Direction ( STACK_DIR  dir,
ST blk 
) [static]

Definition at line 570 of file data_layout.cxx.

References DECREMENT, Reset_STB_decrement, and Set_STB_decrement.

Referenced by Bind_Stack_Frame(), and Create_Local_Block().

void Set_Frame_Has_Calls ( BOOL  b  ) 

Definition at line 3536 of file data_layout.cxx.

References Frame_Has_Calls.

Referenced by CG_Generate_Code().

void Set_PU_arg_area_size ( TY_IDX  pu,
UINT32  size 
)

void Set_ST_formal_preg_num ( const ST base,
PREG_NUM  p 
)

Definition at line 459 of file data_layout.cxx.

References FALSE, i, INT, 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 
)

static SECTION_IDX Shorten_Section ( ST st,
SECTION_IDX  sec 
) [static]

static ST* ST_Block_Merge ( ST block,
ST sym,
INT32  lpad,
INT32  rpad,
INT64  maxsize 
) [static]

BOOL ST_has_Predefined_Named_Section ( ST st,
SECTION_IDX sec_idx 
)

BOOL ST_on_stack ( ST sym  ) 

BOOL ST_pu_defined ( ST sym  ) 

INT32 Stack_Alignment ( void   ) 

STACK_DIR Stack_Direction ( void   ) 

Definition at line 557 of file data_layout.cxx.

References stack_direction.

Referenced by em_alloca().

INT Stack_Offset_Adjustment_For_PU ( void   ) 

Definition at line 3527 of file data_layout.cxx.

References Frame_Has_Calls, and Stack_Offset_Adjustment.

Referenced by Handle_ALLOCA(), and Handle_DEALLOCA().

static void Trace_Stack_Segments ( const char *  msg,
ST SP_baseST,
ST FP_baseST 
) [static]

BOOL Uses_Small_Offset ( ST st,
WN_OFFSET  wn_ofst 
)


Variable Documentation

Definition at line 348 of file data_layout.cxx.

Definition at line 224 of file data_layout.cxx.

Referenced by Init_Frame_For_PU(), Process_Stack_Variable(), and Uses_Small_Offset().

Definition at line 118 of file data_layout.cxx.

Referenced by Alloc_Regs_For_BB().

INT max_formal_info_index = 0 [static]

SF_SEG_DESC SF_Seg_Descriptors[SFSEG_LAST+1] [static]

Initial value:

 {
  { SFSEG_UNKNOWN, NULL, MAX_SFSEG_BYTES, "Unknown" },
  { SFSEG_ACTUAL,  NULL, MAX_SFSEG_BYTES, "Actual_Arg" },
  { SFSEG_FTEMP,   NULL, MAX_SFSEG_BYTES, "Fixed_Temp" },
  { SFSEG_FORMAL,  NULL, MAX_SFSEG_BYTES, "Formal_Arg" },
  { SFSEG_UPFORMAL,  NULL, MAX_SFSEG_BYTES, "UpFormal_Arg" }
}

Definition at line 207 of file data_layout.cxx.

INT16 stack_align = DEFAULT_STACK_ALIGNMENT [static]

Definition at line 193 of file data_layout.cxx.

Referenced by emit_push_insn(), Initialize_Stack_Frame(), and Stack_Direction().

BOOL Trace_Frame = FALSE [static]


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