osprey/common/com/ia64/targ_sim.cxx File Reference

#include <limits.h>
#include "defs.h"
#include "mtypes.h"
#include "errors.h"
#include "erglob.h"
#include "stab.h"
#include "config_targ.h"
#include "targ_sim.h"
#include "targ_sim_body.h"

Include dependency graph for targ_sim.cxx:

Go to the source code of this file.

Data Types

type  PSTRUCT

Defines

#define TRACE_ENTRY(x)
#define TRACE_EXIT(x)
#define TRACE_EXIT_i(x, i)
#define I0   (Int_Preg_Min_Offset - 1)
#define F0   Float_Preg_Min_Offset
#define PSTRUCT_struct   pstruct.is_struct
#define PSTRUCT_first_call   pstruct.first_call
#define PSTRUCT_hfa   pstruct.is_hfa
#define PSTRUCT_hfa_mtype   pstruct.hfa_mtype
#define PSTRUCT_offset   pstruct.offset
#define PSTRUCT_size   pstruct.size

Functions/Subroutines

static BOOL Struct_Is_HFA (const TY_IDX, Mtype_Return_Level, TYPE_ID &)
BOOL Is_Return_Preg (PREG_NUM preg)
BOOL Is_Int_Output_Preg (PREG_NUM preg)
BOOL Is_Fp_Output_Preg (PREG_NUM preg)
BOOL Is_Formal_Preg (PREG_NUM preg)
static BOOL Array_Is_HFA (const TY_IDX ty, Mtype_Return_Level level, TYPE_ID &hfa_mtype)
static BOOL Struct_Has_One_Float (const TY_IDX ty, TYPE_ID &ftype)
static BOOL no_overlap (const FLD_HANDLE fld1, const FLD_HANDLE fld2)
static BOOL Struct_Has_Two_Floats (const TY_IDX ty, TYPE_ID &ftype1, TYPE_ID &ftype2)
static BOOL Is_Simulated_Type (TYPE_ID mtype)
void Get_Return_Mtypes (TY_IDX rtype, Mtype_Return_Level level, TYPE_ID *mreg1, TYPE_ID *mreg2)
void Get_Return_Pregs (TYPE_ID mreg1, TYPE_ID mreg2, PREG_NUM *rreg1, PREG_NUM *rreg2)
RETURN_INFO Get_Return_Info (TY_IDX rtype, Mtype_Return_Level level)
static PLOC Setup_Parameter_Locations (TY_IDX pu_type)
static PREG_NUM Get_Current_Float_Preg_Num (Preg_Range pr)
static PLOC Get_Parameter_Location (TY_IDX ty, BOOL is_output)
static void Setup_Struct_Parameter_Locations (TY_IDX struct_ty)
static PLOC Get_Struct_Parameter_Location (PLOC prev)
static PLOC Get_Vararg_Parameter_Location (PLOC prev)
void Init_Targ_Sim (void)

Variables

static mDED_PREG_NUM Input_Base_Preg = 32
static mDED_PREG_NUM Output_Base_Preg = 127
static mDED_PREG_NUM Fp_Param_Base_Preg = 136
SIM SIM_Info []
static INT Current_Float_Param_Num = -1
static BOOL First_Param_In_Return_Reg = FALSE
static PSTRUCT pstruct
BOOL Is_Caller_Save_GP
INT Formal_Save_Area_Size = 64
INT Stack_Offset_Adjustment = 16


Define Documentation

#define F0   Float_Preg_Min_Offset

Definition at line 65 of file targ_sim.cxx.

#define I0   (Int_Preg_Min_Offset - 1)

Definition at line 64 of file targ_sim.cxx.

#define PSTRUCT_first_call   pstruct.first_call

#define PSTRUCT_hfa   pstruct.is_hfa

#define PSTRUCT_hfa_mtype   pstruct.hfa_mtype

#define PSTRUCT_offset   pstruct.offset

#define PSTRUCT_size   pstruct.size

#define PSTRUCT_struct   pstruct.is_struct

#define TRACE_ENTRY (  ) 

Definition at line 45 of file targ_sim.cxx.

Referenced by Get_Current_Float_Preg_Num().

#define TRACE_EXIT (  ) 

Definition at line 46 of file targ_sim.cxx.

#define TRACE_EXIT_i ( x,
i   ) 

Definition at line 47 of file targ_sim.cxx.

Referenced by Get_Current_Float_Preg_Num().


Function Documentation

static BOOL Array_Is_HFA ( const TY_IDX  ty,
Mtype_Return_Level  level,
TYPE_ID hfa_mtype 
) [static]

static PREG_NUM Get_Current_Float_Preg_Num ( Preg_Range  pr  )  [inline, static]

static PLOC Get_Parameter_Location ( TY_IDX  ty,
BOOL  is_output 
) [static]

RETURN_INFO Get_Return_Info ( TY_IDX  rtype,
Mtype_Return_Level  level 
)

void Get_Return_Mtypes ( TY_IDX  rtype,
Mtype_Return_Level  level,
TYPE_ID mreg1,
TYPE_ID mreg2 
)

void Get_Return_Pregs ( TYPE_ID  mreg1,
TYPE_ID  mreg2,
PREG_NUM rreg1,
PREG_NUM rreg2 
)

static PLOC Get_Struct_Parameter_Location ( PLOC  prev  )  [static]

static PLOC Get_Vararg_Parameter_Location ( PLOC  prev  )  [static]

void Init_Targ_Sim ( void   ) 

Definition at line 995 of file targ_sim.cxx.

Referenced by Configure_Target().

BOOL Is_Formal_Preg ( PREG_NUM  preg  ) 

Definition at line 132 of file targ_sim.cxx.

BOOL Is_Fp_Output_Preg ( PREG_NUM  preg  ) 

Definition at line 124 of file targ_sim.cxx.

References Fp_Param_Base_Preg, and MAX_NUMBER_OF_REGISTER_PARAMETERS.

Referenced by CGTARG_Add_Implict_Operands().

BOOL Is_Int_Output_Preg ( PREG_NUM  preg  ) 

BOOL Is_Return_Preg ( PREG_NUM  preg  ) 

static BOOL Is_Simulated_Type ( TYPE_ID  mtype  )  [static]

Definition at line 346 of file targ_sim.cxx.

References FALSE, MTYPE_C10, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_FQ, and TRUE.

static BOOL no_overlap ( const FLD_HANDLE  fld1,
const FLD_HANDLE  fld2 
) [static]

Definition at line 307 of file targ_sim.cxx.

References FLD_ofst, FLD_type, and TY_size.

Referenced by merge_ranges(), simplify_cond_and_lookup_avail_expr(), and Struct_Has_Two_Floats().

static PLOC Setup_Parameter_Locations ( TY_IDX  pu_type  )  [static]

static void Setup_Struct_Parameter_Locations ( TY_IDX  struct_ty  )  [static]

static BOOL Struct_Has_One_Float ( const TY_IDX  ty,
TYPE_ID ftype 
) [static]

static BOOL Struct_Has_Two_Floats ( const TY_IDX  ty,
TYPE_ID ftype1,
TYPE_ID ftype2 
) [static]

static BOOL Struct_Is_HFA ( const TY_IDX  ty,
Mtype_Return_Level  level,
TYPE_ID hfa_mtype 
) [static]


Variable Documentation

BOOL First_Param_In_Return_Reg = FALSE [static]

Definition at line 621 of file targ_sim.cxx.

Referenced by Get_Parameter_Location(), and Setup_Parameter_Locations().

Definition at line 63 of file targ_sim.cxx.

Referenced by Is_Fp_Output_Preg().

Definition at line 61 of file targ_sim.cxx.

Referenced by Get_Parameter_Location().

Definition at line 62 of file targ_sim.cxx.

Referenced by Get_Parameter_Location(), and Is_Int_Output_Preg().

PSTRUCT pstruct [static]

Definition at line 67 of file targ_sim.cxx.


Generated on Wed Apr 8 14:39:21 2009 for Open64 by  doxygen 1.5.6