Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
targ_sim_core.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  RETURN_INFO
struct  PLOC

Defines

#define Preg_Offset_Is_Int(n)   ((n) >= Int_Preg_Min_Offset && (n) <= Int_Preg_Max_Offset)
#define Preg_Offset_Is_Float(n)   ((n) >= Float_Preg_Min_Offset && (n) <= Float_Preg_Max_Offset)
#define Preg_Offset_Is_Fcc(n)   ((n) >= Fcc_Preg_Min_Offset && (n) <= Fcc_Preg_Max_Offset)
#define Preg_Is_Dedicated(n)   (n <= Last_Dedicated_Preg_Offset)
#define PLOC_reg(p)   (p.reg)
#define PLOC_vararg_reg(p)   (p.vararg_reg)
#define PLOC_offset(p)   (p.start_offset)
#define PLOC_on_stack(p)   (p.reg == 0)
#define PLOC_total_size(p)   (p.start_offset+p.size)
#define PLOC_size(p)   (p.size)
#define PLOC_is_empty(p)   (PLOC_size(p) == 0)
#define PLOC_is_nonempty(p)   (PLOC_size(p) != 0)
#define PUSH_RETURN_ADDRESS_ON_STACK   FALSE
#define PUSH_FRAME_POINTER_ON_STACK   FALSE

Enumerations

enum  Mtype_Return_Level { Use_Simulated, Complex_Not_Simulated, No_Simulated }

Functions

BOOL Is_Return_Preg (PREG_NUM preg)
BOOL Is_Int_Output_Preg (PREG_NUM preg)
BOOL Is_Formal_Preg (PREG_NUM preg)
mINT8 RETURN_INFO_count (const RETURN_INFO &info)
BOOL RETURN_INFO_return_via_first_arg (const RETURN_INFO &info)
TYPE_ID RETURN_INFO_mtype (const RETURN_INFO &info, INT32 i)
PREG_NUM RETURN_INFO_preg (const RETURN_INFO &info, INT32 i)
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)
PLOC Setup_Input_Parameter_Locations (TY_IDX pu_type)
PLOC Get_Input_Parameter_Location (TY_IDX ptype)
PLOC First_Input_PLOC_Reg (PLOC ploc, TY_IDX parm_ty)
PLOC Next_Input_PLOC_Reg (PLOC prev)
PLOC Setup_Output_Parameter_Locations (TY_IDX pu_type)
PLOC Get_Output_Parameter_Location (TY_IDX ptype)
PLOC First_Output_PLOC_Reg (PLOC ploc, TY_IDX parm_ty)
PLOC Next_Output_PLOC_Reg (PLOC prev)
PLOC Get_Vararg_Input_Parameter_Location (PLOC prev)
PLOC Get_Vararg_Output_Parameter_Location (PLOC prev)
INT32 Get_Preg_Size (PREG_NUM p)
void Setup_Struct_Input_Parameter_Locations (TY_IDX struct_ty)
PLOC Get_Struct_Input_Parameter_Location (PLOC prev)
void Setup_Struct_Output_Parameter_Locations (TY_IDX struct_ty)
PLOC Get_Struct_Output_Parameter_Location (PLOC prev)
TYPE_ID Fix_TY_mtype (TY_IDX)
void Init_Targ_Sim (void)
PREG_IDX Get_Preg_Idx (PREG_NUM n)
PREG_NUM Get_Preg_Num (PREG_IDX i)

Variables

BOOL Is_Caller_Save_GP
INT Formal_Save_Area_Size
INT Stack_Offset_Adjustment

Define Documentation

#define PLOC_is_empty (   p)    (PLOC_size(p) == 0)

Definition at line 150 of file targ_sim_core.h.

#define PLOC_is_nonempty (   p)    (PLOC_size(p) != 0)

Definition at line 151 of file targ_sim_core.h.

Referenced by Allocate_All_Formals().

#define PLOC_offset (   p)    (p.start_offset)
#define PLOC_on_stack (   p)    (p.reg == 0)

Definition at line 147 of file targ_sim_core.h.

Referenced by Allocate_All_Formals().

#define PLOC_reg (   p)    (p.reg)
#define PLOC_size (   p)    (p.size)

Definition at line 149 of file targ_sim_core.h.

Referenced by First_PLOC_Reg(), and Get_Struct_Parameter_Location().

#define PLOC_total_size (   p)    (p.start_offset+p.size)

Definition at line 148 of file targ_sim_core.h.

Referenced by Calc_Actual_Area(), Calc_Formal_Area(), and First_PLOC_Reg().

#define PLOC_vararg_reg (   p)    (p.vararg_reg)

Definition at line 145 of file targ_sim_core.h.

#define Preg_Is_Dedicated (   n)    (n <= Last_Dedicated_Preg_Offset)

Definition at line 57 of file targ_sim_core.h.

Referenced by IPO_CLONE::Fix_ST(), and ir_put_wn().

#define Preg_Offset_Is_Fcc (   n)    ((n) >= Fcc_Preg_Min_Offset && (n) <= Fcc_Preg_Max_Offset)

Definition at line 55 of file targ_sim_core.h.

#define Preg_Offset_Is_Float (   n)    ((n) >= Float_Preg_Min_Offset && (n) <= Float_Preg_Max_Offset)

Definition at line 53 of file targ_sim_core.h.

Referenced by ir_put_wn().

#define Preg_Offset_Is_Int (   n)    ((n) >= Int_Preg_Min_Offset && (n) <= Int_Preg_Max_Offset)

Definition at line 51 of file targ_sim_core.h.

Referenced by Find_Return_Registers(), and ir_put_wn().


Enumeration Type Documentation

Enumerator:
Use_Simulated 
Complex_Not_Simulated 
No_Simulated 

Definition at line 70 of file targ_sim_core.h.


Function Documentation

PLOC First_Input_PLOC_Reg ( PLOC  ploc,
TY_IDX  parm_ty 
)

Definition at line 290 of file targ_sim_body.h.

PLOC First_Output_PLOC_Reg ( PLOC  ploc,
TY_IDX  parm_ty 
)

Definition at line 296 of file targ_sim_body.h.

References First_PLOC_Reg().

Here is the call graph for this function:

Definition at line 143 of file targ_sim_body.h.

References KIND_ARRAY, MTYPE_UNKNOWN, TY_kind(), and TY_mtype().

Referenced by First_PLOC_Reg(), and Get_Parameter_Location().

Here is the call graph for this function:

Definition at line 187 of file targ_sim_body.h.

References Setup_Parameter_Locations().

Referenced by Allocate_All_Formals(), and Calc_Formal_Area().

Here is the call graph for this function:

Definition at line 193 of file targ_sim_body.h.

References FALSE, and Get_Parameter_Location().

Referenced by Calc_Actual_Area().

Here is the call graph for this function:

PREG_IDX Get_Preg_Idx ( PREG_NUM  n) [inline]

Definition at line 228 of file targ_sim_core.h.

References Last_Dedicated_Preg_Offset.

PREG_NUM Get_Preg_Num ( PREG_IDX  i) [inline]

Definition at line 230 of file targ_sim_core.h.

References Last_Dedicated_Preg_Offset.

Definition at line 226 of file targ_sim_body.h.

References IS_FLT_PREG, MTYPE_RegisterSize, and SIM_INFO.

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 
)

Definition at line 378 of file targ_sim.cxx.

References Fail_FmtAssertion().

Referenced by cwh_stmt_return_altentry(), cwh_stmt_return_scalar(), Find_Return_Registers(), WN_Verifier::Is_return_register_of_call(), and PUinfo_Get_ReturnPreg().

Here is the call graph for this function:

Definition at line 250 of file targ_sim_body.h.

References Setup_Struct_Parameter_Locations().

Here is the call graph for this function:

Definition at line 256 of file targ_sim_body.h.

References Get_Struct_Parameter_Location().

Here is the call graph for this function:

Definition at line 201 of file targ_sim_body.h.

References Get_Parameter_Location(), and TRUE.

Referenced by Allocate_All_Formals().

Here is the call graph for this function:

Definition at line 207 of file targ_sim_body.h.

References Get_Vararg_Parameter_Location().

Here is the call graph for this function:

void Init_Targ_Sim ( void  )

Definition at line 963 of file targ_sim.cxx.

References Is_Caller_Save_GP, and SIM_caller_save_gp.

Referenced by Configure_Target().

Definition at line 334 of file targ_sim_body.h.

Definition at line 340 of file targ_sim_body.h.

References Next_PLOC_Reg().

Here is the call graph for this function:

Definition at line 175 of file targ_sim_body.h.

Referenced by Allocate_All_Formals(), and Calc_Formal_Area().

Definition at line 181 of file targ_sim_body.h.

References Setup_Parameter_Locations().

Referenced by Calc_Actual_Area().

Here is the call graph for this function:

Definition at line 238 of file targ_sim_body.h.

Definition at line 244 of file targ_sim_body.h.

References Setup_Struct_Parameter_Locations().

Here is the call graph for this function:


Variable Documentation

Definition at line 957 of file targ_sim.cxx.

Referenced by Init_Targ_Sim().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines