#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"

Go to the source code of this file.
| #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 |
Definition at line 868 of file targ_sim.cxx.
Referenced by Get_Struct_Parameter_Location(), and Setup_Struct_Parameter_Locations().
| #define PSTRUCT_hfa pstruct.is_hfa |
Definition at line 869 of file targ_sim.cxx.
Referenced by Get_Struct_Parameter_Location(), and Setup_Struct_Parameter_Locations().
| #define PSTRUCT_hfa_mtype pstruct.hfa_mtype |
Definition at line 870 of file targ_sim.cxx.
Referenced by Get_Struct_Parameter_Location(), and Setup_Struct_Parameter_Locations().
| #define PSTRUCT_offset pstruct.offset |
Definition at line 871 of file targ_sim.cxx.
Referenced by Get_Struct_Parameter_Location(), and Setup_Struct_Parameter_Locations().
| #define PSTRUCT_size pstruct.size |
Definition at line 872 of file targ_sim.cxx.
Referenced by Get_Struct_Parameter_Location(), and Setup_Struct_Parameter_Locations().
| #define PSTRUCT_struct pstruct.is_struct |
Definition at line 867 of file targ_sim.cxx.
Referenced by Get_Struct_Parameter_Location(), and Setup_Struct_Parameter_Locations().
| #define TRACE_ENTRY | ( | x | ) |
| #define TRACE_EXIT | ( | x | ) |
Definition at line 46 of file targ_sim.cxx.
| #define TRACE_EXIT_i | ( | x, | |||
| i | ) |
| static BOOL Array_Is_HFA | ( | const TY_IDX | ty, | |
| Mtype_Return_Level | level, | |||
| TYPE_ID & | hfa_mtype | |||
| ) | [static] |
Definition at line 143 of file targ_sim.cxx.
References FALSE, KIND_ARRAY, KIND_SCALAR, KIND_STRUCT, mtype, MTYPE_C10, MTYPE_C16, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F10, MTYPE_F16, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_V, Struct_Is_HFA(), TRUE, TY_etype, TY_kind, TY_mtype, and TYPE_ID.
Referenced by Struct_Is_HFA().
| static PREG_NUM Get_Current_Float_Preg_Num | ( | Preg_Range | pr | ) | [inline, static] |
Definition at line 657 of file targ_sim.cxx.
References Current_Float_Param_Num, Current_Param_Num, i, PR_first_reg, PR_last_reg, PR_skip_value, TRACE_ENTRY, and TRACE_EXIT_i.
Referenced by Get_Parameter_Location().
Definition at line 675 of file targ_sim.cxx.
References Current_Float_Param_Num, Current_Param_Num, FALSE, First_Param_In_Return_Reg, Fix_TY_mtype(), FmtAssert, Get_Current_Float_Preg_Num(), Get_Current_Preg_Num(), Get_Return_Info(), info, Input_Base_Preg, INT, INT_MAX, IS_INT_PREG, KIND_VOID, Last_Fixed_Param, Last_Param_Offset, MTYPE_A4, MTYPE_A8, MTYPE_C10, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F10, MTYPE_F4, MTYPE_F8, MTYPE_float, MTYPE_FQ, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, MTYPE_M, MTYPE_name, MTYPE_RegisterSize, MTYPE_size_reg, MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, No_Simulated, Output_Base_Preg, PLOC_reg, PR_first_reg, psize, PLOC::reg, RETURN_INFO_count(), RETURN_INFO_mtype(), SIM_INFO, SIM_varargs_floats, PLOC::size, PLOC::start_offset, Target_Byte_Sex, TY_align_exp(), TY_kind, TY_size, TYPE_ID, and PLOC::vararg_reg.
Referenced by Get_Input_Parameter_Location(), and Get_Output_Parameter_Location().
| RETURN_INFO Get_Return_Info | ( | TY_IDX | rtype, | |
| Mtype_Return_Level | level | |||
| ) |
Definition at line 395 of file targ_sim.cxx.
Referenced by Can_Be_Tail_Call(), CGEMIT_Call(), CGEMIT_Function_Prototype(), Check_If_Dedicated_TN_Is_Global(), Compute_Return_Preg_Offset(), Compute_Return_Pregs(), Convert_Regs(), OPT_STAB::Convert_ST_to_AUX(), cwh_stmt_call_helper(), cwh_stmt_return_altentry(), cwh_stmt_return_scalar(), Exp_Ldst(), extract_calls(), F90_Lower_Init(), Find_Return_Registers(), Generate_Exit(), Get_Parameter_Location(), HasReturnPreg(), WN_Verifier::Is_return_register_of_call(), OPT_STAB::Its_ret_val_of_malloc(), Live_Init(), lower_bit_field_id(), lower_random_number(), my_Get_Return_Pregs(), OP_refs_x87(), process_inqvar(), process_iostat(), PUinfo_Get_ReturnPreg(), Repair_Call_BB(), Setup_Parameter_Locations(), WN_INSTRUMENT_WALKER::Tree_Walk(), and WFE_Start_Function().
| void Get_Return_Mtypes | ( | TY_IDX | rtype, | |
| Mtype_Return_Level | level, | |||
| TYPE_ID * | mreg1, | |||
| TYPE_ID * | mreg2 | |||
| ) |
Definition at line 367 of file targ_sim.cxx.
Referenced by Compute_Return_Preg_Offset(), Compute_Return_Pregs(), OPT_STAB::Convert_ST_to_AUX(), cwh_stmt_call_helper(), cwh_stmt_return_altentry(), cwh_stmt_return_scalar(), F90_Lower_Init(), Find_Return_Registers(), HasReturnPreg(), WN_Verifier::Is_return_register_of_call(), lower_bit_field_id(), and PUinfo_Get_ReturnPreg().
Definition at line 384 of file targ_sim.cxx.
Referenced by Compute_Return_Preg_Offset(), Compute_Return_Pregs(), OPT_STAB::Convert_ST_to_AUX(), cwh_stmt_return_altentry(), cwh_stmt_return_scalar(), extract_calls(), F90_Lower_Init(), Find_Return_Registers(), HasReturnPreg(), WN_Verifier::Is_return_register_of_call(), lower_bit_field_id(), lower_random_number(), my_Get_Return_Pregs(), process_inqvar(), process_iostat(), PUinfo_Get_ReturnPreg(), and WN_INSTRUMENT_WALKER::Tree_Walk().
Definition at line 886 of file targ_sim.cxx.
References Be_Type_Tbl, BOOL, Current_Param_Num, FALSE, Get_Current_Preg_Num(), INT, IS_FLT_PREG, Is_Int_Output_Preg(), IS_INT_PREG, Last_Fixed_Param, MTYPE_C4, MTYPE_F4, MTYPE_F8, MTYPE_RegisterSize, next, PLOC_offset, PLOC_reg, PLOC_size, PR_last_reg, PR_skip_value, PSTRUCT_first_call, PSTRUCT_hfa, PSTRUCT_hfa_mtype, PSTRUCT_offset, PSTRUCT_size, PSTRUCT_struct, PLOC::reg, SIM_INFO, SIM_varargs_floats, TY_size, and TYPE_ID.
Referenced by First_PLOC_Reg(), Get_Struct_Input_Parameter_Location(), Get_Struct_Output_Parameter_Location(), and Next_PLOC_Reg().
Definition at line 968 of file targ_sim.cxx.
References Current_Param_Num, Get_Current_Preg_Num(), Last_Param_Offset, MTYPE_RegisterSize, next, PR_last_reg, PLOC::reg, SIM_INFO, PLOC::size, and PLOC::start_offset.
Referenced by Get_Vararg_Input_Parameter_Location(), and Get_Vararg_Output_Parameter_Location().
Definition at line 132 of file targ_sim.cxx.
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().
Definition at line 118 of file targ_sim.cxx.
Referenced by CGTARG_Add_Implict_Operands(), Get_Struct_Parameter_Location(), lower_bit_field_id(), and PREG_To_TN().
Definition at line 108 of file targ_sim.cxx.
Referenced by CGTARG_Add_Implict_Operands(), CGTARG_Preg_Register_And_Class(), WN_Verifier::Is_dedicated_return_register(), WN_INSTRUMENT_WALKER::Is_Return_Store_Comma(), WN_INSTRUMENT_WALKER::Is_Return_Store_Stmt(), and Is_Return_Store_Stmt().
| 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().
Definition at line 624 of file targ_sim.cxx.
References Current_Float_Param_Num, Current_Param_Num, First_Param_In_Return_Reg, Get_Return_Info(), idx, info, INT_MAX, KIND_FUNCTION, Last_Fixed_Param, Last_Param_Offset, No_Simulated, RETURN_INFO_return_via_first_arg(), SIM_return_addr_via_int_return_reg, TY_has_prototype, TY_is_varargs, TY_kind, TY_ret_type, TY_return_to_param, TY_tylist(), and Tylist_Table.
Referenced by Setup_Input_Parameter_Locations(), and Setup_Output_Parameter_Locations().
Definition at line 875 of file targ_sim.cxx.
References MTYPE_V, No_Simulated, PSTRUCT_first_call, PSTRUCT_hfa, PSTRUCT_hfa_mtype, PSTRUCT_offset, PSTRUCT_size, PSTRUCT_struct, Struct_Is_HFA(), TRUE, TY_is_union, and TY_size.
Referenced by First_PLOC_Reg(), Setup_Struct_Input_Parameter_Locations(), and Setup_Struct_Output_Parameter_Locations().
Definition at line 284 of file targ_sim.cxx.
References FALSE, FLD_last_field(), FLD_type, KIND_SCALAR, MTYPE_float, MTYPE_V, TRUE, TY_fld, TY_is_union, TY_kind, and TY_mtype.
Definition at line 316 of file targ_sim.cxx.
References FALSE, FLD_last_field(), FLD_next, FLD_type, KIND_SCALAR, MTYPE_float, MTYPE_V, no_overlap(), TRUE, TY_fld, TY_is_union, TY_kind, and TY_mtype.
| static BOOL Struct_Is_HFA | ( | const TY_IDX | ty, | |
| Mtype_Return_Level | level, | |||
| TYPE_ID & | hfa_mtype | |||
| ) | [static] |
Definition at line 204 of file targ_sim.cxx.
References Array_Is_HFA(), FALSE, FLD_next, FLD_ofst, FLD_type, FLD_HANDLE::Is_Null(), KIND_ARRAY, KIND_SCALAR, KIND_STRUCT, mtype, MTYPE_C10, MTYPE_C16, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F10, MTYPE_F16, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_V, mUINT64, offset, TRUE, TY_fld, TY_is_union, TY_kind, TY_mtype, TY_size, and TYPE_ID.
Referenced by Array_Is_HFA(), Get_Return_Info(), and Setup_Struct_Parameter_Locations().
INT Current_Float_Param_Num = -1 [static] |
Definition at line 620 of file targ_sim.cxx.
Referenced by Get_Current_Float_Preg_Num(), Get_Parameter_Location(), and Setup_Parameter_Locations().
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().
| INT Formal_Save_Area_Size = 64 |
Definition at line 991 of file targ_sim.cxx.
Referenced by Add_Object_To_Frame_Segment(), Calc_Actual_Area(), Calc_Formal_Area(), Get_Altentry_UpFormal_Symbol(), and lower_bit_field_id().
mDED_PREG_NUM Fp_Param_Base_Preg = 136 [static] |
mDED_PREG_NUM Input_Base_Preg = 32 [static] |
Definition at line 989 of file targ_sim.cxx.
Referenced by Can_Be_Tail_Call(), CGSPILL_Prepend_Ops(), Expand_New_Call_To_OPs(), Generate_Entry(), Handle_Call_Site(), Init_Targ_Sim(), Initialize_Register_Class(), and Setup_GP_TN_For_PU().
mDED_PREG_NUM Output_Base_Preg = 127 [static] |
Definition at line 62 of file targ_sim.cxx.
Referenced by Get_Parameter_Location(), and Is_Int_Output_Preg().
Definition at line 865 of file targ_sim.cxx.
Referenced by Get_Struct_Parameter_Location(), and Setup_Struct_Parameter_Locations().
Definition at line 67 of file targ_sim.cxx.
Definition at line 992 of file targ_sim.cxx.
Referenced by Allocate_Space(), Finalize_Stack_Frame(), lower_bit_field_id(), Merge_Fixed_Stack_Frame(), and Stack_Offset_Adjustment_For_PU().
1.5.6