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

Go to the source code of this file.

Classes

struct  type_desc

Defines

#define MTYPE_UNKNOWN   0
#define MTYPE_FIRST   1
#define MTYPE_B   1 /* BOOL */
#define MTYPE_I1   2 /* 8-bit integer */
#define MTYPE_I2   3 /* 16-bit integer */
#define MTYPE_I4   4 /* 32-bit integer */
#define MTYPE_I8   5 /* 64-bit integer */
#define MTYPE_U1   6 /* 8-bit unsigned integer */
#define MTYPE_U2   7 /* 16-bit unsigned integer */
#define MTYPE_U4   8 /* 32-bit unsigned integer */
#define MTYPE_U8   9 /* 64-bit unsigned integer */
#define MTYPE_F4   10 /* 32-bit IEEE floating point */
#define MTYPE_F8   11 /* 64-bit IEEE floating point */
#define MTYPE_F10   12 /* 80-bit IEEE floating point */
#define MTYPE_F16   13 /* 128-bit IEEE floating point */
#define MTYPE_STR   14 /* char strings - TCONs only */
#define MTYPE_STRING   MTYPE_STR
#define MTYPE_FQ   15 /* for SGI long double */
#define MTYPE_M   16 /* memory chunk, for structures */
#define MTYPE_C4   17 /* for 32-bit complex */
#define MTYPE_C8   18 /* for 64-bit complex */
#define MTYPE_CQ   19 /* for quad complex */
#define MTYPE_V   20 /* for void type */
#define MTYPE_BS   21 /* Bits */
#define MTYPE_A4   22 /* 32-bit address */
#define MTYPE_A8   23 /* 64-bit address */
#define MTYPE_C10   24 /* 80-bit IEEE floating point complex */
#define MTYPE_C16   25 /* 128-bit IEEE floating point complex */
#define MTYPE_I16   26 /* 128-bit signed integer */
#define MTYPE_U16   27 /* 128-bit unsigned integer */
#define MTYPE_LAST   27 /* Must be defined */
#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_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)   Mtype_Name(n)
#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_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

const char * Mtype_Name (TYPE_ID)
TYPE_ID Name_To_Mtype (const char *nm)
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 Documentation

#define MTYPE_align_best (   n)    MTYPE_alignment(n)

Definition at line 147 of file mtypes.h.

Referenced by Adjusted_Alignment(), Calc_Actual_Area(), and Make_Array_Type().

#define MTYPE_align_min (   n)    MTYPE_alignment(n)

Definition at line 145 of file mtypes.h.

Referenced by Mtype_AlignmentClass().

#define MTYPE_align_req (   n)    MTYPE_alignment(n)

Definition at line 146 of file mtypes.h.

Referenced by Create_Special_Global_Symbols(), and Initialize_Special_Global_Symbols().

#define MTYPE_alignment (   n)    (Machine_Types[n].alignment)

Definition at line 144 of file mtypes.h.

Definition at line 188 of file mtypes.h.

#define MTYPE_BS   21 /* Bits */
#define MTYPE_C10   24 /* 80-bit IEEE floating point complex */

Definition at line 92 of file mtypes.h.

Referenced by Array_Is_HFA(), Get_Return_Info(), and Struct_Is_HFA().

#define MTYPE_C16   25 /* 128-bit IEEE floating point complex */

Definition at line 93 of file mtypes.h.

Referenced by Array_Is_HFA(), and Struct_Is_HFA().

#define MTYPE_CLASS_COMPLEX   0x04

Definition at line 108 of file mtypes.h.

Definition at line 112 of file mtypes.h.

#define MTYPE_CLASS_FLOAT   0x02

Definition at line 107 of file mtypes.h.

#define MTYPE_CLASS_INTEGER   0x01
#define MTYPE_CLASS_STR   0x10

Definition at line 110 of file mtypes.h.

#define MTYPE_CLASS_UNSIGNED   0x08

Definition at line 109 of file mtypes.h.

#define MTYPE_complement (   n)    (Machine_Types[n].complement)

Definition at line 153 of file mtypes.h.

Referenced by fei_bneg(), Mtype_TransferSign(), and simp_eq_neq().

#define MTYPE_F10   12 /* 80-bit IEEE floating point */
#define MTYPE_F16   13 /* 128-bit IEEE floating point */
#define MTYPE_F4   10 /* 32-bit IEEE floating point */

Definition at line 74 of file mtypes.h.

Referenced by Array_Is_HFA(), Check_TCON(), convert_precise(), cwh_addr_pstid(), cwh_addr_stid(), cwh_cray_type_from_MTYPE(), cwh_dst_mk_const(), cwh_funny_fp_intrinsic(), cwh_get_highest_type(), cwh_stab_altentry_TY(), cwh_stab_altres_offset(), cwh_stab_altres_offset_comp(), cwh_types_mk_f90_pointer_ty(), do_simple(), Em_Targ_Emit_Const(), Enter_tcon(), Extract_Complex_Imag(), Extract_Complex_Real(), Extract_Quad_Hi(), Extract_Quad_Lo(), fe_preg_init(), fei_arith_con(), fei_exponentiate(), fei_ieee_sign_xfer(), fei_ranf(), fei_round(), fei_unit(), First_PLOC_Reg(), Get_Parameter_Location(), Get_Return_Info(), Get_Struct_Parameter_Location(), Hash_TCON(), Host_To_Targ_Float(), Host_To_Targ_Float_4(), Host_To_Targ_UV(), Init_Constab(), is_floating_equal(), Is_Valid_Opcode_Parts(), Make_Const(), Make_Reduction_Identity(), Mtype_complex_to_real(), Mtype_to_Ukind(), OPCODE_To_TOP(), Set_Tcon_Value(), Shorten_Section(), Struct_Is_HFA(), t_from_mtype(), Targ_Conv(), Targ_Emit_Const(), Targ_fp_class(), Targ_Hexfptoc(), Targ_IntrinsicOp(), Targ_Ipower(), Targ_Is_Integral(), Targ_Is_Power_Of_Two(), Targ_Is_Zero(), Targ_Power(), Targ_Print(), Targ_To_Host_Float(), Targ_To_Host_Quad(), Targ_WhirlOp(), TCON2C_translate(), TCON2F_translate(), TY2F_scalar(), WN2C_ldid(), WN2F_const(), WN2F_imagpart(), WN2F_ldid(), WN2F_realpart(), WN_ConstPowerOf2(), WN_Create_Shared_Load(), WN_Create_Shared_Store(), WN_Float_Type_Conversion(), WN_Floatconst(), WN_intrinsic_return_ty(), WN_Type_Conversion(), WN_Type_To_Intrinsic(), WN_Type_To_SyncIntrinsic(), and WN_UVConst().

#define MTYPE_F8   11 /* 64-bit IEEE floating point */

Definition at line 75 of file mtypes.h.

Referenced by Array_Is_HFA(), Check_TCON(), convert_precise(), Create_Special_Global_Symbols(), cwh_cray_type_from_MTYPE(), cwh_dst_mk_const(), cwh_funny_fp_intrinsic(), cwh_get_highest_type(), cwh_stab_altentry_TY(), cwh_stab_altres_offset(), cwh_stmt_return_altentry(), cwh_types_mk_f90_pointer_ty(), do_simple(), Em_Targ_Emit_Const(), Enter_tcon(), Extract_Complex_Imag(), Extract_Complex_Real(), Extract_Quad_Hi(), Extract_Quad_Lo(), fe_preg_init(), fei_arith_con(), fei_exponentiate(), fei_ieee_sign_xfer(), fei_round(), Get_Parameter_Location(), Get_Return_Info(), Get_Struct_Parameter_Location(), Hash_TCON(), Host_To_Targ_Float(), Host_To_Targ_Float_4(), Host_To_Targ_UV(), Init_Constab(), is_floating_equal(), Is_Valid_Opcode_Parts(), Make_Const(), Make_Reduction_Identity(), Mtype_complex_to_real(), Mtype_to_Ukind(), OPCODE_To_TOP(), Promoted_Parm_Type(), Set_Tcon_Value(), Shorten_Section(), Struct_Is_HFA(), t_from_mtype(), Targ_Conv(), Targ_Emit_Const(), Targ_fp_class(), Targ_Hexfptoc(), Targ_IntrinsicOp(), Targ_Ipower(), Targ_Is_Integral(), Targ_Is_Power_Of_Two(), Targ_Is_Zero(), Targ_Power(), Targ_Print(), Targ_To_Host_Float(), Targ_To_Host_Quad(), Targ_WhirlOp(), TCON2C_translate(), TCON2F_translate(), TY2F_scalar(), Upc_Lower_SymbolTable(), WN2C_Append_Symtab_Vars(), WN2C_ldid(), WN2F_const(), WN2F_imagpart(), WN2F_ldid(), WN2F_realpart(), WN2F_recip(), WN_ConstPowerOf2(), WN_Create_Shared_Load(), WN_Create_Shared_Store(), WN_Float_Type_Conversion(), WN_Floatconst(), WN_intrinsic_return_ty(), WN_Type_Conversion(), WN_Type_To_Intrinsic(), WN_Type_To_SyncIntrinsic(), and WN_UVConst().

#define MTYPE_FQ   15 /* for SGI long double */

Definition at line 82 of file mtypes.h.

Referenced by Array_Is_HFA(), Check_TCON(), convert_precise(), Count_WN_Operator(), Create_Preg_explicit(), Create_Special_Global_Symbols(), cwh_cray_type_from_MTYPE(), cwh_dst_mk_const(), cwh_get_highest_type(), cwh_stab_altentry_TY(), cwh_types_mk_f90_pointer_ty(), do_simple(), Em_Targ_Emit_Const(), Extract_Complex_Imag(), Extract_Complex_Real(), Extract_Quad_Hi(), Extract_Quad_Lo(), fe_preg_init(), fei_arith_con(), fei_exponentiate(), fei_ieee_sign_xfer(), fei_ieee_trunc(), fei_round(), First_PLOC_Reg(), Get_Parameter_Location(), Get_Return_Info(), Hash_TCON(), Host_To_Targ_Float(), Host_To_Targ_Float_4(), Host_To_Targ_Quad(), Host_To_Targ_UV(), Initialize_Special_Global_Symbols(), is_floating_equal(), Is_Simulated_Type(), Make_Const(), Make_Reduction_Identity(), Mtype_complex_to_real(), Mtype_to_Ukind(), Preg_Increment(), Set_Tcon_Value(), Shorten_Section(), Struct_Is_HFA(), t_from_mtype(), Targ_Conv(), Targ_Emit_Const(), Targ_fp_class(), Targ_Hexfptoc(), Targ_IntrinsicOp(), Targ_Ipower(), Targ_Is_Integral(), Targ_Is_Power_Of_Two(), Targ_Is_Zero(), Targ_Print(), Targ_To_Host_Float(), Targ_To_Host_Quad(), Targ_WhirlOp(), TCON2C_translate(), TCON2F_translate(), TY2C_Prepend_Alignment_Type(), TY2F_scalar(), TY_Is_Quad(), WN2C_ldid(), WN2F_const(), WN2F_imagpart(), WN2F_ldid(), WN2F_realpart(), WN2F_recip(), WN_ConstPowerOf2(), WN_Float_Type_Conversion(), WN_Floatconst(), WN_intrinsic_return_ty(), WN_Type_Conversion(), WN_Type_To_Intrinsic(), and WN_UVConst().

#define MTYPE_I16   26 /* 128-bit signed integer */

Definition at line 94 of file mtypes.h.

#define MTYPE_I4   4 /* 32-bit integer */

Definition at line 68 of file mtypes.h.

Referenced by cancel_in_relop(), Check_TCON(), Combine_Offset_Terms(), Configure_Target(), convert_precise(), cwh_addr_do_bounds_check(), cwh_addr_init_target(), cwh_addr_insert_bounds_check(), cwh_auxst_distr_preg(), cwh_convert_to_ty(), cwh_cray_type_from_MTYPE(), cwh_dst_enter_pu(), cwh_dst_mk_const(), cwh_expr_binop_shift(), cwh_expr_compare(), cwh_expr_compare_bitwise(), cwh_inline_allocate(), cwh_intrin_ieee_intrin_helper(), cwh_intrin_null_parm(), cwh_intrin_popcnt_leadz_helper(), cwh_io_split_io_items(), cwh_load_distribute_temp(), cwh_make_typed_opcode(), cwh_stab_distrib_pragmas(), cwh_stmt_add_parallel_pragmas(), cwh_stmt_falsebr(), cwh_stmt_insert_conformance_check(), cwh_stmt_truebr(), cwh_types_mk_namelist_item_TY(), cwh_types_mk_namelist_TY(), cwh_types_size_WN(), Em_Targ_Emit_Const(), F90_Size_Walk(), F90_Wrap_ARREXP(), fe_preg_init(), fei_arith_con(), fei_cot(), fei_count(), fei_descriptor(), fei_doloop(), fei_exponentiate(), fei_fpclass(), fei_get_dv_hdr_fld(), fei_ieee_sign_xfer(), fei_length(), fei_leqv(), fei_logb(), fei_lxor(), fei_omp_test_lock(), fei_poppar(), fei_pos_diff(), fei_present(), fei_redistribute(), fei_round(), fei_scalb(), fei_scale(), fei_set_dv_hdr_fld(), fei_set_exponent(), Gen_Malloc_Cart(), Get_Parameter_Location(), Get_Return_Info(), Hash_TCON(), Host_To_Targ(), INIT2F_Implied_DoLoop(), Initialize_Upc_Vars(), INITVKIND_const(), IPA_Configure_Target(), IPL_EX_Collapse_Trip_Counts(), IPL_EX_New_Constant(), IPL_EX_New_Expr_Expr(), IPL_EX_New_Value_Expr(), IPL_EXS_Outer_Fold(), Irb_Init_Integer(), is_add_ok(), is_sub_ok(), Is_Valid_Opcode_Parts(), Make_Const(), Make_Reduction_Identity(), Mtype_comparison(), Mtype_to_Ukind(), Mtype_TransferSize(), Need_load_type_conversion(), Rebuild_rtype(), Set_Tcon_Value(), Setup_Preg_Pointers(), Shared_Load_Extend_Mtyp(), Shorten_Section(), simp_add_sub(), simp_diff_value(), simp_eq_neq(), simp_min_max(), simp_relop(), simp_shift(), SIMPNODE_SimplifyIntrinsic(), Size_To_Mtype(), St_Idx_Is_Intconst(), Substitute_1_For_Impdo_Index_Val(), t_from_mtype(), Targ_Conv(), Targ_Emit_Const(), Targ_IntrinsicOp(), Targ_Ipower(), Targ_Is_Integral(), Targ_Is_Zero(), Targ_Power(), Targ_Print(), Targ_To_Host(), Targ_WhirlOp(), TCON2C_translate(), TCON2F_translate(), TY2F_Append_ARB(), TY2F_scalar(), U64_LOWER_expr(), Widen_Mtype(), WN2C_compose_bits(), WN2C_extract_bits(), WN2C_lda(), WN2C_ldid(), WN2F_casegoto(), WN2F_const(), WN2F_Expr_Plus_Literal(), WN2F_Get_Divceil_Intr(), WN2F_Get_Divfloor_Intr(), WN2F_Infix_Op(), WN2F_Initiate_OneInt(), WN2F_Initiate_ZeroInt(), WN2F_intconst(), WN2F_Is_Address_Preg(), WN2F_ldid(), WN2F_triplet(), WN_Can_Be_Speculative(), WN_Create_PtrEq_Test(), WN_Create_Shared_Load(), WN_Create_Shared_Ptr_Diff(), WN_CreateIload(), WN_CreateIstore(), WN_CreateMload(), WN_CreateMstore(), WN_CreatePstore(), WN_Int_Type_Conversion(), WN_intrinsic_return_ty(), WN_Solve_For(), WN_Type_Conversion(), WN_Type_To_Intrinsic(), WN_Type_To_SyncIntrinsic(), WN_UVConst(), and WN_Zerocon().

#define MTYPE_I8   5 /* 64-bit integer */

Definition at line 69 of file mtypes.h.

Referenced by cancel_in_relop(), Check_TCON(), Configure_Target(), convert_precise(), cwh_addr_init_target(), cwh_cray_type_from_MTYPE(), cwh_dst_enter_pu(), cwh_dst_mk_const(), cwh_expr_binop_shift(), cwh_expr_compare_bitwise(), cwh_inline_allocate(), cwh_intrin_popcnt_leadz_helper(), cwh_intrin_sync_intrin(), cwh_stab_altentry_TY(), cwh_stab_altres_offset(), cwh_stab_altres_offset_comp(), cwh_stmt_insert_conformance_check(), cwh_types_mk_result_temp_TY(), DRA_EC_Array_Portion_Parms(), DRA_EC_Declare_Types(), DRA_Insert_Pragmas(), Em_Targ_Emit_Const(), fe_preg_init(), fei_arith_con(), fei_count(), fei_doloop(), fei_exponentiate(), fei_ieee_sign_xfer(), fei_logb(), fei_multiply_high(), fei_round(), fei_rtc(), Gen_Malloc_Cart(), Get_Array_Dim_Size(), Get_Parameter_Location(), Get_Return_Info(), Hash_TCON(), Host_To_Targ(), INIT2F_Implied_DoLoop(), Initialize_Upc_Types(), INITVKIND_const(), Insert_Alloca(), Irb_Init_Integer(), is_add_ok(), is_sub_ok(), Is_Valid_Opcode_Parts(), Make_Const(), Make_Reduction_Identity(), MemCtr_Add_Common(), MemCtr_Add_Global(), MemCtr_Add_Local(), MemCtr_Init(), Mtype_to_Ukind(), Mtype_TransferSize(), Preg_Increment(), Rebuild_rtype(), Set_Tcon_Value(), Shared_Load_Extend_Mtyp(), Shorten_Section(), simp_cvtl(), simp_diff_value(), simp_min_max(), simp_relop(), simp_shift(), SIMPNODE_ConstantFold1(), Size_To_Mtype(), St_Idx_Is_Intconst(), Substitute_1_For_Impdo_Index_Val(), t_from_mtype(), Targ_Conv(), Targ_Emit_Const(), Targ_IntrinsicOp(), Targ_Ipower(), Targ_Is_Integral(), Targ_Is_Zero(), Targ_Power(), Targ_Print(), Targ_To_Host(), Targ_WhirlOp(), TCON2C_translate(), TCON2F_translate(), TY2C_array(), TY2C_prepend_filler_field(), TY2F_scalar(), U64_LOWER_expr(), WN2C_append_addr_plus_const(), WN2C_append_addr_plus_expr(), WN2C_ldid(), WN2C_mstore(), WN2F_const(), WN2F_Expr_Plus_Literal(), WN2F_Get_Divceil_Intr(), WN2F_Get_Divfloor_Intr(), WN2F_intconst(), WN2F_Is_Address_Preg(), WN2F_ldid(), WN2F_triplet(), WN_Can_Be_Speculative(), WN_Create_Shared_Load(), WN_Create_Shared_Store(), WN_CreateIload(), WN_CreateIstore(), WN_CreateMload(), WN_CreateMstore(), WN_CreatePstore(), WN_Int_Type_Conversion(), WN_intrinsic_return_ty(), WN_Solve_For(), WN_Type_Conversion(), WN_Type_To_Intrinsic(), WN_Type_To_SyncIntrinsic(), and WN_UVConst().

#define MTYPE_id (   n)    (Machine_Types[n].id)

Definition at line 138 of file mtypes.h.

Referenced by Calc_Actual_Area(), and Mtype_AlignmentClass().

#define MTYPE_is_boolean (   n)    ((n)==Boolean_type || (n)==Boolean_type2)

Definition at line 167 of file mtypes.h.

#define MTYPE_is_m (   n)    ((n)==MTYPE_M)

Definition at line 162 of file mtypes.h.

Referenced by cwh_types_mk_f90_pointer_ty(), and Widen_Mtype().

#define MTYPE_is_quad (   n)    ((n)==MTYPE_FQ || (n)==MTYPE_CQ)

Definition at line 165 of file mtypes.h.

Referenced by WN_Inverse().

Definition at line 157 of file mtypes.h.

Referenced by Actual_data_size(), and Is_Power_Of_2().

Definition at line 172 of file mtypes.h.

Referenced by Can_Be_Immediate().

#define MTYPE_is_str (   n)    (MTYPE_type_class(n)==MTYPE_STR)

Definition at line 161 of file mtypes.h.

#define MTYPE_is_void (   n)    ((n)==MTYPE_V)

Definition at line 163 of file mtypes.h.

Referenced by cwh_types_mk_procedure_TY(), fei_arith_con(), and Widen_Mtype().

#define MTYPE_signed (   n)    (Machine_Types[n].signed_type)
#define MTYPE_size_best (   n)    MTYPE_bit_size(n)

Definition at line 143 of file mtypes.h.

Referenced by cwh_dope_initialize(), cwh_expr_binop_shift(), and cwh_types_get_dope_info().

#define MTYPE_type_order (   n)    (Machine_Types[n].type_order)

Definition at line 152 of file mtypes.h.

Referenced by cwh_get_highest_type().

#define MTYPE_U16   27 /* 128-bit unsigned integer */

Definition at line 95 of file mtypes.h.

#define MTYPE_U4   8 /* 32-bit unsigned integer */

Definition at line 72 of file mtypes.h.

Referenced by cancel_in_relop(), Check_TCON(), Configure_Target(), convert_precise(), cwh_convert_to_ty(), cwh_dope_from_expression(), cwh_dope_initialize(), cwh_dst_mk_const(), cwh_expr_binop_shift(), cwh_expr_compare_bitwise(), cwh_intrin_popcnt_leadz_helper(), cwh_make_typed_opcode(), cwh_types_mk_basic_TY(), cwh_types_mk_f90_pointer_ty(), Em_Targ_Emit_Const(), F90_Wrap_ARREXP(), fe_preg_init(), fei_multiply_high(), Get_Parameter_Location(), Get_Return_Info(), Hash_TCON(), Host_To_Targ(), IPA_Configure_Target(), is_add_ok(), Is_Power_Of_2(), is_sub_ok(), Is_Valid_Opcode_Parts(), Make_Const(), Make_Reduction_Identity(), Mtype_comparison(), Mtype_to_Ukind(), Mtype_TransferSize(), Rebuild_rtype(), Set_Tcon_Value(), Setup_Preg_Pointers(), Shared_Load_Extend_Mtyp(), Shorten_Section(), simp_diff_value(), simp_min_max(), simp_relop(), simp_shift(), SIMPNODE_SimplifyIntrinsic(), St_Idx_Is_Intconst(), Substitute_1_For_Impdo_Index_Val(), Targ_Conv(), Targ_Emit_Const(), Targ_Ipower(), Targ_Is_Integral(), Targ_Is_Zero(), Targ_Power(), Targ_Print(), Targ_To_Host(), Targ_WhirlOp(), TCON2C_translate(), TCON2F_translate(), TY2C_Prepend_Alignment_Type(), TY2F_scalar(), U64_LOWER_expr(), WN2C_ldid(), WN2F_Get_Divceil_Intr(), WN2F_Get_Divfloor_Intr(), WN2F_ldid(), WN_Can_Be_Speculative(), WN_Create_Shared_Load(), WN_CreateIload(), WN_CreateIstore(), WN_CreateMload(), WN_CreateMstore(), WN_CreatePstore(), WN_Int_Type_Conversion(), WN_intrinsic_return_ty(), WN_Solve_For(), WN_Type_Conversion(), WN_Type_To_Intrinsic(), WN_Type_To_SyncIntrinsic(), and WN_UVConst().

#define MTYPE_U8   9 /* 64-bit unsigned integer */
#define MTYPE_V   20 /* for void type */

Definition at line 87 of file mtypes.h.

Referenced by Array_Is_HFA(), arrsection_to_array(), Create_Special_Global_Symbols(), cwh_addr_insert_bounds_check(), cwh_convert_to_ty(), cwh_do_tranformational(), cwh_dope_from_expression(), cwh_dst_basetype(), cwh_dst_mk_subroutine_type(), cwh_expr_bincalc(), cwh_expr_binop(), cwh_expr_binop_shift(), cwh_expr_compare_bitwise(), cwh_expr_restore_arrayexp(), cwh_expr_unop(), cwh_funny_fp_intrinsic(), cwh_intrin_build(), cwh_intrin_call(), cwh_intrin_ieee_intrin_call_helper(), cwh_intrin_null_parm(), cwh_intrin_op(), cwh_intrin_sync_intrin(), cwh_io_conv_array_to_dope(), cwh_io_conv_arrsection_to_dope(), cwh_io_split_io_items(), cwh_stmt_append_truebr(), cwh_stmt_call_helper(), cwh_stmt_character_icall(), cwh_stmt_insert_conformance_check(), cwh_stmt_return_altentry(), cwh_stmt_return_scalar(), cwh_types_mk_namelist_item_TY(), cwh_types_WN_TY(), Declare_Func_N_Arg(), Declare_Function(), DRA_EC_Array_Portion_Parms(), DRA_EC_Declare_Types(), F90_Wrap_ARREXP(), fei_addr(), fei_allocate(), fei_arith_goto(), fei_array_construct(), fei_bneg(), fei_concat(), fei_count(), fei_descriptor(), fei_dot_product(), fei_dot_product_logical(), fei_imag(), fei_interface(), fei_lock_release(), fei_matmul(), fei_mfree(), fei_mvbits(), fei_namelist(), fei_noio_implied_do(), fei_nullify(), fei_omp_set_lock(), fei_omp_unset_lock(), fei_ranget(), fei_ranset(), fei_round(), fei_synchronize(), fei_use(), Fill_Align_Symbol(), Gen_Call_Array(), Gen_Free_Cart(), Gen_Malloc_Cart(), Get_Return_Info(), Initialize_Special_Global_Symbols(), INITV2C_block_struct(), INITV2C_symoff(), Insert_Alloca(), IPL_EX_Collapse_Trip_Counts(), IPL_EX_New_Expr_Expr(), IPL_EX_New_Value_Expr(), IPL_EXS_Outer_Fold(), Is_Valid_Opcode_Parts(), Make_Reduction_Identity(), MemCtr_Add_Common(), MemCtr_Add_Global(), MemCtr_Add_Local(), OPCODE_name(), OPCODE_To_TOP(), Predefined_Void_Type(), PUinfo_Get_ReturnPreg(), Rewrite_Pragmas_On_Structs(), Rewrite_Structs_In_MPRegion(), SIMPNODE_SimplifyExp2_h(), Spill_And_Take_Address(), Spill_Shared_Load(), Struct_Has_One_Float(), Struct_Has_Two_Floats(), Struct_Is_HFA(), TY_is_pshared(), TY_Verify_Kind_Mtype(), U64_LOWER_expr(), WN2C_address_add(), WN2C_create_ref_param_lda(), WN2C_Function_Call_Lhs(), WN2C_infix_op(), WN2C_return(), WN2F_Function_Call_Lhs(), WN2F_Infix_Op(), WN2F_Initiate_OneInt(), WN2F_Initiate_ZeroInt(), WN2F_return(), WN_Binary(), WN_Convert_Shared_To_Local(), WN_Create_PtrEq_Test(), WN_Create_Shared_Load(), WN_Create_Shared_Ptr_Arithmetic(), WN_Create_Shared_Ptr_Diff(), WN_Create_Shared_Store(), WN_Create_StoP_Cvt(), WN_CreateAffirm(), WN_CreateAlloca(), WN_CreateDealloca(), WN_CreateLdma(), WN_CreateParm(), WN_Iloadx(), WN_Intconst(), WN_intrinsic_return_ty(), WN_Istore(), WN_Istorex(), WN_Lda(), WN_LdaLabel(), WN_LOOP_TripCount(), WN_PStid(), WN_Pstore(), WN_SetNull_Sptr(), WN_Solve_For(), WN_Stid(), WN_StidIntoPreg(), WN_Tas(), WN_Ternary(), WN_Tree_Type(), WN_Unary(), WN_Upper_Bound_Standardize(), and WN_UVConst().

#define TMASK_And (   m1,
  m2 
)    ((m1) & (m2))

Definition at line 182 of file mtypes.h.

#define TMASK_Element (   m,
 
)    (((m) & Type_Mask(k))!=0)

Definition at line 181 of file mtypes.h.

#define TMASK_Included (   m1,
  m2 
)    (TMASK_And(m1,m2)==(m1))

Definition at line 184 of file mtypes.h.

#define TMASK_Or (   m1,
  m2 
)    ((m1) | (m2))

Definition at line 183 of file mtypes.h.

#define Type_Mask (   t)    ( ((MTYPE_MASK) 1) << (t) )

Definition at line 178 of file mtypes.h.


Typedef Documentation

typedef mUINT8 mTYPE_ID

Definition at line 102 of file mtypes.h.

typedef UINT32 MTYPE_MASK

Definition at line 175 of file mtypes.h.

typedef struct type_desc TYPE_DESC
typedef UINT8 TYPE_ID

Definition at line 101 of file mtypes.h.


Function Documentation

Definition at line 398 of file mtypes.cxx.

References Machine_Next_Alignment.

Definition at line 414 of file mtypes.cxx.

References Machine_Prev_Alignment.

Definition at line 275 of file mtypes.cxx.

References MTYPE_A4, MTYPE_A8, MTYPE_byte_size, and MTYPE_is_integral.

Referenced by Mtype_TransferSign().

Definition at line 295 of file mtypes.cxx.

References MTYPE_A4, MTYPE_A8, MTYPE_complement, Mtype_Promote_to_A4A8(), and MTYPE_signed.

Referenced by U64_LOWER_expr(), WN_Create_Shared_Load(), WN_Type_Conversion(), and WN_UVConst().

Here is the call graph for this function:

TYPE_ID Name_To_Mtype ( const char *  nm)

Definition at line 235 of file mtypes.cxx.

References ir_a2b::MapStrToEnum(), MTYPE_LAST, and MtypeToNameTbl.

Here is the call graph for this function:


Variable Documentation

Definition at line 198 of file mtypes.cxx.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines