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

#include <stdint.h>
#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 __STDC_LIMIT_MACROS

Functions/Subroutines

BOOL Is_Return_Preg (PREG_NUM preg)
BOOL Is_Int_Output_Preg (PREG_NUM preg)
BOOL Is_Formal_Preg (PREG_NUM preg)
static enum X86_64_PARM_CLASS Merge_Classes (enum X86_64_PARM_CLASS class1, enum X86_64_PARM_CLASS class2)
INT Classify_Aggregate (const TY_IDX ty, enum X86_64_PARM_CLASS classes[MAX_CLASSES])
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, BOOL ff2c_abi)
static PLOC Setup_Parameter_Locations (TY_IDX pu_type)
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 ploc)
static PLOC Get_Vararg_Parameter_Location (PLOC prev)
void Init_Targ_Sim (void)

Variables

SIM SIM_Info []
static INT Current_Int_Param_Num = -1
static INT Current_Float_Param_Num = -1
static INT Current_MMX_Param_Num = -1
static INT Register_Parms = 0
static BOOL SSE_Register_Parms = FALSE
const INT SSE_Register_Parms_Allowed = 3
const INT MMX_Register_Parms_Allowed = 3
struct PSTRUCT pstruct
BOOL Is_Caller_Save_GP
INT Formal_Save_Area_Size = 0
INT Stack_Offset_Adjustment = 0


Define Documentation

#define __STDC_LIMIT_MACROS

Definition at line 60 of file targ_sim.cxx.

#define TRACE_ENTRY (  ) 

Definition at line 56 of file targ_sim.cxx.

#define TRACE_EXIT (  ) 

Definition at line 57 of file targ_sim.cxx.

#define TRACE_EXIT_i ( x,
i   ) 

Definition at line 58 of file targ_sim.cxx.


Function Documentation

INT Classify_Aggregate ( const TY_IDX  ty,
enum X86_64_PARM_CLASS  classes[MAX_CLASSES] 
)

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

RETURN_INFO Get_Return_Info ( TY_IDX  rtype,
Mtype_Return_Level  level,
BOOL  ff2c_abi 
)

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

Definition at line 343 of file targ_sim.cxx.

References Fail_FmtAssertion().

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

Definition at line 360 of file targ_sim.cxx.

References Fail_FmtAssertion().

static PLOC Get_Struct_Parameter_Location ( PLOC  ploc  )  [static]

static PLOC Get_Vararg_Parameter_Location ( PLOC  prev  )  [static]

void Init_Targ_Sim ( void   ) 

Definition at line 1010 of file targ_sim.cxx.

References Is_Caller_Save_GP, and SIM_caller_save_gp.

BOOL Is_Formal_Preg ( PREG_NUM  preg  ) 

BOOL Is_Int_Output_Preg ( PREG_NUM  preg  ) 

BOOL Is_Return_Preg ( PREG_NUM  preg  ) 

static enum X86_64_PARM_CLASS Merge_Classes ( enum X86_64_PARM_CLASS  class1,
enum X86_64_PARM_CLASS  class2 
) [static]

static PLOC Setup_Parameter_Locations ( TY_IDX  pu_type  )  [static]

static void Setup_Struct_Parameter_Locations ( TY_IDX  struct_ty  )  [static]

Definition at line 951 of file targ_sim.cxx.

References PSTRUCT::first_call, pstruct, PSTRUCT::size, TRUE, and TY_size.


Variable Documentation

Definition at line 661 of file targ_sim.cxx.

INT Current_Int_Param_Num = -1 [static]

Definition at line 660 of file targ_sim.cxx.

INT Current_MMX_Param_Num = -1 [static]

Definition at line 662 of file targ_sim.cxx.

Definition at line 1006 of file targ_sim.cxx.

Definition at line 1004 of file targ_sim.cxx.

Definition at line 666 of file targ_sim.cxx.

Definition at line 948 of file targ_sim.cxx.

INT Register_Parms = 0 [static]

Definition at line 663 of file targ_sim.cxx.

Definition at line 77 of file targ_sim.cxx.

BOOL SSE_Register_Parms = FALSE [static]

Definition at line 664 of file targ_sim.cxx.

Definition at line 665 of file targ_sim.cxx.

Definition at line 1007 of file targ_sim.cxx.


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