Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include "common_include.h"
#include "wn_util.h"
#include "intrn_info.h"
#include "wutil.h"
#include "unparse_target.h"
Go to the source code of this file.
Functions | |
static TY_IDX | WN_Cvtl_Ty (const WN *wn) |
TY_IDX | Get_Field_Type (TY_IDX base, int field_id) |
static TY_IDX | WN_get_tld_type (const WN *wn) |
UINT | WN_num_var_refs (WN *wn, const ST *st, STAB_OFFSET st_ofst) |
const char * | WN_intrinsic_name (INTRINSIC intr_opc) |
TY_IDX | WN_intrinsic_return_ty (OPCODE wn_opc, INTRINSIC intr_opc, const WN *call) |
BOOL | WN_intrinsic_return_to_param (TY_IDX return_ty) |
WN * | WN_Get_PtrAdd_Intconst (WN *wn0, WN *wn1, TY_IDX pointed_ty) |
TY_IDX | WN_Tree_Type (const WN *wn) |
void | Remove_Skips (WN *ablock, W2CF_SKIP_ITEM *skip_info, INT *next_info_idx, INT max_info_idx, BOOL clist) |
void | Restore_Skips (const W2CF_SKIP_ITEM *skip_info, INT number_of_items, BOOL clist) |
Variables | |
static const MTYPE | WN_Cvtl_Mtype [2][9] |
TY_IDX Get_Field_Type | ( | TY_IDX | base, |
int | field_id | ||
) |
Definition at line 99 of file wn_attr.cxx.
References FLD_get_to_field(), FLD_type(), Is_True, and TY_Is_Structured().
Referenced by Spill_And_Take_Address(), WN2C_Append_Assignment(), WN2C_istore(), WN2C_lda(), WN2C_ldid(), WN2C_mload(), WN2C_mstore(), WN2C_stid(), WN_Create_Shared_Load(), WN_Create_Shared_Store(), WN_get_tld_type(), and WN_Tree_Type().
void Remove_Skips | ( | WN * | ablock, |
W2CF_SKIP_ITEM * | skip_info, | ||
INT * | next_info_idx, | ||
INT | max_info_idx, | ||
BOOL | clist | ||
) |
Definition at line 627 of file wn_attr.cxx.
References W2CF_SKIP_ITEM::first, Is_True, W2CF_SKIP_ITEM::last, NULL, OPC_BLOCK, OPR_PRAGMA, W2CF_SKIP_ITEM::parent, WN_first(), WN_ITER_wn, WN_last(), WN_next(), WN_opc_operator, WN_opcode(), WN_pragma(), WN_PRAGMA_CLIST_SKIP_BEGIN, WN_PRAGMA_CLIST_SKIP_END, WN_PRAGMA_FLIST_SKIP_BEGIN, WN_PRAGMA_FLIST_SKIP_END, WN_prev(), WN_WALK_StmtIter(), and WN_WALK_StmtNext().
Referenced by W2C_Push_PU(), and W2F_Push_PU().
void Restore_Skips | ( | const W2CF_SKIP_ITEM * | skip_info, |
INT | number_of_items, | ||
BOOL | clist | ||
) |
Definition at line 701 of file wn_attr.cxx.
References W2CF_SKIP_ITEM::first, W2CF_SKIP_ITEM::last, next, NULL, W2CF_SKIP_ITEM::parent, WN_first(), WN_last(), WN_next(), and WN_prev().
Referenced by W2C_Pop_PU(), and W2F_Pop_PU().
static TY_IDX WN_Cvtl_Ty | ( | const WN * | wn | ) | [static] |
Definition at line 86 of file wn_attr.cxx.
References MTYPE_signed, Stab_Mtype_To_Ty(), WN_cvtl_bits(), WN_Cvtl_Mtype, and WN_opc_rtype.
Referenced by WN_Tree_Type().
WN* WN_Get_PtrAdd_Intconst | ( | WN * | wn0, |
WN * | wn1, | ||
TY_IDX | pointed_ty | ||
) |
Definition at line 293 of file wn_attr.cxx.
References NULL, OPR_INTCONST, OPR_MPY, TY_Is_Pointer(), TY_size(), WN_const_val(), WN_kid0(), WN_kid1(), WN_opc_operator, and WN_Tree_Type().
Referenced by WN2C_address_add(), WN2C_lvalue_wn(), and WN_Tree_Type().
static TY_IDX WN_get_tld_type | ( | const WN * | wn | ) | [static] |
Definition at line 113 of file wn_attr.cxx.
References Get_Field_Type(), Get_Type_Block_Size(), KIND_ARRAY, KIND_POINTER, KIND_STRUCT, KIND_VOID, Make_Pointer_Type(), pshared_ptr_idx, shared_ptr_idx, TY_etype(), TY_is_shared(), TY_kind(), TY_pointed(), WN_field_id(), WN_kid0(), and WN_Tree_Type().
Referenced by WN_Tree_Type().
const char* WN_intrinsic_name | ( | INTRINSIC | intr_opc | ) |
Definition at line 183 of file wn_attr.cxx.
References Unparse_Target::Intrinsic_Name(), and W2X_Unparse_Target.
Referenced by WN2C_call(), WN2C_intrinsic_op(), WN2C_lvalue_st(), WN2F_call(), and WN2F_intrinsic_op().
BOOL WN_intrinsic_return_to_param | ( | TY_IDX | return_ty | ) |
Definition at line 281 of file wn_attr.cxx.
References MTYPE_CQ, and TY_mtype().
Referenced by WN2C_call(), and WN2F_call().
TY_IDX WN_intrinsic_return_ty | ( | OPCODE | wn_opc, |
INTRINSIC | intr_opc, | ||
const WN * | call | ||
) |
Definition at line 189 of file wn_attr.cxx.
References FALSE, Is_True, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F10, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, MTYPE_M, MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, MTYPE_V, OPCODE_rtype(), Stab_Mtype_To_Ty(), Stab_Pointer_To(), WN_kid0(), and WN_Tree_Type().
Referenced by Append_CallSite(), WN2C_call(), WN2C_intrinsic_op(), WN2F_call(), and WN_Tree_Type().
UINT WN_num_var_refs | ( | WN * | wn, |
const ST * | st, | ||
STAB_OFFSET | st_ofst | ||
) |
Definition at line 150 of file wn_attr.cxx.
References NULL, OPR_LDA, OPR_LDID, OPR_STID, WN_ITER_wn, WN_offset(), WN_opc_operator, WN_st(), WN_WALK_TreeIter(), and WN_WALK_TreeNext().
Referenced by WN2F_LoopBound_VarRef().
TY_IDX WN_Tree_Type | ( | const WN * | wn | ) |
Definition at line 349 of file wn_attr.cxx.
References Get_Field_Type(), INTR_is_adrtmp, INTR_is_valtmp, KIND_STRUCT, MTYPE_U1, MTYPE_V, NULL, OPC_VCALL, OPC_VINTRINSIC_CALL, OPCODE_is_expression(), OPR_ABS, OPR_ADD, OPR_ALLOCA, OPR_ARRAY, OPR_ARRAY_CONSTRUCT, OPR_ARRAYEXP, OPR_ARRSECTION, OPR_ASHR, OPR_BAND, OPR_BIOR, OPR_BNOR, OPR_BNOT, OPR_BXOR, OPR_CAND, OPR_CEIL, OPR_CIOR, OPR_COMMA, OPR_COMPLEX, OPR_CONST, OPR_CVT, OPR_CVTL, OPR_DIV, OPR_DIVREM, OPR_EQ, OPR_FLOOR, OPR_GE, OPR_GT, OPR_HIGHMPY, OPR_HIGHPART, OPR_ILOAD, OPR_ILOADX, OPR_IMAGPART, OPR_IMPLIED_DO, OPR_INTCONST, OPR_INTRINSIC_OP, OPR_LAND, OPR_LDA, OPR_LDID, OPR_LE, OPR_LIOR, OPR_LNOT, OPR_LOWPART, OPR_LSHR, OPR_LT, OPR_MAX, OPR_MIN, OPR_MLOAD, OPR_MOD, OPR_MPY, OPR_NE, OPR_NEG, OPR_PAREN, OPR_PARM, OPR_RCOMMA, OPR_REALPART, OPR_RECIP, OPR_REM, OPR_RND, OPR_RSQRT, OPR_SELECT, OPR_SHL, OPR_SQRT, OPR_STRCTFLD, OPR_SUB, OPR_TAS, OPR_TRUNC, Pointer_Mtype, Unparse_Target::Reduce_Const_Ptr_Exprs(), Stab_Array_Of(), Stab_Get_Mload_Ty(), Stab_Mtype_To_Ty(), Stab_Pointer_To(), TY_AR_etype(), TY_Is_Array(), TY_Is_Pointer(), TY_Is_Structured(), TY_kind(), TY_pointed(), TY_ptr_as_array(), Ty_Table, W2X_Unparse_Target, WN_const_val(), WN_Cvtl_Ty(), WN_element_size(), WN_field_id(), WN_Get_PtrAdd_Intconst(), WN_get_tld_type(), WN_intrinsic(), WN_intrinsic_return_ty(), WN_kid0(), WN_kid1(), WN_load_addr_ty(), WN_load_offset(), WN_opc_operator, WN_opc_rtype, WN_opcode(), WN_Tree_Type(), and WN_ty().
Referenced by W2F_Translate_Istore_Lhs(), WN2C_address_add(), WN2C_Append_Assignment(), WN2C_array(), WN2C_binaryop(), WN2C_call(), WN2C_compgoto(), WN2C_const(), WN2C_cvtl(), WN2C_Function_Call_Lhs(), WN2C_Function_Return_Value(), WN2C_iload(), WN2C_infix_op(), WN2C_intrinsic_op(), WN2C_is_pointer_diff(), WN2C_istorex(), WN2C_lvalue_wn(), WN2C_memref_lhs(), WN2C_mload(), WN2C_mstore(), WN2C_parm(), WN2C_rcomma(), WN2C_switch(), WN2C_tas(), WN2C_Translate_Arithmetic_Operand(), WN2C_unaryop(), WN2C_Value_Reference(), WN2F_Append_Value_Reference(), WN2F_array(), WN2F_arrsection(), WN2F_binaryop(), WN2F_call(), WN2F_cvtl(), WN2F_do_while(), WN2F_eq(), WN2F_Function_Call_Lhs(), WN2F_Get_Substring_Info(), WN2F_iload(), WN2F_Intr_Funcall(), WN2F_Intr_Infix(), WN2F_intrinsic_call(), WN2F_io_control(), WN2F_ios_definefile(), WN2F_istore(), WN2F_mload(), WN2F_mstore(), WN2F_ne(), WN2F_Prepend_Value_Reference(), WN2F_pstid(), WN2F_pstore(), WN2F_return(), WN2F_stid(), WN2F_String_Argument(), WN2F_unaryop(), WN_Get_PtrAdd_Intconst(), WN_get_tld_type(), WN_intrinsic_return_ty(), and WN_Tree_Type().
const MTYPE WN_Cvtl_Mtype[2][9] [static] |
{ {MTYPE_UNKNOWN, MTYPE_U1, MTYPE_U2, MTYPE_UNKNOWN, MTYPE_U4, MTYPE_UNKNOWN, MTYPE_UNKNOWN, MTYPE_UNKNOWN, MTYPE_U8}, {MTYPE_UNKNOWN, MTYPE_I1, MTYPE_I2, MTYPE_UNKNOWN, MTYPE_I4, MTYPE_UNKNOWN, MTYPE_UNKNOWN, MTYPE_UNKNOWN, MTYPE_I8} }
Definition at line 62 of file wn_attr.cxx.
Referenced by WN_Cvtl_Ty().