Go to the source code of this file.
Data Types | |
| type | type_desc |
Defines | |
| #define | MTYPE_UNKNOWN 0 |
| #define | MTYPE_FIRST 1 |
| #define | MTYPE_B 1 |
| #define | MTYPE_I1 2 |
| #define | MTYPE_I2 3 |
| #define | MTYPE_I4 4 |
| #define | MTYPE_I8 5 |
| #define | MTYPE_U1 6 |
| #define | MTYPE_U2 7 |
| #define | MTYPE_U4 8 |
| #define | MTYPE_U8 9 |
| #define | MTYPE_F4 10 |
| #define | MTYPE_F8 11 |
| #define | MTYPE_F10 12 |
| #define | MTYPE_F16 13 |
| #define | MTYPE_STR 14 |
| #define | MTYPE_STRING MTYPE_STR |
| #define | MTYPE_FQ 15 |
| #define | MTYPE_M 16 |
| #define | MTYPE_C4 17 |
| #define | MTYPE_C8 18 |
| #define | MTYPE_CQ 19 |
| #define | MTYPE_V 20 |
| #define | MTYPE_BS 21 |
| #define | MTYPE_A4 22 |
| #define | MTYPE_A8 23 |
| #define | MTYPE_C10 24 |
| #define | MTYPE_C16 25 |
| #define | MTYPE_I16 26 |
| #define | MTYPE_U16 27 |
| #define | MTYPE_LAST 27 |
| #define | MTYPE_CLASS_INTEGER 0x01 |
| #define | MTYPE_CLASS_FLOAT 0x02 |
| #define | MTYPE_CLASS_COMPLEX 0x04 |
| #define | MTYPE_CLASS_UNSIGNED 0x08 |
| #define | MTYPE_CLASS_STR 0x10 |
| #define | MTYPE_CLASS_VECTOR 0x20 |
| #define | MTYPE_CLASS_UNSIGNED_INTEGER (MTYPE_CLASS_UNSIGNED|MTYPE_CLASS_INTEGER) |
| #define | MTYPE_CLASS_COMPLEX_FLOAT (MTYPE_CLASS_COMPLEX|MTYPE_CLASS_FLOAT) |
| #define | MTYPE_id(n) (Machine_Types[n].id) |
| #define | MTYPE_bit_size(n) (Machine_Types[n].bit_size) |
| #define | MTYPE_byte_size(n) (MTYPE_bit_size(n) >> 3) |
| #define | MTYPE_size_reg(n) MTYPE_bit_size(n) |
| #define | MTYPE_size_min(n) MTYPE_bit_size(n) |
| #define | MTYPE_size_best(n) MTYPE_bit_size(n) |
| #define | MTYPE_alignment(n) (Machine_Types[n].alignment) |
| #define | MTYPE_align_min(n) MTYPE_alignment(n) |
| #define | MTYPE_align_req(n) MTYPE_alignment(n) |
| #define | MTYPE_align_best(n) MTYPE_alignment(n) |
| #define | MTYPE_signed(n) (Machine_Types[n].signed_type) |
| #define | MTYPE_float(n) (Machine_Types[n].float_type) |
| #define | MTYPE_name(n) (Machine_Types[n].name) |
| #define | MTYPE_type_class(n) (Machine_Types[n].type_class_bits) |
| #define | MTYPE_type_order(n) (Machine_Types[n].type_order) |
| #define | MTYPE_complement(n) (Machine_Types[n].complement) |
| #define | MTYPE_is_integral(n) (MTYPE_type_class(n) & MTYPE_CLASS_INTEGER) |
| #define | MTYPE_is_signed(n) (MTYPE_type_class(n)==MTYPE_CLASS_INTEGER) |
| #define | MTYPE_is_unsigned(n) (MTYPE_type_class(n)==MTYPE_CLASS_UNSIGNED_INTEGER) |
| #define | MTYPE_is_float(n) (MTYPE_type_class(n) & MTYPE_CLASS_FLOAT) |
| #define | MTYPE_is_complex(n) (MTYPE_type_class(n) & MTYPE_CLASS_COMPLEX) |
| #define | MTYPE_is_vector(n) (MTYPE_type_class(n) & MTYPE_CLASS_VECTOR) |
| #define | MTYPE_is_str(n) (MTYPE_type_class(n)==MTYPE_STR) |
| #define | MTYPE_is_m(n) ((n)==MTYPE_M) |
| #define | MTYPE_is_void(n) ((n)==MTYPE_V) |
| #define | MTYPE_is_quad(n) ((n)==MTYPE_FQ || (n)==MTYPE_CQ) |
| #define | MTYPE_is_pointer(n) ((n)==Pointer_type || (n)==Pointer_type2) |
| #define | MTYPE_is_boolean(n) ((n)==Boolean_type || (n)==Boolean_type2) |
| #define | MTYPE_RegisterSize(n) MTYPE_byte_size(n) |
| #define | MTYPE_is_size_double(n) (MTYPE_bit_size(n) == MTYPE_bit_size(MTYPE_I8)) |
| #define | Type_Mask(t) ( ((MTYPE_MASK) 1) << (t) ) |
| #define | TMASK_Element(m, k) (((m) & Type_Mask(k))!=0) |
| #define | TMASK_And(m1, m2) ((m1) & (m2)) |
| #define | TMASK_Or(m1, m2) ((m1) | (m2)) |
| #define | TMASK_Included(m1, m2) (TMASK_And(m1,m2)==(m1)) |
| #define | MTYPE_Avail(k) TMASK_Element(Machine_Types_Available,k) |
Typedefs | |
| typedef UINT8 | TYPE_ID |
| typedef mUINT8 | mTYPE_ID |
| typedef struct type_desc | TYPE_DESC |
| typedef UINT32 | MTYPE_MASK |
Functions/Subroutines | |
| const char * | Mtype_Name (TYPE_ID) |
| TYPE_ID | Mtype_AlignmentClass (INT32, mUINT8) |
| TYPE_ID | Mtype_Promote_to_A4A8 (TYPE_ID) |
| TYPE_ID | Mtype_TransferSign (TYPE_ID, TYPE_ID) |
| TYPE_ID | Mtype_TransferSize (TYPE_ID, TYPE_ID) |
| TYPE_ID | Mtype_complex_to_real (TYPE_ID) |
| TYPE_ID | Mtype_comparison (TYPE_ID) |
| TYPE_ID | Mtype_next_alignment (TYPE_ID) |
| TYPE_ID | Mtype_prev_alignment (TYPE_ID) |
Variables | |
| TYPE_DESC | Machine_Types [] |
| MTYPE_MASK | Machine_Types_Available |
| #define MTYPE_Avail | ( | k | ) | TMASK_Element(Machine_Types_Available,k) |
| #define MTYPE_bit_size | ( | n | ) | (Machine_Types[n].bit_size) |
| #define MTYPE_CLASS_COMPLEX_FLOAT (MTYPE_CLASS_COMPLEX|MTYPE_CLASS_FLOAT) |
| #define MTYPE_CLASS_UNSIGNED_INTEGER (MTYPE_CLASS_UNSIGNED|MTYPE_CLASS_INTEGER) |
| #define MTYPE_complement | ( | n | ) | (Machine_Types[n].complement) |
| #define MTYPE_float | ( | n | ) | (Machine_Types[n].float_type) |
| #define MTYPE_is_boolean | ( | n | ) | ((n)==Boolean_type || (n)==Boolean_type2) |
| #define MTYPE_is_pointer | ( | n | ) | ((n)==Pointer_type || (n)==Pointer_type2) |
| #define MTYPE_signed | ( | n | ) | (Machine_Types[n].signed_type) |
| #define MTYPE_type_class | ( | n | ) | (Machine_Types[n].type_class_bits) |
| #define MTYPE_type_order | ( | n | ) | (Machine_Types[n].type_order) |
| #define Type_Mask | ( | t | ) | ( ((MTYPE_MASK) 1) << (t) ) |
| typedef UINT32 MTYPE_MASK |
Definition at line 266 of file mtypes.cxx.
References i, INT32, Is_Target_32bit, MTYPE_align_min, MTYPE_CLASS_INTEGER, MTYPE_CLASS_UNSIGNED, MTYPE_I8, MTYPE_id, MTYPE_LAST, MTYPE_type_class, MTYPE_U8, MTYPE_UNKNOWN, and TYPE_ID.
Referenced by Composed_Align_Type(), lower_bit_field_id(), WFE_Expand_Expr(), WGEN_Expand_Expr(), and WN_I1const().
Definition at line 404 of file mtypes.cxx.
References MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_U1, MTYPE_U2, MTYPE_U4, and TYPE_ID.
Referenced by CFG::Conv_to_select(), cwh_expr_compare(), cwh_stmt_falsebr(), cwh_stmt_truebr(), em_bclr(), em_bits(), em_bset(), em_btest(), em_lshr(), em_shft(), em_shftc(), em_shl(), Evaluate_chi(), fei_doloop(), fei_ibits(), fei_mvbits(), Fill_Align_Symbol(), Gen_WN_Const(), IPA_constant_in_array_bounds(), lower_bit_field_id(), CFG::Lower_if_stmt(), lower_mm_matmul(), lower_mv_matmul(), lower_reduction(), IPO_INLINE::Process_Formal_ST(), WFE_Expand_Expr(), WFE_Expand_Expr_With_Sequence_Point(), WFE_Expand_Start_Case(), WFE_Generate_Thunk(), WGEN_Expand_Expr(), WGEN_Expand_Expr_With_Sequence_Point(), WGEN_Expand_Start_Case(), WGEN_Generate_Thunk(), WN_Iload(), WN_Ldid(), and WN_Rrotate().
Definition at line 373 of file mtypes.cxx.
References MTYPE_C10, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F10, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_is_complex, and TYPE_ID.
Referenced by cwh_convert_to_ty(), cwh_get_highest_type(), em_complex_abs(), em_complex_cos(), em_complex_exp(), em_complex_log(), em_complex_sin(), em_complex_sqrt_preg(), em_conjg(), fei_imag(), Get_Return_Info(), intrinsic_runtime(), lower_bit_field_id(), lower_complex_expr(), WFE_Expand_Expr(), WFE_Lhs_Of_Modify_Expr(), WGEN_Expand_Expr(), WGEN_Lhs_Of_Modify_Expr(), and WN_generic_call().
| const char* Mtype_Name | ( | TYPE_ID | ) |
Definition at line 245 of file mtypes.cxx.
References buf, MTYPE_LAST, MTYPE_name, and sprintf().
Referenced by CODEMAP::Add_tcon(), complex_divide(), complex_sqrt(), Expand_Int_Equal(), Expand_Int_Greater(), Expand_Int_Greater_Equal(), Expand_Int_Less(), Expand_Int_Less_Equal(), Expand_Int_Not_Equal(), Extract_Complex_Imag(), Extract_Complex_Real(), Extract_Paired_Hi(), Extract_Paired_Lo(), Extract_Quad_Hi(), Extract_Quad_Lo(), Hash_TCON(), Host_To_Targ(), Host_To_Targ_Complex(), Host_To_Targ_Complex_10(), Host_To_Targ_Complex_4(), Host_To_Targ_Float(), Host_To_Targ_Float_10(), Host_To_Targ_Float_4(), Host_To_Targ_String(), Host_To_Targ_UV(), Ldid_from_mtype(), lower_bit_field_id(), Make_Complex(), Make_Const(), TY::Print(), Targ_Atoc(), Targ_Conv(), Targ_Emit_Const(), Targ_fp_class(), Targ_Hexfptoc(), Targ_Is_Integral(), Targ_Is_Zero(), Targ_Print(), Targ_String_Address(), Targ_String_Length(), Targ_To_Host(), Targ_To_Host_ComplexImag(), Targ_To_Host_ComplexReal(), Targ_To_Host_Float(), Targ_To_Host_Quad(), Targ_To_Signed_Host(), and Targ_WhirlOp().
Definition at line 431 of file mtypes.cxx.
References Machine_Next_Alignment, and TYPE_ID.
Referenced by lower_bit_field_id().
Definition at line 447 of file mtypes.cxx.
References Machine_Prev_Alignment, and TYPE_ID.
Referenced by lower_bit_field_id().
Definition at line 304 of file mtypes.cxx.
References MTYPE_A4, MTYPE_A8, MTYPE_byte_size, MTYPE_is_integral, and TYPE_ID.
Referenced by Mtype_TransferSign().
Definition at line 324 of file mtypes.cxx.
References MTYPE_A4, MTYPE_A8, MTYPE_complement, Mtype_Promote_to_A4A8(), MTYPE_signed, and TYPE_ID.
Referenced by CODEMAP::Add_def(), cancel_in_relop(), CODEMAP::Canon_add_sub(), CFG::Conv_to_select(), Create_identity_assignment(), SSA::Du2cr(), em_sign(), STMTREP::Enter_lhs(), Exp_Ldst(), Expand_Abs(), Expand_Neg(), STR_RED::Find_iv_and_mult_phi_res(), Gen_exp_wn(), CSE::Generate_injury_repair(), SSA::Get_zero_version_CR(), Handle_ISTBITS(), Handle_STBITS(), Identity_assignment_type(), OPT_REVISE_SSA::Insert_mu_and_chi_list_for_new_var(), lower_bit_field_id(), CFG::Lower_if_stmt(), lower_load_bits(), lower_store_bits(), LFTR::Replace_comparison(), ETABLE::Save_replace_rhs_by_preg(), CSE::Save_shrunk_lr_def(), EXP_WORKLST::Save_use_cr(), scalar_rename(), Simd_Align_Analysis(), Simd_Finalize_Loops(), Simd_Handle_Negative_Coefficient(), Simd_Vectorize_Scalar_Reduction(), simp_add_sub(), SIMPNODE_ConstantFold2(), SPRE_insert_load_to_preg(), COMP_UNIT::U64_lower_cr(), U64_LOWER_expr(), OPT_REVISE_SSA::Update_chi_list_for_old_var(), OPT_REVISE_SSA::Update_phis(), CODEREP::Var_type_conversion(), vho_lower_expr(), WFE_Array_Expr(), WFE_Expand_Expr(), WGEN_Array_Expr(), WGEN_Expand_Expr(), WN_Type_Conversion(), and WN_UVConst().
Definition at line 346 of file mtypes.cxx.
References MTYPE_A4, MTYPE_A8, MTYPE_byte_size, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, MTYPE_signed, MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, MTYPE_UNKNOWN, and TYPE_ID.
Referenced by CODEMAP::Add_expr(), Change_types_to_32bit(), BITWISE_DCE::Delete_cvtls(), em_sign(), Expand_Copy(), OPT_REVISE_SSA::Form_extract(), Gen_exp_wn(), Gen_stmt_wn(), ETABLE::Generate_stid_to_preg(), Handle_ISTBITS(), Handle_STBITS(), lower_bit_field_id(), lower_load_bits(), lower_store_bits(), BITWISE_DCE::Mark_tree_bits_live(), Shrink_to_32bit(), SIMPNODE_ConstantFold2(), COMP_UNIT::U64_lower_cr(), U64_LOWER_expr(), WFE_Array_Expr(), WGEN_Array_Expr(), and Widen_Mtype().
Definition at line 68 of file mtypes.cxx.
Referenced by IVAR::IPA_LNO_Print(), IVAR::IPA_LNO_Print_File(), and IVAR::WB_Print().
Definition at line 232 of file mtypes.cxx.
1.5.6