#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.
Defines | |
| #define | opc_dim OPC_I8INTCONST |
Functions | |
| static void | cwh_dope_store_bound (INT32 offset, INT32 dim) |
| static void | cwh_dope_read_bound (INT32 offset, INT32 dim) |
| static void | cwh_dope_initialize (ST *st, WN *wa, TY_IDX ty, WN *dp[DOPE_USED], WN **bd, INT16 num_bnds) |
| static void | cwh_dope_store (ST *st, WN *wa, OFFSET_64 off, TY_IDX ty, WN *rhs) |
| void | fei_dv_def (INT32 num_dims) |
| void | fei_get_dv_low_bnd (INT32 dim, INT32 expand) |
| void | fei_get_dv_extent (INT32 dim, INT32 expand) |
| void | fei_get_dv_str_mult (INT32 dim, INT32 expand) |
| void | fei_set_dv_low_bnd (INT32 dim) |
| void | fei_set_dv_extent (INT32 dim) |
| void | fei_set_dv_str_mult (INT32 dim) |
| void | fei_dv_deref (TYPE result) |
| void | fei_get_dv_hdr_fld (INT32 field) |
| void | fei_set_dv_hdr_fld (INT32 field) |
| static void | arrsection_to_array (WN *addr) |
| void | fei_dv_ptr_asg (void) |
| static INT64 | cwh_dope_get_dope_fudge_factor (TY_IDX ty) |
| WN * | cwh_dope_from_expression (WN *expr, WN *array, WN *char_len, TY_IDX tarray, WN *craytype_wn) |
Variables | |
| static char * | source_file = __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 INT, MTYPE_V, OPCODE_make_op(), 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, OPCODE_make_op(), 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().

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(), INT, 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_header2::unused, dope_header1::unused, WN_const_val(), and WN_Intconst().
Referenced by cwh_dope_from_expression(), and fei_dv_def().

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().

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, OPCODE_make_op(), 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().

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().

Definition at line 163 of file cwh_dope.cxx.
References cwh_dope_read_bound().
Referenced by cvrt_exp_to_pdg().

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.
1.6.1