Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
Go to the source code of this file.
#define GET_ARRAY_NAME_MAP | ( | a | ) | ((char *) WN_MAP_Get(array_name_map,(a))) |
Definition at line 113 of file cwh_addr.h.
Referenced by cwh_addr_insert_bounds_check(), fei_nseq_subscr(), and fei_seq_subscr().
#define IS_ALTENTRY_TEMP | ( | s | ) |
((ST_class(s) == CLASS_VAR) && \ (ST_base_idx(s) != ST_st_idx(s)) && \ (ST_is_return_var(ST_base(s))))
Definition at line 105 of file cwh_addr.h.
Referenced by cwh_addr_pstid(), cwh_addr_pstore_ST(), cwh_addr_stid(), cwh_addr_store_ST(), cwh_stmt_return_scalar(), and fei_return().
#define SET_ARRAY_NAME_MAP | ( | a, | |
m | |||
) | WN_MAP_Set(array_name_map,(a),(void *) (m)) |
Definition at line 112 of file cwh_addr.h.
Referenced by fei_dv_deref(), fei_nseq_subscr(), and fei_seq_subscr().
enum p_flag |
Definition at line 57 of file cwh_addr.h.
WN* addr_gen_iload_for_strctfld | ( | WN * | ) |
Definition at line 3144 of file cwh_addr.cxx.
References Load_Opcode, TY_mtype(), WN_CreateIload(), and WN_ty().
Referenced by cwh_expr_binop(), and fei_store().
WN* cwh_addr_address_ST | ( | ST * | st, |
OFFSET_64 | off = 0 , |
||
TY_IDX | ty = 0 |
||
) |
Definition at line 2201 of file cwh_addr.cxx.
References ACCESSED_ILOAD, ACCESSED_ISTORE, ACCESSED_LOAD, ACCESSED_PSTORE, CLASS_FUNC, cwh_addr_access_flags(), cwh_addr_lda(), cwh_addr_ldid(), cwh_expr_bincalc(), cwh_types_make_pointer_type(), DevAssert, FALSE, Has_Base_Block(), KIND_POINTER, OPR_ADD, Pointer_Mtype, SCLASS_FORMAL, ST_auxst_is_auto_or_cpointer, ST_base(), ST_class(), ST_pu_type(), ST_sclass(), ST_type(), TY_kind(), wn, and WN_Intconst().
Referenced by cwh_addr_load_ST(), cwh_addr_pstore_ST(), cwh_addr_store_ST(), cwh_addr_substr_util(), cwh_directive_barrier_insert(), cwh_expr_address(), cwh_expr_operand(), cwh_intrin_sync_intrin(), cwh_io_no_desc(), fei_addr_con(), fei_allocate(), fei_close(), fei_control_list(), fei_field_dot(), fei_inquire(), fei_nseq_subscr(), fei_open(), fei_pstore(), fei_seq_subscr(), fei_store(), and fei_task_var().
WN* cwh_addr_extent | ( | WN * | lb, |
WN * | ub, | ||
WN * | str | ||
) |
Definition at line 2359 of file cwh_addr.cxx.
References cwh_expr_bincalc(), OPR_ADD, OPR_DIV, OPR_SUB, and WN_COPY_Tree().
Referenced by cwh_addr_triplet(), cwh_types_size_WN(), fei_descriptor(), fei_doloop(), and fei_redistribute().
BOOL cwh_addr_f90_pointer_reference | ( | WN * | addr | ) |
Definition at line 3020 of file cwh_addr.cxx.
References CLASS_VAR, cwh_addr_f90_pointer_reference(), cwh_addr_f90_pointer_reference_ls(), FALSE, OPR_ARRAY, OPR_ARRAYEXP, OPR_ARRSECTION, OPR_ILOAD, OPR_INTCONST, OPR_LDA, OPR_LDID, OPR_STRCTFLD, ST_auxst_is_f90_pointer, ST_class(), TRUE, TY_is_f90_pointer(), TY_pointed(), WN_kid0(), WN_load_addr_ty(), WN_operator(), and WN_st().
Referenced by cwh_addr_f90_pointer_reference(), cwh_addr_f90_pointer_reference_ls(), cwh_addr_iload(), cwh_addr_istore(), cwh_addr_mload(), cwh_addr_mstore(), cwh_addr_pstore(), and fei_dv_deref().
WN* cwh_addr_find_address | ( | WN * | wn | ) |
Definition at line 2575 of file cwh_addr.cxx.
References cwh_addr_find_address(), OPCODE_is_expression(), OPR_ARRAY, OPR_ARRAYEXP, OPR_ARRSECTION, OPR_ILOAD, OPR_LDA, OPR_LDID, OPR_MLOAD, WN_kid0(), WN_opcode(), and WNOPR.
Referenced by cwh_addr_find_address(), cwh_io_conv_array_to_dope(), cwh_io_conv_arrsection_to_dope(), cwh_io_split_io_items(), and fei_control_list().
WN* cwh_addr_find_section | ( | WN * | awn, |
enum p_flag | flag | ||
) |
Definition at line 2515 of file cwh_addr.cxx.
References cwh_addr_find_section(), NULL, OPR_ADD, OPR_ARRAY, OPR_ARRAYEXP, OPR_ARRSECTION, OPR_ILOAD, OPR_MLOAD, OPR_SUB, p_RETURN_PARENT, wn, WN_kid0(), WN_kid1(), and WNOPR.
Referenced by cwh_addr_find_section(), cwh_addr_nonc_util(), cwh_dope_from_expression(), cwh_io_char_ioitem(), cwh_io_conv_arrsection_to_dope(), cwh_io_split_io_items(), and fei_control_list().
void cwh_addr_init_target | ( | void | ) |
Definition at line 2937 of file cwh_addr.cxx.
References cwh_addr_char_len_typeid, cwh_bound_int_typeid, cwh_doloop_typeid, cwh_types_init_target(), MTYPE_I4, MTYPE_I8, opc_array, opc_call, OPC_I4INTCONST, OPC_I4SRCTRIPLET, OPC_I8INTCONST, OPC_I8SRCTRIPLET, opc_lda, opc_pint, opc_section, opc_sint, opc_src_triplet, opc_triplet, OPC_U4ARRAY, OPC_U4ARRSECTION, OPC_U4CALL, OPC_U4INTCONST, OPC_U4LDA, OPC_U8ARRAY, OPC_U8ARRSECTION, OPC_U8CALL, OPC_U8INTCONST, OPC_U8LDA, and Pointer_Size.
Referenced by cwh_stmt_init_file().
BOOL cwh_addr_is_array | ( | WN * | wn | ) |
Definition at line 2484 of file cwh_addr.cxx.
References opc_array, and WN_opcode().
Referenced by cwh_expr_operand(), fei_addr(), fei_nseq_subscr(), and fei_seq_subscr().
BOOL cwh_addr_is_section | ( | WN * | wn | ) |
Definition at line 2489 of file cwh_addr.cxx.
References opc_section, and WN_opcode().
Referenced by cwh_expr_operand().
Definition at line 1706 of file cwh_addr.cxx.
References BIG_OFFSET, cwh_addr_f90_pointer_reference(), cwh_expr_bincalc(), cwh_types_make_pointer_type(), cwh_types_mk_f90_pointer_ty(), FALSE, OPR_ADD, Pointer_Mtype, Store_Opcode, TY_mtype(), wn, WN_CreateIstore(), and WN_Intconst().
Referenced by cwh_addr_stid(), cwh_addr_store_WN(), and fei_doloop().
WN* cwh_addr_ldid | ( | ST * | st, |
OFFSET_64 | off, | ||
TY_IDX | ty | ||
) |
Definition at line 1179 of file cwh_addr.cxx.
References ACCESSED_LOAD, BIG_OFFSET, cwh_addr_access_flags(), cwh_addr_iload(), cwh_addr_lda(), cwh_addr_mk_ldid(), cwh_addr_use_mstid_mldid(), KIND_SCALAR, KIND_STRUCT, Pointer_Mtype, TY_kind(), TY_mtype(), and wn.
Referenced by cwh_addr_address_ST(), cwh_addr_load_ST(), cwh_stmt_return_altentry(), cwh_stmt_return_scalar(), and fei_nullify().
WN* cwh_addr_load_ST | ( | ST * | st, |
OFFSET_64 | off, | ||
TY_IDX | ty | ||
) |
Definition at line 1441 of file cwh_addr.cxx.
References ACCESSED_ILOAD, ACCESSED_ISTORE, ACCESSED_LOAD, ACCESSED_PSTORE, ACCESSED_STORE, BY_VALUE, CLASS_VAR, cwh_addr_access_flags(), cwh_addr_address_ST(), cwh_addr_ldid(), cwh_addr_load_WN(), cwh_addr_use_mstid_mldid(), DevAssert, KIND_ARRAY, KIND_POINTER, KIND_SCALAR, KIND_STRUCT, SCLASS_AUTO, SCLASS_COMMON, SCLASS_COMMON1, SCLASS_DGLOBAL, SCLASS_FORMAL, SCLASS_FORMAL_REF, SCLASS_FSTATIC, SCLASS_MODULE, SCLASS_PSTATIC, SCLASS_REG, ST_auxst_is_auto_or_cpointer, ST_class(), ST_sclass(), ST_type(), TY_kind(), TY_pointed(), and wn.
Referenced by cwh_addr_pstore_ST(), cwh_addr_store_ST(), cwh_directive_load_value_pragma(), cwh_dope_read_bound(), cwh_expr_operand(), cwh_stmt_call_helper(), cwh_stmt_return_altentry(), cwh_stmt_return_scalar(), cwh_types_array_temp_TY(), cwh_types_bound_WN(), cwh_types_copyin_pragma(), fei_copyin_bound(), fei_doloop(), fei_dv_deref(), fei_get_dv_hdr_fld(), fei_new_select(), and fei_set_dv_hdr_fld().
WN* cwh_addr_load_WN | ( | WN * | wn, |
OFFSET_64 | off, | ||
TY_IDX | ty | ||
) |
Definition at line 1390 of file cwh_addr.cxx.
References cwh_addr_iload(), cwh_addr_mload(), cwh_types_scalar_TY(), cwh_types_WN_TY(), DevAssert, FALSE, KIND_ARRAY, KIND_POINTER, KIND_SCALAR, KIND_STRUCT, NULL, TY_kind(), and wn.
Referenced by cwh_addr_load_ST(), cwh_dope_read_bound(), cwh_expr_operand(), fei_doloop(), fei_get_dv_hdr_fld(), and fei_set_dv_hdr_fld().
Definition at line 1226 of file cwh_addr.cxx.
References cwh_addr_use_mstid_mldid(), KIND_STRUCT, Ldid_Opcode, MTYPE_byte_size, MTYPE_To_TY, Set_TY_IDX_index(), TY_IDX_index(), TY_kind(), TY_size(), wn, and WN_CreateLdid().
Referenced by cwh_addr_ldid(), and cwh_stmt_return_scalar().
Definition at line 1262 of file cwh_addr.cxx.
References BIG_OFFSET, cwh_addr_f90_pointer_reference(), cwh_expr_bincalc(), cwh_types_make_pointer_type(), cwh_types_mk_f90_pointer_ty(), FALSE, opc_pint, OPR_ADD, Pointer_Mtype, TY_size(), wn, WN_CreateIntconst(), WN_CreateMload(), and WN_Intconst().
Referenced by cwh_addr_load_WN(), fei_pstore(), and fei_store().
Definition at line 1778 of file cwh_addr.cxx.
References BIG_OFFSET, cwh_addr_f90_pointer_reference(), cwh_expr_bincalc(), cwh_types_make_pointer_type(), cwh_types_mk_f90_pointer_ty(), FALSE, opc_pint, OPR_ADD, Pointer_Mtype, TY_size(), wn, WN_CreateIntconst(), WN_CreateMstore(), and WN_Intconst().
Referenced by cwh_addr_pstore_WN(), cwh_addr_store_WN(), fei_pstore(), and fei_store().
void cwh_addr_nonc_util | ( | WN ** | a, |
WN ** | b | ||
) |
Definition at line 2754 of file cwh_addr.cxx.
References cwh_addr_find_section(), cwh_addr_nonc_recast(), DevAssert, NULL, p_RETURN_PARENT, p_RETURN_SECTION, return(), wn, WN_kid0(), WN_kid1(), and WN_kid_count().
Referenced by fei_non_conform_store().
FLD_det cwh_addr_offset | ( | void | ) |
Definition at line 2461 of file cwh_addr.cxx.
References cwh_stk_get_class(), cwh_stk_pop_FLD(), FLD_item, FLD_ofst(), FLD_type(), FLD_det::off, and FLD_det::type.
Referenced by cwh_expr_address(), cwh_expr_operand(), fei_arg_addr(), fei_non_conform_store(), fei_nseq_subscr(), fei_nullify(), fei_pstore(), fei_seq_subscr(), fei_store(), and fei_substr().
Definition at line 1745 of file cwh_addr.cxx.
References BIG_OFFSET, cwh_addr_f90_pointer_reference(), cwh_expr_bincalc(), cwh_types_make_pointer_type(), cwh_types_mk_f90_pointer_ty(), FALSE, OPR_ADD, Pointer_Mtype, PStore_Opcode, TY_mtype(), wn, WN_CreatePstore(), and WN_Intconst().
Referenced by cwh_addr_pstid(), and cwh_addr_pstore_WN().
void cwh_addr_pstore_ST | ( | ST * | st, |
OFFSET_64 | off, | ||
TY_IDX | ty, | ||
WN * | rhs | ||
) |
Definition at line 1952 of file cwh_addr.cxx.
References ACCESSED_ILOAD, ACCESSED_ISTORE, ACCESSED_LOAD, ACCESSED_PSTORE, Altaddress_ST, BY_VALUE, CLASS_VAR, cwh_addr_access_flags(), cwh_addr_address_ST(), cwh_addr_load_ST(), cwh_addr_pstid(), cwh_addr_pstore_ST(), cwh_addr_pstore_WN(), cwh_addr_use_mstid_mldid(), cwh_block_append(), DevAssert, IS_ALTENTRY_TEMP, KIND_ARRAY, KIND_POINTER, KIND_SCALAR, KIND_STRUCT, MTYPE_CQ, NULL, SCLASS_AUTO, SCLASS_COMMON, SCLASS_COMMON1, SCLASS_DGLOBAL, SCLASS_FORMAL, SCLASS_FORMAL_REF, SCLASS_FSTATIC, SCLASS_MODULE, SCLASS_PSTATIC, SCLASS_REG, ST_auxst_altentry_shareTY, ST_auxst_is_auto_or_cpointer, ST_base(), ST_class(), ST_sclass(), ST_type(), TY_kind(), TY_mtype(), TY_pointed(), and wn.
Referenced by cwh_addr_pstore_ST(), and fei_pstore().
void cwh_addr_pstore_WN | ( | WN * | lhs, |
OFFSET_64 | off, | ||
TY_IDX | ty, | ||
WN * | rhs | ||
) |
Definition at line 2144 of file cwh_addr.cxx.
References cwh_addr_mstore(), cwh_addr_pstore(), cwh_block_append(), cwh_types_scalar_TY(), cwh_types_WN_TY(), DevAssert, FALSE, KIND_ARRAY, KIND_POINTER, KIND_SCALAR, KIND_STRUCT, TY_kind(), and wn.
Referenced by cwh_addr_pstore_ST(), and fei_pstore().
Definition at line 1632 of file cwh_addr.cxx.
References ACCESSED_STORE, Be_Type_Tbl, BIG_OFFSET, cast_to_uint, cwh_addr_access_flags(), cwh_addr_istore(), cwh_addr_lda(), cwh_block_append(), cwh_convert_to_ty(), cwh_stab_altentry_TY(), cwh_stk_pop_WN(), cwh_stk_push(), fei_imag(), IS_ALTENTRY_TEMP, KIND_POINTER, MTYPE_C4, MTYPE_F4, MTYPE_is_integral, ST_auxst_altentry_shareTY, ST_base(), ST_ofst(), Stid_Opcode, t_TY, TRUE, TY_kind(), TY_mtype(), wn, WN_COPY_Tree(), WN_CreateStid(), and WN_item.
Referenced by cwh_addr_store_ST(), fei_allocate(), fei_doloop(), and fei_new_select_case().
void cwh_addr_store_ST | ( | ST * | st, |
OFFSET_64 | off, | ||
TY_IDX | ty, | ||
WN * | rhs | ||
) |
Definition at line 1811 of file cwh_addr.cxx.
References ACCESSED_ILOAD, ACCESSED_ISTORE, ACCESSED_LOAD, ACCESSED_PSTORE, ACCESSED_STORE, Altaddress_ST, BY_VALUE, CLASS_VAR, cwh_addr_access_flags(), cwh_addr_address_ST(), cwh_addr_load_ST(), cwh_addr_stid(), cwh_addr_store_ST(), cwh_addr_store_WN(), cwh_addr_use_mstid_mldid(), cwh_block_append(), cwh_block_append_given_id(), cwh_types_copyin_pragma(), DevAssert, FALSE, First_Block, IS_ALTENTRY_TEMP, KIND_ARRAY, KIND_POINTER, KIND_SCALAR, KIND_STRUCT, MTYPE_CQ, NULL, SCLASS_AUTO, SCLASS_COMMON, SCLASS_COMMON1, SCLASS_DGLOBAL, SCLASS_FORMAL, SCLASS_FORMAL_REF, SCLASS_FSTATIC, SCLASS_MODULE, SCLASS_PSTATIC, SCLASS_REG, ST_auxst_altentry_shareTY, ST_auxst_is_auto_or_cpointer, ST_base(), ST_class(), ST_sclass(), ST_type(), still_in_preamble, TY_kind(), TY_mtype(), TY_pointed(), and wn.
Referenced by cwh_addr_store_ST(), cwh_dope_store(), cwh_dope_store_bound(), cwh_intrin_sync_intrin(), cwh_io_conv_array_to_dope(), cwh_io_conv_arrsection_to_dope(), cwh_preg_temp_save(), cwh_stmt_return_altentry(), cwh_stmt_return_scalar(), cwh_types_array_temp_TY(), cwh_types_mk_character_TY(), fei_doloop(), fei_new_select(), fei_set_dv_hdr_fld(), and fei_store().
void cwh_addr_store_WN | ( | WN * | lhs, |
OFFSET_64 | off, | ||
TY_IDX | ty, | ||
WN * | rhs | ||
) |
Definition at line 2091 of file cwh_addr.cxx.
References cwh_addr_istore(), cwh_addr_mstore(), cwh_block_append(), cwh_types_scalar_TY(), cwh_types_WN_TY(), DevAssert, FALSE, KIND_ARRAY, KIND_POINTER, KIND_SCALAR, KIND_STRUCT, NULL, TY_kind(), and wn.
Referenced by cwh_addr_store_ST(), cwh_dope_store(), cwh_dope_store_bound(), cwh_inline_allocate(), fei_doloop(), fei_set_dv_hdr_fld(), and fei_store().
WN* cwh_addr_temp_section | ( | WN * | ad, |
TY_IDX | ty | ||
) |
Definition at line 2681 of file cwh_addr.cxx.
References cwh_addr_add_bound(), cwh_addr_array(), cwh_addr_triplet(), cwh_addr_zero_based(), cwh_bound_int_typeid, cwh_expr_bincalc(), cwh_types_array_TY(), cwh_types_bound_WN(), FALSE, LOW, opc_section, OPR_ADD, OPR_MPY, TRUE, TY_AR_etype(), TY_AR_ndims(), Ty_Table, UPPER, WN_COPY_Tree(), WN_DELETE_Tree(), WN_element_size(), and WN_Intconst().
Referenced by fei_concat().
WN* cwh_addr_ubound_from_triplet | ( | WN * | triplet | ) |
Definition at line 2388 of file cwh_addr.cxx.
References cwh_bound_int_typeid, cwh_expr_bincalc(), OPR_ADD, OPR_MPY, OPR_SUB, WN_COPY_Tree(), WN_Intconst(), WN_kid0(), WN_kid1(), and WN_kid2().
Referenced by cwh_addr_do_bounds_check().
ST* cwh_addr_WN_ST | ( | WN * | wn | ) |
Definition at line 1330 of file cwh_addr.cxx.
References cwh_addr_WN_ST(), DevAssert, NULL, OPCODE_is_expression(), OPR_ADD, OPR_ARRAY, OPR_ARRAYEXP, OPR_ARRSECTION, OPR_ILOAD, OPR_INTCONST, OPR_LDA, OPR_LDID, WN_kid(), WN_kid0(), WN_opcode(), WN_st(), and WNOPR.
Referenced by cwh_addr_WN_ST(), cwh_expr_address(), and fei_nseq_subscr().
Definition at line 281 of file cwh_addr.i.
Referenced by PDGCS_do_proc(), and PDGCS_new_proc().
Definition at line 44 of file cwh_addr.i.
Referenced by cwh_addr_init_target(), cwh_auxst_add_dummy(), and cwh_types_character_extra().
Definition at line 45 of file cwh_addr.i.
Referenced by cwh_addr_do_bounds_check(), cwh_addr_init_target(), cwh_addr_nonc_recast(), cwh_addr_temp_section(), cwh_addr_ubound_from_triplet(), cwh_dope_from_expression(), cwh_dope_read_bound(), cwh_inline_allocate(), cwh_types_array_temp_TY(), cwh_types_bound_WN(), cwh_types_dim_struct_TY(), cwh_types_make_bounds_ST(), fei_as_ref(), and fei_concat().
Definition at line 46 of file cwh_addr.i.
Referenced by cwh_addr_init_target(), and fei_doloop().
Definition at line 37 of file cwh_addr.i.
Referenced by cwh_addr_init_target(), cwh_addr_is_array(), cwh_addr_substr_util(), fei_nseq_subscr(), and fei_seq_subscr().
Definition at line 36 of file cwh_addr.i.
Referenced by cwh_addr_init_target(), and cwh_inline_allocate().
Definition at line 35 of file cwh_addr.i.
Referenced by cwh_addr_init_target(), cwh_addr_lda(), cwh_io_conv_array_to_dope(), and cwh_io_conv_arrsection_to_dope().
Definition at line 41 of file cwh_addr.i.
Referenced by cwh_addr_init_target(), cwh_addr_mload(), cwh_addr_mstore(), cwh_addr_nonc_recast(), fei_nseq_subscr(), fei_seq_subscr(), and fei_substr().
Definition at line 38 of file cwh_addr.i.
Referenced by cwh_addr_init_target(), cwh_addr_is_section(), cwh_addr_nonc_recast(), cwh_addr_temp_section(), fei_as_ref(), fei_nseq_subscr(), and fei_seq_subscr().
Definition at line 42 of file cwh_addr.i.
Referenced by cwh_addr_init_target().
Definition at line 40 of file cwh_addr.i.
Referenced by cwh_addr_init_target(), cwh_addr_is_triplet(), and cwh_addr_src_triplet().
Definition at line 39 of file cwh_addr.i.
Referenced by cwh_addr_init_target(), cwh_addr_is_triplet(), and cwh_addr_triplet().