Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include "defs.h"
#include "glob.h"
#include "symtab.h"
#include "strtab.h"
#include "errors.h"
#include "config_targ.h"
#include "wn.h"
#include "wn_util.h"
#include "f90_utils.h"
#include "i_cvrt.h"
#include "cwh_defines.h"
#include "cwh_stk.h"
#include "cwh_stmt.h"
#include "cwh_types.h"
#include "cwh_expr.h"
#include "cwh_addr.h"
Go to the source code of this file.
#define opc_dim OPC_I8INTCONST |
Definition at line 85 of file cwh_dope.cxx.
static void arrsection_to_array | ( | WN * | addr | ) | [static] |
Definition at line 488 of file cwh_dope.cxx.
References MTYPE_V, OPR_ADD, OPR_ARRAY, OPR_ARRSECTION, OPR_MPY, OPR_SUB, OPR_TRIPLET, Pointer_Mtype, WN_Delete, WN_DELETE_Tree(), WN_kid(), WN_kid0(), WN_kid1(), WN_kid2(), WN_kid_count(), WN_set_opcode(), and WNOPR.
Referenced by fei_dv_ptr_asg().
WN* cwh_dope_from_expression | ( | WN * | expr, |
WN * | array, | ||
WN * | char_len, | ||
TY_IDX | tarray, | ||
WN * | craytype_wn | ||
) |
Definition at line 684 of file cwh_dope.cxx.
References BOUND_NM, cwh_addr_find_section(), cwh_bound_int_typeid, cwh_cray_type_from_TY(), cwh_dope_get_dope_fudge_factor(), cwh_dope_initialize(), cwh_expr_bincalc(), cwh_expr_temp(), cwh_types_dope_TY(), DevAssert, DOPE_USED, f_T_PASSED, FALSE, f90_type::int_len, MAX_ARY_DIMS, MTYPE_U4, MTYPE_U8, MTYPE_V, NULL, OPR_ADD, OPR_ARRAY, OPR_ILOAD, OPR_MAX, OPR_MLOAD, OPR_MPY, OPR_TRIPLET, p_RETURN_SECTION, Pointer_Mtype, TRUE, f90_type::type, wn, WN_COPY_Tree(), WN_Delete, WN_DELETE_Tree(), WN_element_size(), WN_Intconst(), WN_kid(), WN_kid0(), WN_kid1(), WN_kid2(), WN_kid_count(), WN_num_dim, WN_offset(), WN_set_opcode(), WN_st(), WN_Zerocon(), and WNOPR.
Referenced by cwh_io_conv_array_to_dope(), cwh_io_conv_arrsection_to_dope(), cwh_io_split_io_items(), and fei_control_list().
static INT64 cwh_dope_get_dope_fudge_factor | ( | TY_IDX | ty | ) | [static] |
Definition at line 640 of file cwh_dope.cxx.
References DevAssert, KIND_ARRAY, KIND_SCALAR, KIND_STRUCT, MTYPE_byte_size, TY_etype(), TY_is_character(), TY_is_packed(), TY_kind(), TY_mtype(), and Ty_Table.
Referenced by cwh_dope_from_expression().
static void cwh_dope_initialize | ( | ST * | st, |
WN * | wa, | ||
TY_IDX | ty, | ||
WN * | dp[DOPE_USED], | ||
WN ** | bd, | ||
INT16 | num_bnds | ||
) | [static] |
Definition at line 857 of file cwh_dope.cxx.
References dope_header1::a_contig, dope_header1::assoc, bit_to_byte, cwh_dope_store(), cwh_expr_bincalc(), cwh_types_WN_TY(), DOPE_bound_ty, FALSE, FLD_bofst(), FLD_bsize(), FLD_next(), FLD_ofst(), FLD_type(), MTYPE_size_best, MTYPE_U4, dope_header2::n_dim, NULL, OPR_BIOR, OPR_SHL, dope_header1::p_or_a, dope_header1::ptr_alloc, ST_type(), TY_fld(), TY_mtype(), Ty_Table, dope_header1::unused, dope_header2::unused, WN_const_val(), and WN_Intconst().
Referenced by cwh_dope_from_expression(), and fei_dv_def().
static void cwh_dope_read_bound | ( | INT32 | offset, |
INT32 | dim | ||
) | [static] |
Definition at line 549 of file cwh_dope.cxx.
References cwh_addr_load_ST(), cwh_addr_load_WN(), cwh_bound_int_typeid, cwh_convert_to_ty(), cwh_expr_address(), cwh_stk_get_class(), cwh_stk_pop_ST(), cwh_stk_push(), DevAssert, DIM_SZ, DOPE_bound_ty, DOPE_dim_offset, f_NONE, FLD_item, ST_item, ST_item_whole_array, wn, WN_item, and WN_item_whole_array.
Referenced by fei_get_dv_extent(), fei_get_dv_low_bnd(), and fei_get_dv_str_mult().
Definition at line 1028 of file cwh_dope.cxx.
References cwh_addr_store_ST(), cwh_addr_store_WN(), F90_Wrap_ARREXP(), NULL, and WN_COPY_Tree().
Referenced by cwh_dope_initialize().
static void cwh_dope_store_bound | ( | INT32 | offset, |
INT32 | dim | ||
) | [static] |
Definition at line 593 of file cwh_dope.cxx.
References cwh_addr_store_ST(), cwh_addr_store_WN(), cwh_expr_address(), cwh_expr_operand(), cwh_stk_get_class(), cwh_stk_pop_ST(), DevAssert, DIM_SZ, DOPE_bound_ty, DOPE_dim_offset, f_NONE, FLD_item, NULL, ST_item, ST_item_whole_array, wn, WN_item, and WN_item_whole_array.
Referenced by fei_set_dv_extent(), fei_set_dv_low_bnd(), and fei_set_dv_str_mult().
void fei_dv_def | ( | INT32 | num_dims | ) |
Definition at line 108 of file cwh_dope.cxx.
References BOUND_NM, cwh_dope_initialize(), cwh_expr_address(), cwh_expr_operand(), cwh_stk_get_class(), cwh_stk_pop_FLD(), cwh_stk_pop_ST(), cwh_stk_push(), DOPE_USED, f_NONE, FLD_item, FLD_type(), MAX_ARY_DIMS, NULL, ST_item, ST_item_whole_array, and WN_item.
Referenced by cvrt_exp_to_pdg().
void fei_dv_deref | ( | TYPE | result | ) |
Definition at line 250 of file cwh_dope.cxx.
References ADDR_OFFSET, cwh_addr_f90_pointer_reference(), cwh_addr_load_ST(), cwh_expr_address(), cwh_expr_operand(), cwh_stk_fld_name(), cwh_stk_get_class(), cwh_stk_pop_FLD(), cwh_stk_pop_ST(), cwh_stk_push(), cwh_stk_push_typed(), cwh_types_array_TY(), cwh_types_make_pointer_type(), cwh_types_mk_f90_pointer_ty(), DEREF_item, f_NONE, FALSE, FLD_item, FLD_type(), NULL, OPR_ILOAD, Pointer_Mtype, SCLASS_FORMAL, SET_ARRAY_NAME_MAP, ST_item, ST_item_whole_array, ST_sclass(), ST_type(), TY_fld(), Ty_Table, wn, and WN_CreateIload().
Referenced by cvrt_exp_to_pdg().
void fei_dv_ptr_asg | ( | void | ) |
Definition at line 527 of file cwh_dope.cxx.
References arrsection_to_array(), cwh_expr_address(), cwh_stk_push(), f_T_SAVED, fei_set_dv_hdr_fld(), and WN_item.
Referenced by cvrt_exp_to_pdg().
void fei_get_dv_extent | ( | INT32 | dim, |
INT32 | expand | ||
) |
Definition at line 177 of file cwh_dope.cxx.
References cwh_dope_read_bound(), and DOPE_bound_sz.
Referenced by cvrt_exp_to_pdg(), cwh_inline_allocate(), and fei_as_ref().
void fei_get_dv_hdr_fld | ( | INT32 | field | ) |
Definition at line 305 of file cwh_dope.cxx.
References Be_Type_Tbl, cwh_addr_load_ST(), cwh_addr_load_WN(), cwh_expr_address(), cwh_expr_bincalc(), cwh_stk_get_class(), cwh_stk_pop_ST(), cwh_stk_push(), cwh_types_get_dope_info(), DevAssert, f_NONE, FLD_item, MTYPE_I4, OPR_BAND, OPR_LSHR, ST_item, ST_item_whole_array, wn, WN_Intconst(), WN_item, and WN_item_whole_array.
Referenced by cvrt_exp_to_pdg(), and cwh_inline_allocate().
void fei_get_dv_low_bnd | ( | INT32 | dim, |
INT32 | expand | ||
) |
Definition at line 163 of file cwh_dope.cxx.
References cwh_dope_read_bound().
Referenced by cvrt_exp_to_pdg().
void fei_get_dv_str_mult | ( | INT32 | dim, |
INT32 | expand | ||
) |
Definition at line 191 of file cwh_dope.cxx.
References cwh_dope_read_bound(), and DOPE_bound_sz.
Referenced by cvrt_exp_to_pdg().
void fei_set_dv_extent | ( | INT32 | dim | ) |
Definition at line 219 of file cwh_dope.cxx.
References cwh_dope_store_bound(), and DOPE_bound_sz.
Referenced by cvrt_exp_to_pdg().
void fei_set_dv_hdr_fld | ( | INT32 | field | ) |
Definition at line 358 of file cwh_dope.cxx.
References arg, Be_Type_Tbl, cwh_addr_load_ST(), cwh_addr_load_WN(), cwh_addr_store_ST(), cwh_addr_store_WN(), cwh_expr_address(), cwh_expr_bincalc(), cwh_expr_operand(), cwh_stk_get_class(), cwh_stk_get_FLD_TY(), cwh_stk_get_TY(), cwh_stk_pop_ST(), cwh_types_get_dope_info(), cwh_types_WN_TY(), DevAssert, f_NONE, FALSE, FLD_item, FLD_type(), KIND_POINTER, MTYPE_I4, NULL, OPR_BAND, OPR_BIOR, OPR_SHL, ST_item, ST_item_whole_array, ST_type(), TRUE, TY_fld(), TY_kind(), TY_pointed(), Ty_Table, wn, WN_COPY_Tree(), WN_Intconst(), WN_item, and WN_item_whole_array.
Referenced by cvrt_exp_to_pdg(), cwh_inline_allocate(), and fei_dv_ptr_asg().
void fei_set_dv_low_bnd | ( | INT32 | dim | ) |
Definition at line 205 of file cwh_dope.cxx.
References cwh_dope_store_bound().
Referenced by cvrt_exp_to_pdg().
void fei_set_dv_str_mult | ( | INT32 | dim | ) |
Definition at line 233 of file cwh_dope.cxx.
References cwh_dope_store_bound(), and DOPE_bound_sz.
Referenced by cvrt_exp_to_pdg().
char* source_file = __FILE__ [static] |
Definition at line 52 of file cwh_dope.cxx.