Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include "defines.h"
#include "host.m"
#include "host.h"
#include "target.m"
#include "target.h"
#include "globals.m"
#include "tokens.m"
#include "sytb.m"
#include "s_globals.m"
#include "debug.m"
#include "s_utils.m"
#include "globals.h"
#include "tokens.h"
#include "sytb.h"
#include "s_globals.h"
Go to the source code of this file.
Functions | |
static int | opr_to_str (operator_type, char *) |
static int | create_dv_type_code (int) |
static long64 | create_imp_do_loops (opnd_type *) |
static void | just_find_dope_and_rank (opnd_type *, int *, int *) |
static void | compute_char_element_len (opnd_type *, opnd_type *, opnd_type *) |
static void | gen_conform_check_call (opnd_type *, opnd_type *, int, int, int) |
static void | gen_bounds_check_call (char *, opnd_type *, opnd_type *, opnd_type *, int, int, int) |
static void | gen_rbounds_check_call (char *, opnd_type *, opnd_type *, opnd_type *, opnd_type *, opnd_type *, int, int, int) |
static void | gen_sbounds_check_call (char *, opnd_type *, opnd_type *, opnd_type *, int, int) |
static void | gen_ptr_chk_call (char *, int, opnd_type *, int, int) |
static int | put_file_name_in_cn (int) |
static int | put_c_str_in_cn (char *) |
static void | gen_dv_def_loops (opnd_type *) |
static void | gen_init_stmt (opnd_type *, int, sh_position_type) |
static void | reshape_reference_subscripts (opnd_type *) |
static void | gen_dv_stride_mult (opnd_type *, int, opnd_type *, expr_arg_type *, int, int, int) |
boolean | resolve_ext_opr (opnd_type *opnd, boolean issue_msg, boolean save_in_call_list, boolean err_res, boolean *semantically_correct, expr_arg_type *exp_desc_l, expr_arg_type *exp_desc_r) |
int | find_base_attr (opnd_type *root_opnd, int *line, int *col) |
int | find_left_attr (opnd_type *root_opnd) |
boolean | cmp_ref_trees (opnd_type *opnd1, opnd_type *opnd2) |
void | enlarge_call_list_tables (void) |
void | enlarge_info_list_table (void) |
void | dope_vector_setup (opnd_type *r_opnd, expr_arg_type *exp_desc, opnd_type *l_opnd, boolean ptr_assign) |
void | make_io_type_code (int type_idx, long_type *value) |
void | gen_common_dv_init (opnd_type *dv_opnd, int dv_attr_idx, sh_position_type position) |
void | gen_static_dv_whole_def (opnd_type *dv_opnd, int attr_idx, sh_position_type position) |
void | gen_entry_dope_code (int attr_idx) |
void | process_cpnt_inits (opnd_type *left_opnd, int type_idx, void(*func)(), int opr, sh_position_type position) |
void | gen_dv_whole_def (opnd_type *dv_opnd, opnd_type *r_opnd, expr_arg_type *exp_desc) |
void | gen_dv_whole_def_init (opnd_type *dv_opnd, int dv_attr_idx, sh_position_type position) |
void | make_base_subtree (opnd_type *old_opnd, opnd_type *new_opnd, int *rank_idx, int *dope_idx) |
void | process_deferred_functions (opnd_type *opnd) |
void | short_circuit_branch (void) |
boolean | tree_produces_dealloc (opnd_type *root) |
void | create_loop_stmts (int lcv_attr, opnd_type *start_opnd, opnd_type *end_opnd, opnd_type *inc_opnd, int body_start_sh_idx, int body_end_sh_idx) |
int | create_bd_ntry_for_const (expr_arg_type *exp_desc, int line, int col) |
void | fold_clen_opr (opnd_type *opnd, expr_arg_type *exp_desc) |
void | set_shape_for_deferred_funcs (expr_arg_type *exp_desc, int call_idx) |
boolean | gen_internal_dope_vector (int_dope_type *dope_vec, opnd_type *r_opnd, boolean just_init, expr_arg_type *exp_desc) |
void | transform_char_sequence_ref (opnd_type *top_opnd, int type_idx) |
void | get_concat_len (int concat_idx, opnd_type *len_opnd) |
void | get_char_len (opnd_type *ref_opnd, opnd_type *length_opnd) |
int | gen_sf_dv_whole_def (opnd_type *r_opnd, int type_idx, int bd_idx) |
void | get_shape_from_attr (expr_arg_type *exp_desc, int attr_idx, int rank, int line, int column) |
void | insert_init_stmt_for_tmp (int tmp_idx) |
int | gen_static_integer_array_tmp (int size, int line, int col) |
int | cast_typeless_constant (int cn_idx, int type_idx, int line, int col) |
void | cast_to_cg_default (opnd_type *opnd, expr_arg_type *exp_desc) |
void | cast_opnd_to_type_idx (opnd_type *opnd, int type_idx) |
void | cast_to_type_idx (opnd_type *opnd, expr_arg_type *exp_desc, int type_idx) |
int | set_up_logical_constant (long_type *the_constant, int type_idx, int value, boolean enter_con) |
boolean | validate_char_len (opnd_type *result_opnd, expr_arg_type *exp_desc) |
void | gen_runtime_checks (opnd_type *top_opnd) |
void | gen_runtime_conformance (opnd_type *l_opnd, expr_arg_type *l_exp_desc, opnd_type *r_opnd, expr_arg_type *r_exp_desc) |
void | gen_runtime_substring (int substring_idx) |
void | gen_runtime_ptr_chk (opnd_type *dv_opnd) |
void | gen_runtime_bounds (int sub_idx) |
int | gen_initialized_tmp (int cn_idx, int line, int col) |
void | gen_internal_call_stmt (char *name, opnd_type *opnd, sh_position_type position) |
void | gen_lb_array_ref (opnd_type *result_opnd, int attr_idx) |
void | set_up_exp_desc (opnd_type *top_opnd, expr_arg_type *exp_desc) |
void | dim_reshape_pass_driver (void) |
boolean | check_for_legal_define (opnd_type *top_opnd) |
void | check_dependence (boolean *dependant, opnd_type item, opnd_type exp) |
void | change_section_to_this_element (opnd_type *section_opnd, opnd_type *element_opnd, int which_one) |
void | gen_if_stmt (opnd_type *cond_opnd, int true_start_sh_idx, int true_end_sh_idx, int false_start_sh_idx, int false_end_sh_idx, int line, int col) |
boolean | needs_bounds_check (int sub_idx) |
void | gen_rbounds_condition (opnd_type *cond_opnd, opnd_type *start_opnd, opnd_type *end_opnd, opnd_type *inc_opnd, opnd_type *lb_opnd, opnd_type *ub_opnd, int line, int col) |
void | scan_for_ptr_chk (opnd_type *top_opnd) |
void | runtime_ptr_chk_driver (void) |
void | gen_copyin_bounds_stmt (int attr_idx) |
void | gen_dv_access_low_bound (opnd_type *result_opnd, opnd_type *dv_opnd, int dim) |
long64 | sm_unit_in_bits (int type_idx) |
void | gen_temp_init (int attr_idx, int cn_idx) |
Variables | |
static char | USMID [] = "\n@(#)5.0_pl/sources/s_utils.c 5.12 10/19/99 17:14:30\n" |
void cast_opnd_to_type_idx | ( | opnd_type * | opnd, |
int | type_idx | ||
) |
Definition at line 8416 of file s_utils.c.
References AT_Tbl_Idx, ATD_TYPE_IDX, cast_to_type_idx(), CN_Tbl_Idx, CN_TYPE_IDX, find_opnd_line_and_column(), Func_Entry, Func_Exit, init_exp_desc, Internal, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, NULL, OPND_FLD, OPND_IDX, PRINTMSG(), expr_semantics_args::rank, TRACE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, and expr_semantics_args::type_idx.
Referenced by create_scalar_type_tbl(), doall_cmic_semantics(), doparallel_cmic_semantics(), dshiftl_intrinsic(), generate_bounds_list(), ibits_intrinsic(), ibset_intrinsic(), ieee_real_intrinsic(), ishftc_intrinsic(), lbound_intrinsic(), namelist_static_dv_whole_def(), shape_intrinsic(), size_intrinsic(), and ubound_intrinsic().
void cast_to_cg_default | ( | opnd_type * | opnd, |
expr_arg_type * | exp_desc | ||
) |
Definition at line 8309 of file s_utils.c.
References CG_INTEGER_DEFAULT_TYPE, CN_CONST, CN_Tbl_Idx, COPY_OPND, Cvrt_Opr, FALSE, find_opnd_line_and_column(), folder_driver(), Func_Entry, Func_Exit, Integer, IR_ARRAY_SYNTAX, IR_COL_NUM, IR_LINE_NUM, IR_OPND_L, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, Logical, ntr_const_tbl(), NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, expr_semantics_args::rank, expr_semantics_args::reference, storage_bit_size_tbl, expr_semantics_args::tmp_reference, TRACE, TRUE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, and expr_semantics_args::type_idx.
Referenced by all_intrinsic(), buffer_stmt_semantics(), change_section_to_do(), cshift_intrinsic(), eoshift_intrinsic(), gen_whole_subscript(), index_intrinsic(), io_ctl_list_semantics(), io_list_semantics(), lbound_intrinsic(), ranget_intrinsic(), repeat_intrinsic(), return_stmt_semantics(), selected_real_kind_intrinsic(), size_intrinsic(), spread_intrinsic(), subscript_opr_handler(), transfer_intrinsic(), triplet_opr_handler(), and ubound_intrinsic().
void cast_to_type_idx | ( | opnd_type * | opnd, |
expr_arg_type * | exp_desc, | ||
int | type_idx | ||
) |
Definition at line 8475 of file s_utils.c.
References cast_typeless_constant(), expr_semantics_args::char_len, Character, Character_1, CN_CONST, CN_INT_TO_C, CN_Tbl_Idx, compare_cn_and_value(), COPY_OPND, Cvrt_Opr, FALSE, find_opnd_line_and_column(), fold_relationals(), folder_driver(), Func_Entry, Func_Exit, Internal, IR_ARRAY_SYNTAX, IR_COL_NUM, IR_LINE_NUM, IR_OPND_L, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, Le_Opr, expr_semantics_args::linear_type, Ne_Opr, ntr_const_tbl(), NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, PRINTMSG(), expr_semantics_args::rank, expr_semantics_args::reference, Short_Char_Const, Short_Typeless_Const, expr_semantics_args::tmp_reference, TRACE, TRUE, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, and expr_semantics_args::type_idx.
Referenced by cast_opnd_to_type_idx(), cmplx_intrinsic(), compare_darg_to_actual_arg(), create_constructor_constant(), dprod_intrinsic(), dsm_numthreads_intrinsic(), fold_aggragate_expression(), forall_semantics(), io_list_semantics(), ishft_intrinsic(), ishftc_intrinsic(), max_intrinsic(), mvbits_intrinsic(), ranget_intrinsic(), and stmt_func_call_opr_handler().
int cast_typeless_constant | ( | int | cn_idx, |
int | type_idx, | ||
int | line, | ||
int | col | ||
) |
Definition at line 8044 of file s_utils.c.
References Caution, Character, CN_BOOLEAN_CONSTANT, CN_BOZ_CONSTANT, CN_HOLLERITH_TYPE, CN_INT_TO_C, CN_POOL_IDX, CN_TYPE_IDX, CP_CONSTANT, CRI_Ch_Ptr, CRI_Parcel_Ptr, CRI_Ptr, Cvrt_Opr, FALSE, folder_driver(), Func_Entry, Func_Exit, H_Hollerith, Integer_1, on_off_flags_entry::integer_1_and_2, Integer_2, Integer_4, Integer_8, L_Hollerith, Logical_1, Logical_2, Logical_4, ntr_boolean_const_tbl(), ntr_boz_const_tbl(), ntr_const_tbl(), ntr_unshared_const_tbl(), NULL, NULL_IDX, on_off_flags, PRINTMSG(), R_Hollerith, Real, Real_4, storage_bit_size_tbl, TRACE, TRUE, TYP_BIT_LEN, TYP_IDX, TYP_LINEAR, TYP_TYPE, Typeless, and TYPELESS_DEFAULT_TYPE.
Referenced by alloc_obj_opr_handler(), and_opr_handler(), arith_if_stmt_semantics(), array_construct_semantics(), assignment_stmt_semantics(), bound_semantics(), buffer_stmt_semantics(), build_loop_tbl(), case_stmt_semantics(), case_value_range_semantics(), cast_to_type_idx(), check_target_and_value(), const_init_semantics(), convert_hex_literal(), convert_to_do_var_type(), create_loop_stmts(), csmg_intrinsic(), cvmgp_intrinsic(), cvrt_opr_handler(), data_repeat_semantics(), do_loop_expr_semantics(), eq_opr_handler(), final_arg_work(), iand_intrinsic(), interpret_constructor(), io_ctl_list_semantics(), lg_opr_handler(), lt_opr_handler(), minus_opr_handler(), mult_opr_handler(), not_intrinsic(), not_opr_handler(), outmoded_if_stmt_semantics(), parse_int_spec_expr(), plus_opr_handler(), power_opr_handler(), shift_intrinsic(), stmt_func_call_opr_handler(), struct_construct_opr_handler(), subscript_opr_handler(), substring_opr_handler(), triplet_opr_handler(), and uplus_opr_handler().
void change_section_to_this_element | ( | opnd_type * | section_opnd, |
opnd_type * | element_opnd, | ||
int | which_one | ||
) |
Definition at line 10709 of file s_utils.c.
References C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, change_section_to_this_element(), CIF_No_Usage_Rec, CN_Tbl_Idx, COPY_OPND, copy_subtree(), expr_semantics(), find_opnd_line_and_column(), Func_Entry, Func_Exit, gen_ir(), gen_opnd(), IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, IL_VECTOR_SUBSCRIPT, init_exp_desc, Internal, IR_COL_NUM, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_OPND_L, IR_OPR, IR_RANK, IR_Tbl_Idx, just_find_dope_and_rank(), Mult_Opr, NULL, NULL_IDX, OPND_FLD, OPND_IDX, Plus_Opr, PRINTMSG(), expr_semantics_args::rank, Subscript_Opr, TRACE, Triplet_Opr, and xref_state.
Referenced by change_section_to_this_element(), and optimize_reshape().
void check_dependence | ( | boolean * | dependant, |
opnd_type | item, | ||
opnd_type | exp | ||
) |
Definition at line 10605 of file s_utils.c.
References AT_OBJ_CLASS, AT_Tbl_Idx, ATD_CLASS, ATD_EQUIV, ATD_POINTER, ATD_TARGET, check_dependence(), CN_Tbl_Idx, CRI__Pointee, Data_Obj, FALSE, find_base_attr(), find_left_attr(), Func_Entry, Func_Exit, idx, IL_FLD, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, IR_FLD_L, IR_FLD_R, IR_OPND_L, IR_OPND_R, IR_Tbl_Idx, NO_Tbl_Idx, NULL, NULL_IDX, OPND_FLD, OPND_IDX, SH_Tbl_Idx, TRACE, and TRUE.
Referenced by assignment_stmt_semantics(), check_dependence(), and forall_mask_needs_tmp().
boolean check_for_legal_define | ( | opnd_type * | top_opnd | ) |
Definition at line 10526 of file s_utils.c.
References AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_Tbl_Idx, ATD_CLASS, ATD_FORALL_INDEX, ATD_INTENT, ATD_LIVE_DO_VAR, ATD_PURE, ATD_SYMBOLIC_CONSTANT, ATP_PURE, Constant, COPY_OPND, curr_scp_idx, Data_Obj, Dummy_Argument, Error, FALSE, Func_Entry, Func_Exit, Intent_In, IR_OPND_L, IR_Tbl_Idx, NULL, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, PRINTMSG(), SCP_ATTR_IDX, TRACE, TRUE, and Variable.
Referenced by assign_stmt_semantics(), assignment_stmt_semantics(), call_list_semantics(), check_stat_variable(), do_read_namelist_semantics(), do_stmt_semantics(), encode_decode_stmt_semantics(), inquire_stmt_semantics(), io_ctl_list_semantics(), and io_list_semantics().
boolean cmp_ref_trees | ( | opnd_type * | opnd1, |
opnd_type * | opnd2 | ||
) |
Definition at line 1243 of file s_utils.c.
References AT_Tbl_Idx, cmp_ref_trees(), CN_Tbl_Idx, FALSE, find_opnd_line_and_column(), Func_Entry, Func_Exit, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, Internal, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, NO_Tbl_Idx, NULL, NULL_IDX, OPND_FLD, OPND_IDX, OPND_LIST_CNT, PRINTMSG(), SH_Tbl_Idx, TRACE, and TRUE.
Referenced by allocate_stmt_semantics(), cmp_ref_trees(), and deallocate_stmt_semantics().
static void compute_char_element_len | ( | opnd_type * | char_len, |
opnd_type * | char_opnd, | ||
opnd_type * | result_opnd | ||
) | [static] |
Definition at line 7664 of file s_utils.c.
References C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, char_len_in_bytes, CIF_No_Usage_Rec, CN_Tbl_Idx, Concat_Opr, COPY_OPND, expr_semantics(), find_opnd_line_and_column(), Func_Entry, Func_Exit, get_concat_len(), IR_COL_NUM, IR_COL_NUM_L, IR_FLD_L, IR_IDX_L, IR_LINE_NUM, IR_LINE_NUM_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Mult_Opr, NTR_IR_TBL, NULL, OPND_FLD, OPND_IDX, expr_semantics_args::rank, TRACE, and xref_state.
Referenced by gen_dv_whole_def().
int create_bd_ntry_for_const | ( | expr_arg_type * | exp_desc, |
int | line, | ||
int | col | ||
) |
Definition at line 5895 of file s_utils.c.
References BD_ARRAY_CLASS, BD_ARRAY_SIZE, BD_COLUMN_NUM, BD_LB_FLD, BD_LB_IDX, BD_LEN_FLD, BD_LEN_IDX, BD_LINE_NUM, BD_RANK, BD_RESOLVED, BD_SM_FLD, BD_SM_IDX, BD_UB_FLD, BD_UB_IDX, BD_XT_FLD, BD_XT_IDX, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, size_offset_entry::constant, Constant_Size, Explicit_Shape, FALSE, size_offset_entry::fld, Func_Entry, Func_Exit, size_offset_entry::idx, Internal, Mult_Opr, NO_Tbl_Idx, ntr_array_in_bd_tbl(), ntr_const_tbl(), NULL, OPND_FLD, OPND_IDX, PRINTMSG(), expr_semantics_args::rank, reserve_array_ntry(), set_stride_for_first_dim(), expr_semantics_args::shape, size_offset_binary_calc(), stride, TRACE, TRUE, size_offset_entry::type_idx, and expr_semantics_args::type_idx.
Referenced by create_constructor_constant(), create_runtime_array_constructor(), create_scalar_type_tbl(), fold_aggragate_expression(), gen_internal_dope_vector(), gen_static_integer_array_tmp(), interpret_reshape_intrinsic(), interpret_transfer_intrinsic(), lbound_intrinsic(), make_logical_array_tmp(), reshape_intrinsic(), set_up_pe_offset_attr(), shape_intrinsic(), transfer_intrinsic(), translate_distant_ref1(), and ubound_intrinsic().
static int create_dv_type_code | ( | int | attr_idx | ) | [static] |
Definition at line 2121 of file s_utils.c.
References ATD_TYPE_IDX, FALSE, Func_Entry, Func_Exit, IO_TYPE_CODE_TYPE, make_io_type_code(), ntr_const_tbl(), NULL, NULL_IDX, and TRACE.
Referenced by gen_common_dv_init(), gen_dv_whole_def(), gen_dv_whole_def_init(), and gen_sf_dv_whole_def().
static long64 create_imp_do_loops | ( | opnd_type * | top_opnd | ) | [static] |
Definition at line 2701 of file s_utils.c.
References AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_IMP_DO_LCV, ATD_LCV_IS_CONST, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, CG_INTEGER_DEFAULT_TYPE, CN_INT_TO_C, COPY_OPND, curr_scp_idx, find_opnd_line_and_column(), Func_Entry, Func_Exit, gen_compiler_tmp(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, Implied_Do_Opr, IR_COL_NUM, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LIST_CNT_L, IR_LIST_CNT_R, IR_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, OPND_FLD, OPND_IDX, Priv, SCP_SB_STACK_IDX, start, TRACE, TRUE, TYPELESS_DEFAULT_TYPE, and Whole_Subscript_Opr.
Referenced by gen_init_stmt().
void create_loop_stmts | ( | int | lcv_attr, |
opnd_type * | start_opnd, | ||
opnd_type * | end_opnd, | ||
opnd_type * | inc_opnd, | ||
int | body_start_sh_idx, | ||
int | body_end_sh_idx | ||
) |
Definition at line 5405 of file s_utils.c.
References After, Asg_Opr, Assignment_Stmt, AT_DEFINED, AT_Tbl_Idx, ATD_CLASS, ATD_TYPE_IDX, ATL_CONSTRUCTOR_LOOP, ATL_DEF_STMT_IDX, Before, Br_True_Opr, cast_typeless_constant(), CG_INTEGER_DEFAULT_TYPE, CIF_No_Usage_Rec, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, CN_TYPE_IDX, Compiler_Tmp, Continue_Stmt, COPY_OPND, curr_stmt_sh_idx, Div_Opr, Do_Iterative_Stmt, expr_semantics(), FALSE, find_opnd_line_and_column(), Func_Entry, Func_Exit, GEN_COMPILER_TMP_ASG, gen_internal_lbl(), gen_ir(), gen_opnd(), gen_sh(), IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, in_constructor, IR_OPND_R, IR_Tbl_Idx, Label_Opr, Le_Opr, LOGICAL_DEFAULT_TYPE, Loop_End_Opr, Loop_Info_Opr, Lt_Opr, Minus_Opr, Mult_Opr, NO_Tbl_Idx, NTR_IR_LIST_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, Plus_Opr, Priv, SH_IR_IDX, SH_LOOP_END, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PARENT_BLK_IDX, SH_PREV_IDX, SH_Tbl_Idx, Short_Typeless_Const, stmt_start_col, stmt_start_line, TRACE, TRUE, TYP_LINEAR, expr_semantics_args::type_idx, TYPELESS_DEFAULT_TYPE, and xref_state.
Referenced by create_array_constructor_asg(), create_interp_stmts(), expand_imp_do(), gen_dv_def_loops(), and gen_forall_loops().
void dim_reshape_pass_driver | ( | void | ) |
Definition at line 10354 of file s_utils.c.
References AL_ATTR_IDX, AL_NEXT_IDX, AT_OBJ_CLASS, ATD_ARRAY_IDX, ATD_RESHAPE_ARRAY_IDX, ATD_RESHAPE_ARRAY_OPT, curr_scp_idx, curr_stmt_sh_idx, Data_Obj, Func_Entry, Func_Exit, Internal, IR_Tbl_Idx, NULL, NULL_IDX, OPND_FLD, OPND_IDX, PRINT_IR_TBL4, PRINTMSG(), reshape_reference_subscripts(), SCP_FIRST_SH_IDX, SCP_RESHAPE_ARRAY_LIST, SH_IR_IDX, SH_NEXT_IDX, and TRACE.
Referenced by cvrt_proc_to_pdg().
void dope_vector_setup | ( | opnd_type * | r_opnd, |
expr_arg_type * | exp_desc, | ||
opnd_type * | l_opnd, | ||
boolean | ptr_assign | ||
) |
Definition at line 1433 of file s_utils.c.
References ADD_TMP_TO_SHARED_LIST, Array_Ptr, Array_Tmp_Ptr, Assignment_Stmt, Assumed_Shape, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_IM_A_DOPE, ATT_CHAR_SEQ, BD_ARRAY_CLASS, BD_LB_FLD, BD_LB_IDX, Before, CG_INTEGER_DEFAULT_TYPE, Character, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, Contig_Section, COPY_OPND, CRI_Ch_Ptr_8, CRI_Ptr_8, curr_stmt_sh_idx, Dv_Access_A_Contig, Dv_Access_Low_Bound, Dv_Access_Orig_Base, Dv_Access_Orig_Size, Dv_Access_Ptr_Alloc, Dv_Contig_Section, Dv_Set_A_Contig, Dv_Set_Assoc, Dv_Set_Base_Addr, Dv_Set_Extent, Dv_Set_Low_Bound, Dv_Set_Orig_Base, Dv_Set_Orig_Size, Dv_Set_Ptr_Alloc, Dv_Set_Stride_Mult, FALSE, find_base_attr(), find_opnd_line_and_column(), Func_Entry, Func_Exit, gen_dv_stride_mult(), gen_ir(), gen_sh(), get_act_arg_type(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, Internal, IR_COL_NUM, IR_COL_NUM_R, IR_DV_DIM, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_R, IR_LIST_CNT_L, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, just_find_dope_and_rank(), Loc_Opr, make_base_subtree(), Max_Opr, Mult_Opr, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, PRINTMSG(), expr_semantics_args::rank, SA_INTEGER_DEFAULT_TYPE, expr_semantics_args::section, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, expr_semantics_args::shape, stmt_start_col, stmt_start_line, Struct_Opr, Structure, TRACE, transform_char_sequence_ref(), Triplet_Opr, TRUE, TYP_IDX, expr_semantics_args::type, expr_semantics_args::type_idx, Whole_Allocatable, Whole_Array_Constant, Whole_Ass_Shape, Whole_Sequence, Whole_Tmp_Allocatable, and Whole_Tmp_Sequence.
Referenced by create_struct_constructor_asg(), and lower_ptr_asg().
void enlarge_call_list_tables | ( | void | ) |
Definition at line 1337 of file s_utils.c.
References arg_list, arg_list_size, CALL_LIST_TBL_INC, Func_Entry, Func_Exit, max_call_list_size, MEM_ALLOC, MEM_REALLOC, NULL, and TRACE.
Referenced by backspace_stmt_semantics(), buffer_stmt_semantics(), call_list_semantics(), close_stmt_semantics(), endfile_stmt_semantics(), inquire_stmt_semantics(), open_stmt_semantics(), resolve_ext_opr(), rewind_stmt_semantics(), stmt_func_call_opr_handler(), and stop_pause_stmt_semantics().
void enlarge_info_list_table | ( | void | ) |
Definition at line 1385 of file s_utils.c.
References arg_info_list, arg_info_list_size, CALL_LIST_TBL_INC, Func_Entry, Func_Exit, max_call_list_size, MEM_ALLOC, MEM_REALLOC, NULL, and TRACE.
Referenced by array_construct_opr_handler(), array_construct_semantics(), backspace_stmt_semantics(), buffer_stmt_semantics(), build_loop_tbl(), call_list_semantics(), close_stmt_semantics(), cshift_intrinsic(), endfile_stmt_semantics(), eoshift_intrinsic(), index_intrinsic(), inquire_stmt_semantics(), io_list_semantics(), ishftc_intrinsic(), num_images_intrinsic(), open_stmt_semantics(), process_char_len(), process_variable_size_func(), resolve_ext_opr(), rewind_stmt_semantics(), stmt_func_call_opr_handler(), stop_pause_stmt_semantics(), and struct_construct_opr_handler().
int find_base_attr | ( | opnd_type * | root_opnd, |
int * | line, | ||
int * | col | ||
) |
Definition at line 1117 of file s_utils.c.
References AT_OBJ_NAME_PTR, AT_Tbl_Idx, CN_Tbl_Idx, COPY_OPND, EXIT, Func_Entry, Func_Exit, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, Struct_Opr, and TRACE.
Referenced by all_intrinsic(), alloc_obj_opr_handler(), allocate_stmt_semantics(), array_element_to_scalar(), assignment_stmt_semantics(), buffer_stmt_semantics(), build_loop_tbl(), call_list_semantics(), check_array_bounds(), check_dependence(), check_stat_variable(), check_substring_bounds(), cif_usage_rec(), conform_check(), create_scalar_type_tbl(), create_strct_tbl(), create_tmp_DV_asg(), cvrt_exp_to_pdg(), dealloc_obj_opr_handler(), discombobulate_structure_ref(), dope_vector_setup(), encode_decode_stmt_semantics(), gen_arg_type_descriptor(), gen_dv_access_low_bound(), gen_dv_whole_def(), gen_init_stmt(), gen_runtime_bounds(), gen_runtime_ptr_chk(), gen_runtime_substring(), gen_whole_subscript(), gen_whole_substring(), interpret_ref(), io_ctl_list_semantics(), lbound_intrinsic(), len_intrinsic(), loc_intrinsic(), minval_intrinsic(), namelist_static_dv_whole_def(), needs_bounds_check(), null_intrinsic(), num_images_intrinsic(), optimize_reshape(), random_number_intrinsic(), reshape_intrinsic(), reshape_reference_subscripts(), resolve_ext_opr(), section_semantics(), size_intrinsic(), srch_for_calls(), subscript_opr_handler(), substring_opr_handler(), transfer_intrinsic(), and ubound_intrinsic().
int find_left_attr | ( | opnd_type * | root_opnd | ) |
Definition at line 1192 of file s_utils.c.
References AT_Tbl_Idx, COPY_OPND, EXIT, Func_Entry, Func_Exit, IR_OPND_L, IR_Tbl_Idx, NULL, NULL_IDX, OPND_FLD, OPND_IDX, and TRACE.
Referenced by allocate_stmt_semantics(), assignment_stmt_semantics(), call_list_semantics(), check_dependence(), check_for_elementals(), check_where_conformance(), cif_call_site_rec(), cif_usage_rec(), copy_sbtree(), create_argchck_descriptor(), create_array_constructor_asg(), create_constructor_constant(), create_namelist_descriptor(), create_scalar_type_tbl(), create_strct_tbl(), cvrt_exp_to_pdg(), deallocate_stmt_semantics(), directive_stmt_semantics(), do_single_asg(), doall_end_semantics(), equivalence_semantics(), final_arg_work(), fold_aggragate_expression(), gen_bd_entry(), gen_loop_end_ir(), gen_runtime_checks(), gen_runtime_ptr_chk(), gen_split_alloc(), inquire_stmt_semantics(), interpret_ref(), io_ctl_list_semantics(), io_list_semantics(), item_has_bounds_chk(), mp_directive_semantics(), namelist_static_dv_whole_def(), needs_bounds_check(), nullify_stmt_semantics(), process_cpnt_inits(), resolve_ext_opr(), set_mp_task_flags(), srch_for_calls(), transform_cri_ch_ptr(), and translate_dv_component().
void fold_clen_opr | ( | opnd_type * | opnd, |
expr_arg_type * | exp_desc | ||
) |
Definition at line 6003 of file s_utils.c.
References AT_OBJ_CLASS, AT_Tbl_Idx, ATD_ALLOCATABLE, ATD_IM_A_DOPE, ATD_POINTER, ATD_TYPE_IDX, CG_INTEGER_DEFAULT_TYPE, char_len_in_bytes, Clen_Opr, CN_INTEGER_THREE_IDX, CN_Tbl_Idx, CN_TYPE_IDX, expr_semantics_args::constant, COPY_OPND, Data_Obj, Dv_Access_El_Len, EXIT, find_opnd_line_and_column(), expr_semantics_args::foldable, Func_Entry, Func_Exit, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, Integer, IR_COL_NUM, IR_FLD_L, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LIST_CNT_L, IR_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, NO_Tbl_Idx, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, SA_INTEGER_DEFAULT_TYPE, Shiftr_Opr, Substring_Opr, TRACE, TRUE, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, and Whole_Substring_Opr.
Referenced by attr_semantics(), char_len_resolution(), and len_intrinsic().
static void gen_bounds_check_call | ( | char * | var, |
opnd_type * | lb_opnd, | ||
opnd_type * | ub_opnd, | ||
opnd_type * | subscript, | ||
int | dim, | ||
int | line, | ||
int | col | ||
) | [static] |
Definition at line 9373 of file s_utils.c.
References ADD_ATTR_TO_LOCAL_LIST, AT_Tbl_Idx, Before, Bounds_Attr_Idx, BOUNDS_LIB_ENTRY, BOUNDS_NAME_LEN, C_INT_TO_CN, call_list_semantics(), Call_Opr, Call_Stmt, CG_INTEGER_DEFAULT_TYPE, CIF_No_Usage_Rec, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, create_lib_entry_attr(), curr_stmt_sh_idx, expr_mode, FALSE, Func_Entry, Func_Exit, gen_if_stmt(), gen_il(), gen_initialized_tmp(), gen_ir(), gen_opnd(), gen_sh(), glb_tbl_idx, Gt_Opr, IL_Tbl_Idx, init_exp_desc, IR_Tbl_Idx, LOGICAL_DEFAULT_TYPE, lt_idx, Lt_Opr, NULL, NULL_IDX, OPND_FLD, OPND_IDX, Or_Opr, put_c_str_in_cn(), put_file_name_in_cn(), Regular_Expr, SH_IR_IDX, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, TRACE, TRUE, TYPELESS_DEFAULT_TYPE, and xref_state.
Referenced by gen_runtime_bounds().
void gen_common_dv_init | ( | opnd_type * | dv_opnd, |
int | dv_attr_idx, | ||
sh_position_type | position | ||
) |
Definition at line 2155 of file s_utils.c.
References ADD_TMP_TO_SHARED_LIST, After, Assignment_Stmt, AT_Tbl_Idx, ATD_ALLOCATABLE, ATD_ARRAY_IDX, ATD_IN_COMMON, ATD_POINTER, ATD_TYPE_IDX, ATT_STRUCT_BIT_LEN_FLD, ATT_STRUCT_BIT_LEN_IDX, BD_RANK, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, char_len_in_bytes, Character, CN_INTEGER_CHAR_BIT_IDX, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, size_offset_entry::constant, COPY_OPND, create_dv_type_code(), curr_stmt_sh_idx, Dv_Set_A_Contig, Dv_Set_El_Len, Dv_Set_N_Dim, Dv_Set_P_Or_A, Dv_Set_Typ_Code, FALSE, find_opnd_line_and_column(), size_offset_entry::fld, Func_Entry, Func_Exit, gen_sh(), size_offset_entry::idx, IR_COL_NUM, IR_COL_NUM_L, IR_COL_NUM_R, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LINE_NUM_R, IR_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Mult_Opr, NO_Tbl_Idx, ntr_const_tbl(), NTR_IR_TBL, NULL, result, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, size_offset_binary_calc(), storage_bit_size_tbl, Structure, TRACE, TRUE, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, and size_offset_entry::type_idx.
Referenced by gen_default_init_code(), and gen_entry_dope_code().
static void gen_conform_check_call | ( | opnd_type * | l_shape, |
opnd_type * | r_shape, | ||
int | dim, | ||
int | line, | ||
int | col | ||
) | [static] |
Definition at line 9251 of file s_utils.c.
References ADD_ATTR_TO_LOCAL_LIST, AT_Tbl_Idx, Before, C_INT_TO_CN, call_list_semantics(), Call_Opr, Call_Stmt, CG_INTEGER_DEFAULT_TYPE, CIF_No_Usage_Rec, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, Conform_Attr_Idx, CONFORM_LIB_ENTRY, CONFORM_NAME_LEN, create_lib_entry_attr(), curr_stmt_sh_idx, expr_mode, FALSE, Func_Entry, Func_Exit, gen_if_stmt(), gen_il(), gen_initialized_tmp(), gen_ir(), GEN_MAX_ZERO_IR, gen_opnd(), gen_sh(), glb_tbl_idx, IL_Tbl_Idx, init_exp_desc, IR_Tbl_Idx, LOGICAL_DEFAULT_TYPE, Ne_Opr, NULL, NULL_IDX, put_file_name_in_cn(), Regular_Expr, SH_IR_IDX, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, TRACE, TRUE, TYPELESS_DEFAULT_TYPE, and xref_state.
Referenced by gen_runtime_conformance().
void gen_copyin_bounds_stmt | ( | int | attr_idx | ) |
Definition at line 11355 of file s_utils.c.
References AT_DEF_COLUMN, AT_DEF_LINE, AT_Tbl_Idx, Before, Copyin_Bound_Opr, curr_stmt_sh_idx, Directive_Stmt, FALSE, Func_Entry, Func_Exit, gen_ir(), gen_sh(), NO_Tbl_Idx, NULL, NULL_IDX, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, TRACE, TRUE, and TYPELESS_DEFAULT_TYPE.
Referenced by create_runtime_array_constructor(), gen_bd_entry(), gen_forall_tmp_bd_entry(), and make_new_bd_entries().
void gen_dv_access_low_bound | ( | opnd_type * | result_opnd, |
opnd_type * | dv_opnd, | ||
int | dim | ||
) |
Definition at line 11399 of file s_utils.c.
References Asg_Opr, Assumed_Shape, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_CLASS, ATD_FLD, ATD_IM_A_DOPE, ATD_TMP_IDX, BD_ARRAY_CLASS, BD_LB_FLD, BD_LB_IDX, CIF_No_Usage_Rec, Compiler_Tmp, COPY_OPND, Dv_Access_Low_Bound, expr_semantics(), find_base_attr(), Func_Entry, Func_Exit, gen_ir(), gen_opnd(), Internal, IR_DV_DIM, IR_OPND_R, IR_OPR, IR_Tbl_Idx, NO_Tbl_Idx, NULL, NULL_IDX, OPND_FLD, OPND_IDX, PRINTMSG(), expr_semantics_args::rank, SA_INTEGER_DEFAULT_TYPE, TRACE, variable_size_func_expr, and xref_state.
Referenced by gen_runtime_bounds(), gen_whole_subscript(), and subscript_opr_handler().
static void gen_dv_def_loops | ( | opnd_type * | dv_opnd | ) | [static] |
Definition at line 4203 of file s_utils.c.
References AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, CG_INTEGER_DEFAULT_TYPE, COPY_OPND, create_loop_stmts(), curr_scp_idx, curr_stmt_sh_idx, find_opnd_line_and_column(), Func_Entry, Func_Exit, gen_compiler_tmp(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IR_IDX_L, IR_IDX_R, IR_OPND_L, IR_OPR, IR_Tbl_Idx, NULL, NULL_IDX, OPND_FLD, OPND_IDX, Priv, SCP_SB_STACK_IDX, Section_Subscript_Opr, Subscript_Opr, TRACE, Triplet_Opr, TRUE, and Whole_Subscript_Opr.
Referenced by process_cpnt_inits().
static void gen_dv_stride_mult | ( | opnd_type * | stride_opnd, |
int | attr_idx, | ||
opnd_type * | r_dv_opnd, | ||
expr_arg_type * | exp_desc, | ||
int | dim, | ||
int | line, | ||
int | col | ||
) | [static] |
Definition at line 4047 of file s_utils.c.
References ADD_TMP_TO_SHARED_LIST, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_CLASS, ATD_IM_A_DOPE, ATD_TYPE_IDX, ATT_CHAR_SEQ, BD_SM_FLD, BD_SM_IDX, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, Character, Character_1, Clen_Opr, CN_Tbl_Idx, COPY_OPND, CRI__Pointee, Dv_Access_Stride_Mult, Func_Entry, Func_Exit, gen_ir(), Internal, IR_COL_NUM, IR_COL_NUM_L, IR_DV_DIM, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Mult_Opr, NTR_IR_TBL, NULL, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, PRINTMSG(), SA_INTEGER_DEFAULT_TYPE, sm_unit_in_bits(), Structure, TRACE, TYP_IDX, TYP_TYPE, expr_semantics_args::type, and expr_semantics_args::type_idx.
Referenced by dope_vector_setup(), and gen_dv_whole_def().
void gen_dv_whole_def | ( | opnd_type * | dv_opnd, |
opnd_type * | r_opnd, | ||
expr_arg_type * | exp_desc | ||
) |
Definition at line 3529 of file s_utils.c.
References ADD_TMP_TO_SHARED_LIST, Array_Ptr, Array_Tmp_Ptr, Assignment_Stmt, Assumed_Shape, AT_Tbl_Idx, ATD_ALLOCATABLE, ATD_ARRAY_IDX, ATD_IM_A_DOPE, ATD_POINTER, ATD_TYPE_IDX, ATT_CHAR_SEQ, ATT_STRUCT_BIT_LEN_FLD, ATT_STRUCT_BIT_LEN_IDX, BD_ARRAY_CLASS, BD_LB_FLD, BD_LB_IDX, BD_RANK, Before, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, expr_semantics_args::char_len, Character, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, compute_char_element_len(), Contig_Section, COPY_OPND, create_dv_type_code(), CRI_Ch_Ptr_8, CRI_Ptr_8, curr_stmt_sh_idx, Dv_Access_A_Contig, Dv_Access_Low_Bound, Dv_Access_Orig_Base, Dv_Access_Orig_Size, Dv_Access_Ptr_Alloc, Dv_Contig_Section, Dv_Def_Asg_Opr, Dv_Whole_Def_Opr, FALSE, find_base_attr(), find_opnd_line_and_column(), Func_Entry, Func_Exit, gen_dv_stride_mult(), gen_ir(), gen_sh(), get_act_arg_type(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, IR_COL_NUM, IR_DV_DIM, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LIST_CNT_L, IR_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, just_find_dope_and_rank(), Loc_Opr, make_base_subtree(), Max_Opr, Mult_Opr, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, expr_semantics_args::rank, SA_INTEGER_DEFAULT_TYPE, expr_semantics_args::section, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, expr_semantics_args::shape, storage_bit_size_tbl, Structure, TRACE, transform_char_sequence_ref(), Triplet_Opr, TRUE, TYP_IDX, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Whole_Allocatable, Whole_Array_Constant, Whole_Ass_Shape, Whole_Sequence, Whole_Tmp_Allocatable, and Whole_Tmp_Sequence.
Referenced by create_namelist_descriptor(), create_strct_tbl(), final_arg_work(), and process_cpnt_inits().
void gen_dv_whole_def_init | ( | opnd_type * | dv_opnd, |
int | dv_attr_idx, | ||
sh_position_type | position | ||
) |
Definition at line 4291 of file s_utils.c.
References ADD_TMP_TO_SHARED_LIST, After, Assignment_Stmt, AT_Tbl_Idx, ATD_ALLOCATABLE, ATD_ARRAY_IDX, ATD_POINTER, ATD_TYPE_IDX, ATT_STRUCT_BIT_LEN_FLD, ATT_STRUCT_BIT_LEN_IDX, BD_RANK, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, char_len_in_bytes, Character, cmd_line_flags, CN_INTEGER_CHAR_BIT_IDX, CN_INTEGER_ONE_IDX, CN_INTEGER_TWO_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, size_offset_entry::constant, COPY_OPND, create_dv_type_code(), curr_stmt_sh_idx, Dv_Def_Asg_Opr, Dv_Whole_Def_Opr, FALSE, find_opnd_line_and_column(), size_offset_entry::fld, Func_Entry, Func_Exit, gen_sh(), size_offset_entry::idx, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IL_Tbl_Idx, IR_COL_NUM, IR_COL_NUM_L, IR_COL_NUM_R, IR_DV_DIM, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LINE_NUM_R, IR_LIST_CNT_L, IR_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Mult_Opr, NO_Tbl_Idx, ntr_const_tbl(), NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, result, cmd_line_flags_entry::runtime_bounds, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, size_offset_binary_calc(), storage_bit_size_tbl, Structure, TRACE, TRUE, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, and size_offset_entry::type_idx.
Referenced by allocate_stmt_semantics(), assignment_stmt_semantics(), create_struct_constructor_asg(), final_arg_work(), flatten_function_call(), gen_entry_dope_code(), null_intrinsic(), and process_cpnt_inits().
void gen_entry_dope_code | ( | int | attr_idx | ) |
Definition at line 2841 of file s_utils.c.
References After, Asg_Opr, AT_DCL_ERR, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_AUTOMATIC, ATD_CLASS, ATD_IM_A_DOPE, ATD_IN_COMMON, ATD_PE_ARRAY_IDX, ATD_SAVED, ATD_TYPE_IDX, ATP_PGM_UNIT, ATP_SAVE_ALL, ATT_DEFAULT_INITIALIZED, ATT_POINTER_CPNT, curr_scp_idx, curr_stmt_sh_idx, EXIT, Func_Entry, Func_Exit, Function_Result, gen_common_dv_init(), gen_dv_whole_def_init(), gen_static_dv_whole_def(), gen_whole_subscript(), Init_Opr, Module, NULL, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, process_cpnt_inits(), SCP_ATTR_IDX, SH_COL_NUM, SH_GLB_LINE, Structure, TRACE, TYP_IDX, and TYP_TYPE.
Referenced by create_runtime_array_constructor(), and get_stmt_tmp().
void gen_if_stmt | ( | opnd_type * | cond_opnd, |
int | true_start_sh_idx, | ||
int | true_end_sh_idx, | ||
int | false_start_sh_idx, | ||
int | false_end_sh_idx, | ||
int | line, | ||
int | col | ||
) |
Definition at line 10829 of file s_utils.c.
References After, AT_DEFINED, AT_Tbl_Idx, ATD_TYPE_IDX, ATL_DEF_STMT_IDX, Before, Br_True_Opr, Br_Uncond_Opr, CN_Tbl_Idx, CN_TYPE_IDX, Continue_Stmt, curr_stmt_sh_idx, Else_Opr, Else_Stmt, End_If_Stmt, Endif_Opr, FALSE, Func_Entry, Func_Exit, gen_internal_lbl(), gen_ir(), gen_sh(), Goto_Stmt, If_Opr, If_Stmt, Internal, IR_COL_NUM_R, IR_FLD_R, IR_IDX_R, IR_LINE_NUM_R, IR_Tbl_Idx, IR_TYPE_IDX, Label_Opr, NO_Tbl_Idx, Not_Opr, NULL, NULL_IDX, OPND_FLD, OPND_IDX, PRINTMSG(), SH_IR_IDX, SH_P2_SKIP_ME, SH_PARENT_BLK_IDX, SH_PREV_IDX, SH_Tbl_Idx, TRACE, TRUE, and TYPELESS_DEFAULT_TYPE.
Referenced by create_tmp_asg(), final_arg_work(), gen_bounds_check_call(), gen_conform_check_call(), gen_forall_if_mask(), gen_ptr_chk_call(), gen_rbounds_check_call(), and gen_sbounds_check_call().
static void gen_init_stmt | ( | opnd_type * | left_opnd, |
int | const_idx, | ||
sh_position_type | position | ||
) | [static] |
Definition at line 3291 of file s_utils.c.
References After, Assignment_Stmt, ATD_ARRAY_IDX, ATD_TYPE_IDX, ATT_CHAR_SEQ, BD_LEN_FLD, BD_LEN_IDX, BD_SM_IDX, C_INT_TO_CN, C_TO_F_INT, CG_INTEGER_DEFAULT_TYPE, CN_CONST, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, CN_TYPE_IDX, COPY_OPND, copy_subtree(), create_imp_do_loops(), curr_stmt_sh_idx, FALSE, find_base_attr(), find_opnd_line_and_column(), folder_driver(), Func_Entry, Func_Exit, gen_sh(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IL_Tbl_Idx, Init_Opr, Integer_8, Internal, IR_COL_NUM, IR_COL_NUM_L, IR_COL_NUM_R, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LINE_NUM_R, IR_LIST_CNT_R, IR_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, make_base_subtree(), Mult_Opr, ntr_const_tbl(), NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, PRINTMSG(), result, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, sm_unit_in_bits(), Structure, TRACE, TRUE, TYP_IDX, TYP_LINEAR, TYP_TYPE, TYPELESS_DEFAULT_TYPE, and Whole_Subscript_Opr.
Referenced by gen_static_dv_whole_def(), and process_cpnt_inits().
int gen_initialized_tmp | ( | int | cn_idx, |
int | line, | ||
int | col | ||
) |
Definition at line 9917 of file s_utils.c.
References Assignment_Stmt, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_DATA_INIT, ATD_FLD, ATD_SAVED, ATD_STOR_BLK_IDX, ATD_TMP_IDX, ATD_TYPE_IDX, Before, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, CN_TYPE_IDX, curr_scp_idx, curr_stmt_sh_idx, FALSE, Func_Entry, Func_Exit, gen_compiler_tmp(), gen_sh(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IL_Tbl_Idx, Init_Opr, IR_COL_NUM, IR_COL_NUM_L, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LIST_CNT_R, IR_OPR, IR_TYPE_IDX, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, SCP_SB_STATIC_INIT_IDX, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, Shared, TRACE, TRUE, and TYPELESS_DEFAULT_TYPE.
Referenced by gen_bounds_check_call(), gen_conform_check_call(), gen_ptr_chk_call(), gen_rbounds_check_call(), gen_sbounds_check_call(), and substring_opr_handler().
void gen_internal_call_stmt | ( | char * | name, |
opnd_type * | opnd, | ||
sh_position_type | position | ||
) |
Definition at line 10122 of file s_utils.c.
References ADD_ATTR_TO_LOCAL_LIST, Aloc_Opr, AT_Tbl_Idx, Before, Call_Opr, Call_Stmt, CG_INTEGER_DEFAULT_TYPE, CN_Tbl_Idx, CN_TYPE_IDX, Const_Tmp_Loc_Opr, COPY_OPND, create_lib_entry_attr(), CRI_Ptr_8, curr_stmt_sh_idx, FALSE, Func_Entry, Func_Exit, gen_sh(), IL_FLD, IL_IDX, IL_Tbl_Idx, IR_COL_NUM, IR_COL_NUM_L, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LIST_CNT_R, IR_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, OPND_FLD, OPND_IDX, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, stmt_start_col, stmt_start_line, TRACE, and TRUE.
Referenced by decl_semantics(), and final_arg_work().
boolean gen_internal_dope_vector | ( | int_dope_type * | dope_vec, |
opnd_type * | r_opnd, | ||
boolean | just_init, | ||
expr_arg_type * | exp_desc | ||
) |
Definition at line 6447 of file s_utils.c.
References _cptofcd(), int_dope_entry::a_contig, int_dope_entry::assoc, ATD_ARRAY_IDX, ATD_CLASS, ATD_CONST_IDX, ATD_FLD, ATD_TMP_IDX, ATT_CHAR_SEQ, ATT_STRUCT_BIT_LEN_IDX, int_dope_entry::base_addr, BD_SM_IDX, BD_XT_IDX, CG_INTEGER_DEFAULT_TYPE, expr_semantics_args::char_len, char_len_in_bytes, Character, CN_CONST, CN_INT_TO_C, CN_POOL_IDX, CN_Tbl_Idx, CN_TYPE_IDX, compare_cn_and_value(), Complex_4, Constant, COPY_OPND, CP_CONSTANT, create_bd_ntry_for_const(), int_dope_entry::dim, int_dope_entry::el_len, Error, EXIT, int_dope_entry::extent, FALSE, find_opnd_line_and_column(), opnd_entry::fld, fold_aggragate_expression(), Func_Entry, Func_Exit, Ge_Opr, opnd_entry::idx, Integer_8, Internal, IR_OPND_L, IR_Tbl_Idx, expr_semantics_args::linear_type, int_dope_entry::low_bound, Lt_Opr, make_io_type_code(), ntr_const_tbl(), NULL, int_dope_entry::num_dims, OPND_FLD, OPND_IDX, int_dope_entry::orig_base, int_dope_entry::orig_size, int_dope_entry::p_or_a, PRINTMSG(), int_dope_entry::ptr_alloc, expr_semantics_args::rank, expr_semantics_args::reference, expr_semantics_args::section, stmt_start_col, stmt_start_line, storage_bit_size_tbl, int_dope_entry::stride_mult, Structure, expr_semantics_args::tmp_reference, TRACE, TRUE, TYP_IDX, TYP_LINEAR, expr_semantics_args::type, int_dope_entry::type_code, expr_semantics_args::type_idx, and int_dope_entry::unused_1.
Referenced by interpret_reshape_intrinsic(), interpret_transfer_intrinsic(), reshape_intrinsic(), and transfer_intrinsic().
void gen_lb_array_ref | ( | opnd_type * | result_opnd, |
int | attr_idx | ||
) |
Definition at line 10209 of file s_utils.c.
References AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_TYPE_IDX, BD_LB_FLD, BD_LB_IDX, BD_RANK, Func_Entry, Func_Exit, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IL_Tbl_Idx, IR_COL_NUM, IR_COL_NUM_L, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LIST_CNT_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, OPND_FLD, OPND_IDX, stmt_start_col, stmt_start_line, Subscript_Opr, and TRACE.
static void gen_ptr_chk_call | ( | char * | var, |
int | dv_desc, | ||
opnd_type * | dv_opnd, | ||
int | line, | ||
int | col | ||
) | [static] |
Definition at line 9794 of file s_utils.c.
References ADD_ATTR_TO_LOCAL_LIST, AT_Tbl_Idx, Before, C_INT_TO_CN, call_list_semantics(), Call_Opr, Call_Stmt, CG_INTEGER_DEFAULT_TYPE, CIF_No_Usage_Rec, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, create_lib_entry_attr(), curr_stmt_sh_idx, Dv_Access_Assoc, Eq_Opr, expr_mode, FALSE, Func_Entry, Func_Exit, gen_if_stmt(), gen_il(), gen_initialized_tmp(), gen_ir(), gen_opnd(), gen_sh(), glb_tbl_idx, IL_Tbl_Idx, init_exp_desc, IR_Tbl_Idx, LOGICAL_DEFAULT_TYPE, NO_Tbl_Idx, NULL, NULL_IDX, OPND_FLD, OPND_IDX, Ptr_Chk_Attr_Idx, PTR_CHK_LIB_ENTRY, PTR_CHK_NAME_LEN, put_c_str_in_cn(), put_file_name_in_cn(), Regular_Expr, SH_IR_IDX, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, TRACE, TRUE, TYPELESS_DEFAULT_TYPE, and xref_state.
Referenced by gen_runtime_ptr_chk().
static void gen_rbounds_check_call | ( | char * | var, |
opnd_type * | lb_opnd, | ||
opnd_type * | ub_opnd, | ||
opnd_type * | start_opnd, | ||
opnd_type * | end_opnd, | ||
opnd_type * | inc_opnd, | ||
int | dim, | ||
int | line, | ||
int | col | ||
) | [static] |
Definition at line 9511 of file s_utils.c.
References ADD_ATTR_TO_LOCAL_LIST, AT_Tbl_Idx, Before, C_INT_TO_CN, call_list_semantics(), Call_Opr, Call_Stmt, CG_INTEGER_DEFAULT_TYPE, CIF_No_Usage_Rec, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, create_lib_entry_attr(), curr_stmt_sh_idx, expr_mode, FALSE, Func_Entry, Func_Exit, gen_if_stmt(), gen_il(), gen_initialized_tmp(), gen_ir(), gen_opnd(), gen_rbounds_condition(), gen_sh(), glb_tbl_idx, IL_Tbl_Idx, init_exp_desc, IR_Tbl_Idx, NULL, NULL_IDX, OPND_FLD, OPND_IDX, put_c_str_in_cn(), put_file_name_in_cn(), Rbounds_Attr_Idx, RBOUNDS_LIB_ENTRY, RBOUNDS_NAME_LEN, Regular_Expr, SH_IR_IDX, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, TRACE, TRUE, TYPELESS_DEFAULT_TYPE, and xref_state.
Referenced by gen_runtime_bounds().
void gen_rbounds_condition | ( | opnd_type * | cond_opnd, |
opnd_type * | start_opnd, | ||
opnd_type * | end_opnd, | ||
opnd_type * | inc_opnd, | ||
opnd_type * | lb_opnd, | ||
opnd_type * | ub_opnd, | ||
int | line, | ||
int | col | ||
) |
Definition at line 11100 of file s_utils.c.
References And_Opr, CG_INTEGER_DEFAULT_TYPE, CIF_No_Usage_Rec, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, copy_subtree(), Div_Opr, expr_mode, expr_semantics(), Func_Entry, Func_Exit, gen_ir(), gen_opnd(), Gt_Opr, init_exp_desc, IR_Tbl_Idx, LOGICAL_DEFAULT_TYPE, lt_idx, Lt_Opr, Minus_Opr, Mult_Opr, NULL, OPND_FLD, OPND_IDX, Or_Opr, Plus_Opr, Regular_Expr, TRACE, and xref_state.
Referenced by check_array_bounds(), and gen_rbounds_check_call().
void gen_runtime_bounds | ( | int | sub_idx | ) |
Definition at line 9080 of file s_utils.c.
References Assumed_Size, AT_OBJ_NAME_PTR, ATD_ARRAY_IDX, ATD_IM_A_DOPE, BD_ARRAY_CLASS, BD_LB_FLD, BD_LB_IDX, BD_RANK, BD_UB_FLD, BD_UB_IDX, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, COPY_OPND, copy_subtree(), defer_stmt_expansion, Dv_Access_Extent, Dv_Deref_Opr, find_base_attr(), Func_Entry, Func_Exit, gen_bounds_check_call(), gen_dv_access_low_bound(), gen_ir(), gen_opnd(), gen_rbounds_check_call(), IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, IL_VECTOR_SUBSCRIPT, Internal, IR_BOUNDS_DONE, IR_DV_DIM, IR_IDX_L, IR_IDX_R, IR_OPND_L, IR_OPR, IR_Tbl_Idx, Minus_Opr, NO_Tbl_Idx, NULL, NULL_IDX, OPND_FLD, OPND_IDX, Plus_Opr, PRINTMSG(), SA_INTEGER_DEFAULT_TYPE, TRACE, Triplet_Opr, and TRUE.
Referenced by gen_runtime_checks().
void gen_runtime_checks | ( | opnd_type * | top_opnd | ) |
Definition at line 8807 of file s_utils.c.
References ATD_CLASS, cmd_line_flags, Compiler_Tmp, COPY_OPND, find_left_attr(), Func_Entry, Func_Exit, gen_runtime_bounds(), gen_runtime_checks(), gen_runtime_substring(), IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, needs_bounds_check(), NULL, OPND_FLD, OPND_IDX, cmd_line_flags_entry::runtime_substring, Section_Subscript_Opr, Subscript_Opr, Substring_Opr, and TRACE.
Referenced by encode_decode_stmt_semantics(), expand_imp_do(), expand_io_list(), gen_runtime_checks(), inquire_stmt_semantics(), print_stmt_semantics(), read_stmt_semantics(), and write_stmt_semantics().
void gen_runtime_conformance | ( | opnd_type * | l_opnd, |
expr_arg_type * | l_exp_desc, | ||
opnd_type * | r_opnd, | ||
expr_arg_type * | r_exp_desc | ||
) |
Definition at line 8873 of file s_utils.c.
References defer_stmt_expansion, find_opnd_line_and_column(), Func_Entry, Func_Exit, gen_conform_check_call(), Internal, NULL, PRINTMSG(), expr_semantics_args::rank, expr_semantics_args::shape, and TRACE.
Referenced by gen_assumed_shape_copy(), minval_intrinsic(), pack_intrinsic(), and unpack_intrinsic().
void gen_runtime_ptr_chk | ( | opnd_type * | dv_opnd | ) |
Definition at line 9013 of file s_utils.c.
References Assumed_Shape, AT_OBJ_NAME_PTR, ATD_ALLOCATABLE, ATD_ARRAY_IDX, ATD_CLASS, ATD_POINTER, BD_ARRAY_CLASS, Compiler_Tmp, EXIT, find_base_attr(), find_left_attr(), Func_Entry, Func_Exit, gen_ptr_chk_call(), NULL, and TRACE.
Referenced by final_arg_work(), and scan_for_ptr_chk().
void gen_runtime_substring | ( | int | substring_idx | ) |
Definition at line 8930 of file s_utils.c.
References AT_OBJ_NAME_PTR, ATD_TYPE_IDX, CN_Tbl_Idx, COPY_OPND, defer_stmt_expansion, find_base_attr(), Func_Entry, Func_Exit, gen_sbounds_check_call(), IL_NEXT_LIST_IDX, IL_OPND, Internal, IR_BOUNDS_DONE, IR_IDX_R, IR_OPND_L, NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, PRINTMSG(), TRACE, TRUE, TYP_FLD, and TYP_IDX.
Referenced by gen_runtime_checks().
static void gen_sbounds_check_call | ( | char * | var, |
opnd_type * | size_opnd, | ||
opnd_type * | start_opnd, | ||
opnd_type * | subln_opnd, | ||
int | line, | ||
int | col | ||
) | [static] |
Definition at line 9638 of file s_utils.c.
References ADD_ATTR_TO_LOCAL_LIST, AT_Tbl_Idx, Before, Bor_Opr, C_INT_TO_CN, call_list_semantics(), Call_Opr, Call_Stmt, CG_INTEGER_DEFAULT_TYPE, CIF_No_Usage_Rec, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, create_lib_entry_attr(), curr_stmt_sh_idx, expr_mode, FALSE, Func_Entry, Func_Exit, gen_if_stmt(), gen_il(), gen_initialized_tmp(), gen_ir(), gen_opnd(), gen_sh(), glb_tbl_idx, IL_Tbl_Idx, init_exp_desc, IR_Tbl_Idx, LOGICAL_DEFAULT_TYPE, lt_idx, Lt_Opr, Minus_Opr, NULL, NULL_IDX, OPND_FLD, OPND_IDX, Plus_Opr, put_c_str_in_cn(), put_file_name_in_cn(), Regular_Expr, Sbounds_Attr_Idx, SBOUNDS_LIB_ENTRY, SBOUNDS_NAME_LEN, SH_IR_IDX, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, TRACE, TRUE, TYPELESS_DEFAULT_TYPE, and xref_state.
Referenced by gen_runtime_substring().
int gen_sf_dv_whole_def | ( | opnd_type * | r_opnd, |
int | type_idx, | ||
int | bd_idx | ||
) |
Definition at line 7250 of file s_utils.c.
References ADD_TMP_TO_SHARED_LIST, Assignment_Stmt, AT_OBJ_CLASS, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_CLASS, ATD_IM_A_DOPE, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATT_CHAR_SEQ, ATT_STRUCT_BIT_LEN_FLD, ATT_STRUCT_BIT_LEN_IDX, BD_LB_FLD, BD_LB_IDX, BD_RANK, BD_SM_FLD, BD_SM_IDX, BD_XT_FLD, BD_XT_IDX, Before, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, char_len_in_bytes, Character, CN_INTEGER_CHAR_BIT_IDX, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, Compiler_Tmp, size_offset_entry::constant, COPY_OPND, create_dv_type_code(), CRI_Ch_Ptr, CRI_Ch_Ptr_8, CRI_Ptr, CRI_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, Data_Obj, Dv_Access_Base_Addr, Dv_Def_Asg_Opr, Dv_Whole_Def_Opr, FALSE, find_opnd_line_and_column(), size_offset_entry::fld, Func_Entry, Func_Exit, gen_compiler_tmp(), gen_sh(), size_offset_entry::idx, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, IR_COL_NUM, IR_COL_NUM_L, IR_COL_NUM_R, IR_DV_DIM, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LINE_NUM_R, IR_LIST_CNT_L, IR_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Loc_Opr, make_base_subtree(), Mult_Opr, NO_Tbl_Idx, ntr_const_tbl(), NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, Priv, result, SA_INTEGER_DEFAULT_TYPE, SCP_SB_STACK_IDX, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, size_offset_binary_calc(), storage_bit_size_tbl, Structure, TRACE, transform_char_sequence_ref(), TRUE, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, and size_offset_entry::type_idx.
Referenced by process_cpnt_inits(), and process_variable_size_func().
void gen_static_dv_whole_def | ( | opnd_type * | dv_opnd, |
int | attr_idx, | ||
sh_position_type | position | ||
) |
Definition at line 2465 of file s_utils.c.
References After, Assignment_Stmt, ATD_ALLOCATABLE, ATD_ARRAY_IDX, ATD_CLASS, ATD_FLD, ATD_POINTER, ATD_TMP_IDX, ATD_TMP_INIT_NOT_DONE, ATD_TYPE_IDX, ATT_STRUCT_BIT_LEN_IDX, BD_RANK, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, char_len_in_bytes, Character, CLEAR_TBL_NTRY, cmd_line_flags, CN_CONST, CN_INT_TO_C, CN_Tbl_Idx, compare_cn_and_value(), Compiler_Tmp, COPY_OPND, curr_stmt_sh_idx, DV_DIM_WORD_SIZE, DV_HD_WORD_SIZE, DV_SET_EL_LEN, Dv_Set_El_Len, DV_SET_LOW_BOUND, DV_SET_NUM_DIMS, DV_SET_P_OR_A, DV_SET_STRIDE_MULT, DV_SET_TYPE_CODE, Error, FALSE, find_opnd_line_and_column(), Func_Entry, Func_Exit, Ge_Opr, gen_init_stmt(), gen_sh(), IR_COL_NUM, IR_COL_NUM_L, IR_COL_NUM_R, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LINE_NUM_R, IR_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, make_io_type_code(), Mult_Opr, ntr_const_tbl(), NTR_IR_TBL, ntr_type_tbl(), NULL, NULL_IDX, PRINTMSG(), cmd_line_flags_entry::runtime_bounds, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, storage_bit_size_tbl, Structure, TRACE, TRUE, TYP_BIT_LEN, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, TYP_WORK_IDX, type_tbl, and Typeless.
Referenced by gen_default_init_code(), gen_entry_dope_code(), and struct_construct_opr_handler().
int gen_static_integer_array_tmp | ( | int | size, |
int | line, | ||
int | col | ||
) |
Definition at line 7984 of file s_utils.c.
References AT_SEMANTICS_DONE, ATD_ARRAY_IDX, ATD_DATA_INIT, ATD_SAVED, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, CN_Tbl_Idx, create_bd_ntry_for_const(), curr_scp_idx, opnd_entry::fld, Func_Entry, Func_Exit, gen_compiler_tmp(), opnd_entry::idx, init_exp_desc, Integer, expr_semantics_args::linear_type, NULL, expr_semantics_args::rank, SA_INTEGER_DEFAULT_TYPE, SCP_SB_STATIC_INIT_IDX, expr_semantics_args::shape, Shared, TRACE, TRUE, TYP_LINEAR, expr_semantics_args::type, and expr_semantics_args::type_idx.
Referenced by create_argchck_descriptor(), create_namelist_descriptor(), create_strct_tbl(), create_struct_argchck_tbl(), gen_arg_type_descriptor(), gen_call_type_descriptor(), and namelist_static_dv_whole_def().
void gen_temp_init | ( | int | attr_idx, |
int | cn_idx | ||
) |
Definition at line 11561 of file s_utils.c.
References After, Asg_Opr, Assignment_Stmt, AT_DEF_COLUMN, AT_DEF_LINE, AT_Tbl_Idx, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, curr_stmt_sh_idx, FALSE, Func_Entry, Func_Exit, gen_il(), gen_ir(), gen_opnd(), gen_sh(), IL_Tbl_Idx, Init_Opr, insert_sh_chain_after_entries(), IR_Tbl_Idx, ntr_sh_tbl(), NULL, SB_RUNTIME_INIT, SH_COL_NUM, SH_COMPILER_GEN, SH_GLB_LINE, SH_IR_IDX, SH_P2_SKIP_ME, SH_STMT_TYPE, TRACE, TRUE, Type_Init_Stmt, and TYPELESS_DEFAULT_TYPE.
Referenced by gen_bd_entry().
void get_char_len | ( | opnd_type * | ref_opnd, |
opnd_type * | length_opnd | ||
) |
Definition at line 7142 of file s_utils.c.
References ADD_TMP_TO_SHARED_LIST, AT_Tbl_Idx, Character, CN_Tbl_Idx, CN_TYPE_IDX, COPY_OPND, find_opnd_line_and_column(), Func_Entry, Func_Exit, get_char_len(), IL_NEXT_LIST_IDX, IL_OPND, Internal, IR_IDX_R, IR_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, NO_Tbl_Idx, NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, Paren_Opr, PRINTMSG(), Stmt_Expansion_Opr, Substring_Opr, TRACE, TYP_FLD, TYP_IDX, TYP_TYPE, and Whole_Substring_Opr.
Referenced by call_list_semantics(), get_char_len(), get_concat_len(), and resolve_ext_opr().
void get_concat_len | ( | int | concat_idx, |
opnd_type * | len_opnd | ||
) |
Definition at line 7076 of file s_utils.c.
References CG_INTEGER_DEFAULT_TYPE, COPY_OPND, Func_Entry, Func_Exit, get_char_len(), IL_NEXT_LIST_IDX, IL_OPND, IR_COL_NUM, IR_IDX_L, IR_LINE_NUM, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, NO_Tbl_Idx, NTR_IR_TBL, NULL, null_opnd, OPND_FLD, OPND_IDX, Plus_Opr, and TRACE.
Referenced by compute_char_element_len(), transfer_intrinsic(), and validate_char_len().
void get_shape_from_attr | ( | expr_arg_type * | exp_desc, |
int | attr_idx, | ||
int | rank, | ||
int | line, | ||
int | column | ||
) |
Definition at line 7742 of file s_utils.c.
References ADD_TMP_TO_SHARED_LIST, AT_OBJ_CLASS, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_IM_A_DOPE, ATD_LCV_IS_CONST, BD_XT_FLD, BD_XT_IDX, CN_Tbl_Idx, Data_Obj, Dv_Access_Extent, FALSE, Func_Entry, Func_Exit, IR_COL_NUM, IR_COL_NUM_L, IR_DV_DIM, IR_FLD_L, IR_IDX_L, IR_LINE_NUM, IR_LINE_NUM_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, NTR_IR_TBL, NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, SA_INTEGER_DEFAULT_TYPE, expr_semantics_args::shape, SHAPE_FOLDABLE, SHAPE_WILL_FOLD_LATER, TRACE, and TRUE.
Referenced by call_list_semantics(), gen_assumed_shape_copy(), resolve_ext_opr(), and set_shape_for_deferred_funcs().
void insert_init_stmt_for_tmp | ( | int | tmp_idx | ) |
Definition at line 7834 of file s_utils.c.
References ADD_TMP_TO_SHARED_LIST, Assignment_Stmt, AT_DEF_COLUMN, AT_DEF_LINE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_FLD, ATD_TMP_IDX, ATD_TMP_INIT_NOT_DONE, ATD_TYPE_IDX, BD_LB_FLD, BD_LB_IDX, BD_RANK, Before, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, CN_TYPE_IDX, curr_scp_idx, curr_stmt_sh_idx, FALSE, Func_Entry, Func_Exit, gen_sh(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IL_Tbl_Idx, Init_Opr, IR_COL_NUM, IR_COL_NUM_L, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LIST_CNT_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, SCP_LAST_SH_IDX, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, storage_bit_size_tbl, Subscript_Opr, TRACE, TRUE, TYP_LINEAR, and TYPELESS_DEFAULT_TYPE.
Referenced by attr_semantics(), copy_sbtree(), cvrt_exp_to_pdg(), final_attr_semantics(), and send_attr_ntry().
static void just_find_dope_and_rank | ( | opnd_type * | old_opnd, |
int * | rank_idx, | ||
int * | dope_idx | ||
) | [static] |
Definition at line 4788 of file s_utils.c.
References COPY_OPND, Dv_Deref_Opr, Func_Entry, Func_Exit, Internal, IR_COL_NUM, IR_LINE_NUM, IR_OPND_L, IR_OPR, IR_Tbl_Idx, NULL, NULL_IDX, OPND_FLD, OPND_IDX, PRINTMSG(), Section_Subscript_Opr, TRACE, and Whole_Subscript_Opr.
Referenced by change_section_to_this_element(), dope_vector_setup(), and gen_dv_whole_def().
void make_base_subtree | ( | opnd_type * | old_opnd, |
opnd_type * | new_opnd, | ||
int * | rank_idx, | ||
int * | dope_idx | ||
) |
Definition at line 4638 of file s_utils.c.
References AT_Tbl_Idx, Call_Opr, CN_Tbl_Idx, COPY_OPND, COPY_TBL_NTRY, Dv_Deref_Opr, find_opnd_line_and_column(), Func_Entry, Func_Exit, idx, IL_ARG_DESC_VARIANT, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, Internal, IR_COL_NUM, IR_IDX_L, IR_LINE_NUM, ir_list_tbl, IR_OPND_L, IR_OPND_R, IR_OPR, IR_RANK, ir_tbl, IR_Tbl_Idx, make_base_subtree(), NO_Tbl_Idx, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, OPND_LIST_CNT, PRINTMSG(), Section_Subscript_Opr, Subscript_Opr, TRACE, Triplet_Opr, and Whole_Subscript_Opr.
Referenced by create_strct_tbl(), dope_vector_setup(), final_arg_work(), flatten_function_call(), gen_dv_whole_def(), gen_init_stmt(), gen_sf_dv_whole_def(), loc_intrinsic(), make_base_subtree(), namelist_static_dv_whole_def(), optimize_reshape(), and ranget_intrinsic().
void make_io_type_code | ( | int | type_idx, |
long_type * | value | ||
) |
Definition at line 1958 of file s_utils.c.
References ATT_CHAR_SEQ, Character, Complex, CRI_Ch_Ptr, CRI_Ptr, f90_type::dec_len, Default_Typed, f90_type::dpflag, DV_ASCII_CHAR, DV_ASCII_CHAR_SEQUENCE_STRUCT, DV_COMPLEX, DV_DEC_LEN_SHIFT, DV_DEFAULT_TYPED, DV_DP_SHIFT, DV_INT_LEN_SHIFT, DV_INTEGER, DV_KIND_CONST, DV_KIND_DOUBLE, DV_KIND_STAR_SHIFT, DV_KIND_TYPED, DV_LOGICAL, DV_REAL, DV_STAR_TYPED, DV_STRUCT, DV_TYPE_SHIFT, DV_TYPELESS, Func_Entry, Func_Exit, f90_type::int_len, Integer, f90_type::kind_or_star, Kind_Typed, Logical, NULL, Real, Star_Typed, storage_bit_size_tbl, Structure, TRACE, TYP_BIT_LEN, TYP_DCL_VALUE, TYP_DECLARED_DBL, TYP_DESC, TYP_IDX, TYP_KIND_CONST, TYP_KIND_DOUBLE, TYP_LINEAR, TYP_TYPE, f90_type::type, Typeless, and f90_type::unused.
Referenced by buffer_stmt_semantics(), create_dv_type_code(), create_scalar_type_tbl(), cvrt_exp_to_pdg(), dump_ir_ntry(), gen_internal_dope_vector(), gen_static_dv_whole_def(), namelist_static_dv_whole_def(), and send_attr_ntry().
boolean needs_bounds_check | ( | int | sub_idx | ) |
Definition at line 11029 of file s_utils.c.
References ATD_ARRAY_IDX, ATD_BOUNDS_CHECK, ATD_CLASS, ATD_NOBOUNDS_CHECK, BD_ARRAY_CLASS, BD_LB_FLD, BD_LB_IDX, BD_RANK, BD_UB_FLD, BD_UB_IDX, cdir_switch_entry::bounds, cdir_switches, CN_Tbl_Idx, compare_cn_and_value(), Compiler_Tmp, Eq_Opr, Explicit_Shape, FALSE, find_base_attr(), find_left_attr(), Func_Entry, Func_Exit, Internal, IR_BOUNDS_DONE, IR_OPND_L, IR_OPR, IR_WHOLE_ARRAY, NULL, PRINTMSG(), Section_Subscript_Opr, stmt_start_col, stmt_start_line, Subscript_Opr, TRACE, and Whole_Subscript_Opr.
Referenced by check_array_bounds(), gen_runtime_checks(), and item_has_bounds_chk().
static int opr_to_str | ( | operator_type | opr, |
char * | str | ||
) | [static] |
void process_cpnt_inits | ( | opnd_type * | left_opnd, |
int | type_idx, | ||
void(*)() | func, | ||
int | opr, | ||
sh_position_type | position | ||
) |
Definition at line 2960 of file s_utils.c.
References After, Asg_Opr, Assignment_Stmt, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_CPNT_INIT_IDX, ATD_FLD, ATD_POINTER, ATD_TMP_IDX, ATD_TYPE_IDX, ATT_DEFAULT_INITIALIZED, ATT_FIRST_CPNT_IDX, ATT_POINTER_CPNT, BD_LB_FLD, BD_LB_IDX, BD_RANK, Before, Character, CN_Tbl_Idx, CN_TYPE_IDX, expr_semantics_args::constant, COPY_OPND, curr_stmt_sh_idx, FALSE, find_left_attr(), find_opnd_line_and_column(), fold_aggragate_expression(), expr_semantics_args::foldable, FREE_SH_NODE, Func_Entry, Func_Exit, gen_dv_def_loops(), gen_dv_whole_def(), gen_dv_whole_def_init(), gen_init_stmt(), gen_opnd(), gen_sf_dv_whole_def(), gen_sh(), gen_whole_subscript(), gen_whole_substring(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IL_Tbl_Idx, init_exp_desc, Init_Opr, Internal, IR_COL_NUM, IR_COL_NUM_L, IR_COL_NUM_R, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LINE_NUM_R, IR_LIST_CNT_R, IR_OPND_L, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, Mult_Opr, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, PRINTMSG(), process_cpnt_inits(), remove_sh(), SH_IR_IDX, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, SN_ATTR_IDX, SN_SIBLING_LINK, Struct_Opr, Structure, Subscript_Opr, target_array_idx, TRACE, TRUE, TYP_IDX, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, and expr_semantics_args::type_idx.
Referenced by allocate_stmt_semantics(), flatten_function_call(), gen_entry_dope_code(), and process_cpnt_inits().
void process_deferred_functions | ( | opnd_type * | opnd | ) |
Definition at line 4841 of file s_utils.c.
References After, Before, COPY_OPND, curr_stmt_sh_idx, find_opnd_line_and_column(), Func_Entry, Func_Exit, IL_FLD, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, insert_sh_chain(), Internal, IR_COL_NUM, IR_FLD_L, IR_FLD_R, IR_LINE_NUM, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, NO_Tbl_Idx, NULL, NULL_IDX, null_opnd, OPND_FLD, OPND_IDX, PRINTMSG(), process_deferred_functions(), SH_IR_IDX, SH_NEXT_IDX, SH_PREV_IDX, SH_Tbl_Idx, STMT_EXPAND_AFTER_END_SH, STMT_EXPAND_AFTER_START_SH, STMT_EXPAND_BEFORE_END_SH, STMT_EXPAND_BEFORE_START_SH, Stmt_Expansion_Opr, and TRACE.
Referenced by assignment_stmt_semantics(), do_stmt_semantics(), expand_imp_do(), expand_io_list(), expand_stmts(), gen_loop_end_ir(), interpret_constructor(), process_deferred_functions(), select_stmt_semantics(), short_circuit_branch(), and short_circuit_high_level_if().
static int put_c_str_in_cn | ( | char * | ch_ptr | ) | [static] |
Definition at line 10051 of file s_utils.c.
References C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, Character, CHARACTER_DEFAULT_TYPE, CLEAR_TBL_NTRY, CN_Tbl_Idx, Const_Len_Char, Default_Typed, Func_Entry, Func_Exit, MAX_FILE_NAME_SIZE, ntr_const_tbl(), ntr_type_tbl(), NULL, strcpy, TRACE, TRUE, two_word_fcd, TYP_BIT_LEN, TYP_CHAR_CLASS, TYP_DESC, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, TYP_WORK_IDX, type_tbl, and Typeless.
Referenced by gen_bounds_check_call(), gen_ptr_chk_call(), gen_rbounds_check_call(), gen_sbounds_check_call(), and put_file_name_in_cn().
static int put_file_name_in_cn | ( | int | line | ) | [static] |
Definition at line 10004 of file s_utils.c.
References Func_Entry, Func_Exit, global_to_local_file(), idx, MAX_FILE_NAME_SIZE, name, NULL, put_c_str_in_cn(), strcpy, and TRACE.
Referenced by gen_bounds_check_call(), gen_conform_check_call(), gen_ptr_chk_call(), gen_rbounds_check_call(), and gen_sbounds_check_call().
static void reshape_reference_subscripts | ( | opnd_type * | result_opnd | ) | [static] |
Definition at line 10437 of file s_utils.c.
References ATD_RESHAPE_ARRAY_OPT, COPY_OPND, copy_subtree(), find_base_attr(), Func_Entry, Func_Exit, gen_opnd(), IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, IR_COL_NUM, IR_IDX_R, IR_LINE_NUM, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, NULL, NULL_IDX, OPND_FLD, OPND_IDX, Section_Subscript_Opr, Subscript_Opr, TRACE, and Whole_Subscript_Opr.
Referenced by dim_reshape_pass_driver().
boolean resolve_ext_opr | ( | opnd_type * | opnd, |
boolean | issue_msg, | ||
boolean | save_in_call_list, | ||
boolean | err_res, | ||
boolean * | semantically_correct, | ||
expr_arg_type * | exp_desc_l, | ||
expr_arg_type * | exp_desc_r | ||
) |
Definition at line 107 of file s_utils.c.
References ADD_ATTR_TO_LOCAL_LIST, expr_semantics_args::allocatable, Aloc_Opr, Ansi, arg_info_list, arg_info_list_base, arg_info_list_size, arg_info_list_top, arg_list_size, Asg_Opr, Assumed_Shape, expr_semantics_args::assumed_shape, Assumed_Size, expr_semantics_args::assumed_size, AT_DCL_ERR, AT_MODULE_IDX, AT_NAME_LEN, AT_NOT_VISIBLE, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_REFERENCED, AT_Tbl_Idx, ATD_ALLOCATABLE, ATD_ARRAY_IDX, ATD_IGNORE_TKR, ATD_IM_A_DOPE, ATD_INTENT, ATD_POINTER, ATD_PURE, ATD_TARGET, ATD_TYPE_IDX, ATI_FIRST_SPECIFIC_IDX, ATI_NUM_SPECIFICS, ATP_ARGCHCK_CALL, ATP_ELEMENTAL, ATP_EXTRA_DARG, ATP_FIRST_IDX, ATP_NUM_DARGS, ATP_PGM_UNIT, ATP_PROC, ATP_PURE, ATP_RECURSIVE, ATP_RSLT_IDX, ATP_RSLT_NAME, ATP_SCP_ALIVE, ATP_SCP_IDX, ATP_VFUNCTION, BD_ARRAY_CLASS, BD_RANK, Call_Opr, expr_semantics_args::char_len, Character, cif_call_site_rec(), cif_flags, CIF_No_Usage_Rec, cif_object_rec_for_func_result(), CIF_Symbol_Defined_Opr_Actual_Arg, CIF_Symbol_Reference, cif_usage_rec(), cmd_line_flags, Comment, compare_derived_types(), expr_semantics_args::contig_array, COPY_OPND, create_argchck_descriptor(), CRI_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, Data_Obj, Data_Stmt_Target_Expr, defer_stmt_expansion, Defined_Bin_Opr, Defined_Un_Opr, expr_semantics_args::dope_vector, Dummy_Proc, arg_strct::ed, enlarge_call_list_tables(), enlarge_info_list_table(), Error, EXIT, expr_mode, FALSE, False_Parm_Opr, final_arg_work(), find_base_attr(), find_left_attr(), find_opnd_line_and_column(), Func_Entry, Func_Exit, Function, get_basic_type_str(), get_char_len(), get_shape_from_attr(), idx, IL_ARG_DESC_IDX, IL_ARG_DESC_VARIANT, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, in_call_list, init_arg_info, init_exp_desc, Intent_Inout, Intent_Out, Interface, Intrin_Proc, IR_COL_NUM, IR_COL_NUM_L, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LIST_CNT_R, IR_OPND_L, IR_OPND_R, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, len, expr_semantics_args::linear_type, Long_Typeless, max_call_list_size, arg_strct::maybe_modified, MISC_RECS, no_func_expansion, NO_Tbl_Idx, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, Null_Intrinsic_Opr, number_of_functions, on_off_flags, OPND_FLD, OPND_IDX, opr_to_str(), Pgm_Unit, expr_semantics_args::pointer, PRINTMSG(), expr_semantics_args::rank, on_off_flags_entry::recursive, expr_semantics_args::reference, Referenced, Restricted_Imp_Do_Expr, cmd_line_flags_entry::runtime_arg_call, cmd_line_flags_entry::runtime_argument, SCP_ATTR_IDX, SCP_HAS_CALLS, set_shape_for_deferred_funcs(), SN_ATTR_IDX, SN_SIBLING_LINK, Specification_Expr, srch_host_sym_tbl(), srch_sym_tbl(), stmt_expansion_control_end(), stmt_expansion_control_start(), Stmt_Func_Expr, strcpy, Struct_Opr, Structure, expr_semantics_args::target, expr_semantics_args::tmp_reference, TRACE, TRUE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, TYPELESS_DEFAULT_TYPE, within_forall_construct, within_forall_mask_expr, XREF_RECS, and xref_state.
Referenced by and_opr_handler(), assignment_stmt_semantics(), concat_opr_handler(), defined_bin_opr_handler(), defined_un_opr_handler(), eq_opr_handler(), lg_opr_handler(), lt_opr_handler(), minus_opr_handler(), mult_opr_handler(), not_opr_handler(), plus_opr_handler(), power_opr_handler(), and uplus_opr_handler().
void runtime_ptr_chk_driver | ( | void | ) |
Definition at line 11306 of file s_utils.c.
References curr_scp_idx, curr_stmt_sh_idx, Func_Entry, Func_Exit, gen_opnd(), IR_Tbl_Idx, NULL, NULL_IDX, PRINT_IR_TBL4, scan_for_ptr_chk(), SCP_FIRST_SH_IDX, SH_COL_NUM, SH_GLB_LINE, SH_IR_IDX, SH_NEXT_IDX, and TRACE.
Referenced by cvrt_proc_to_pdg().
void scan_for_ptr_chk | ( | opnd_type * | top_opnd | ) |
Definition at line 11247 of file s_utils.c.
References COPY_OPND, Dv_Deref_Opr, Func_Entry, Func_Exit, gen_runtime_ptr_chk(), IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, NULL, OPND_FLD, OPND_IDX, scan_for_ptr_chk(), and TRACE.
Referenced by runtime_ptr_chk_driver(), and scan_for_ptr_chk().
void set_shape_for_deferred_funcs | ( | expr_arg_type * | exp_desc, |
int | call_idx | ||
) |
Definition at line 6173 of file s_utils.c.
References arg_info_list, Assumed_Shape, Assumed_Size, Assumed_Size_Char, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_FLD, ATD_SF_ARG_IDX, ATD_SF_DARG, ATD_SF_LINK, ATD_TMP_IDX, ATD_TYPE_IDX, ATP_EXTRA_DARG, ATP_FIRST_IDX, ATP_RSLT_IDX, BD_ARRAY_CLASS, BD_ARRAY_SIZE, BD_LB_FLD, BD_LB_IDX, BD_RANK, BD_UB_FLD, BD_UB_IDX, CG_INTEGER_DEFAULT_TYPE, expr_semantics_args::char_len, Character, CIF_No_Usage_Rec, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, Const_Len_Char, Constant_Size, COPY_OPND, copy_subtree(), Deferred_Shape, Dv_Access_Extent, Explicit_Shape, expr_semantics(), FALSE, opnd_entry::fld, expr_semantics_args::foldable, Func_Entry, Func_Exit, get_shape_from_attr(), opnd_entry::idx, IL_ARG_DESC_IDX, IL_NEXT_LIST_IDX, IL_OPND, Internal, IR_COL_NUM, IR_COL_NUM_L, IR_COL_NUM_R, IR_DV_DIM, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LINE_NUM_R, IR_LIST_CNT_R, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Minus_Opr, NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, Plus_Opr, PRINTMSG(), expr_semantics_args::rank, SA_INTEGER_DEFAULT_TYPE, expr_semantics_args::shape, SHAPE_FOLDABLE, SHAPE_WILL_FOLD_LATER, SN_ATTR_IDX, TRACE, TRUE, TYP_CHAR_CLASS, TYP_FLD, TYP_IDX, TYP_ORIG_LEN_IDX, TYP_TYPE, Var_Len_Array, Whole_Subscript_Opr, Whole_Substring_Opr, expr_semantics_args::will_fold_later, and xref_state.
Referenced by call_list_semantics(), and resolve_ext_opr().
void set_up_exp_desc | ( | opnd_type * | top_opnd, |
expr_arg_type * | exp_desc | ||
) |
Definition at line 10278 of file s_utils.c.
References AT_OBJ_CLASS, AT_Tbl_Idx, ATD_TYPE_IDX, CN_Tbl_Idx, CN_TYPE_IDX, Data_Obj, find_opnd_line_and_column(), Func_Entry, Func_Exit, init_exp_desc, Internal, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, NULL, OPND_FLD, OPND_IDX, PRINTMSG(), expr_semantics_args::rank, TRACE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, and expr_semantics_args::type_idx.
Referenced by change_section_to_do().
int set_up_logical_constant | ( | long_type * | the_constant, |
int | type_idx, | ||
int | value, | ||
boolean | enter_con | ||
) |
Definition at line 8626 of file s_utils.c.
References FALSE, Func_Entry, Func_Exit, Logical_8, ntr_const_tbl(), NULL, NULL_IDX, TRACE, and TYP_LINEAR.
Referenced by convert_const(), copy_sbtree(), eoshift_intrinsic(), eq_opr_handler(), f90_character_compare(), folder_driver(), index_intrinsic(), insert_argchck_calls(), lt_opr_handler(), and short_circuit_high_level_if().
void short_circuit_branch | ( | void | ) |
Definition at line 4993 of file s_utils.c.
References After, And_Opr, Assignment_Stmt, AT_DEFINED, AT_REFERENCED, AT_Tbl_Idx, ATL_DEF_STMT_IDX, Before, Br_True_Opr, Continue_Stmt, COPY_OPND, curr_stmt_sh_idx, EXIT, FALSE, find_opnd_line_and_column(), Func_Entry, Func_Exit, GEN_COMPILER_TMP_ASG, gen_internal_lbl(), gen_sh(), If_Stmt, IL_OPND, IL_Tbl_Idx, IR_COL_NUM, IR_COL_NUM_L, IR_COL_NUM_R, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LINE_NUM_R, IR_OPND_L, IR_OPND_R, IR_OPR, IR_SHORT_CIRCUIT_L, IR_SHORT_CIRCUIT_R, IR_Tbl_Idx, IR_TYPE_IDX, Label_Opr, LOGICAL_DEFAULT_TYPE, Not_Opr, NTR_IR_TBL, NULL, OPND_FLD, OPND_IDX, Or_Opr, Paren_Opr, Priv, process_deferred_functions(), Referenced, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, short_circuit_branch(), stmt_start_line, TRACE, tree_produces_dealloc(), TRUE, and TYPELESS_DEFAULT_TYPE.
Referenced by else_stmt_semantics(), if_stmt_semantics(), and short_circuit_branch().
long64 sm_unit_in_bits | ( | int | type_idx | ) |
Definition at line 11486 of file s_utils.c.
References ATT_STRUCT_BIT_LEN_FLD, ATT_STRUCT_BIT_LEN_IDX, Character, CN_INT_TO_C, CN_Tbl_Idx, Complex, CRI_Ch_Ptr, CRI_Ptr, Func_Entry, Func_Exit, Integer, Internal, Logical, NULL, PRINTMSG(), Real, stmt_start_col, stmt_start_line, storage_bit_size_tbl, stride_mult_unit_in_bits, Structure, TRACE, TYP_BIT_LEN, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, and Typeless.
Referenced by gen_dv_stride_mult(), gen_init_stmt(), and interpret_ref().
void transform_char_sequence_ref | ( | opnd_type * | top_opnd, |
int | type_idx | ||
) |
Definition at line 6806 of file s_utils.c.
References add_substring_length(), ADD_TMP_TO_SHARED_LIST, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_TYPE_IDX, ATT_CHAR_SEQ, ATT_FIRST_CPNT_IDX, ATT_STRUCT_BIT_LEN_FLD, ATT_STRUCT_BIT_LEN_IDX, BD_LB_FLD, BD_LB_IDX, BD_RANK, Character, CHARACTER_DEFAULT_TYPE, CLEAR_TBL_NTRY, CN_INTEGER_CHAR_BIT_IDX, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, Const_Len_Char, size_offset_entry::constant, COPY_OPND, Default_Typed, Div_Opr, Dv_Deref_Opr, EXIT, FALSE, find_opnd_line_and_column(), size_offset_entry::fld, Func_Entry, Func_Exit, size_offset_entry::idx, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, Internal, IR_COL_NUM, IR_COL_NUM_R, IR_FLD_R, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_R, IR_LIST_CNT_R, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, NO_Tbl_Idx, ntr_const_tbl(), NTR_IR_LIST_TBL, NTR_IR_TBL, ntr_type_tbl(), NULL, NULL_IDX, OPND_FLD, OPND_IDX, print_ir(), PRINTMSG(), Section_Subscript_Opr, SH_Tbl_Idx, size_offset_binary_calc(), SN_ATTR_IDX, Struct_Opr, Structure, Subscript_Opr, Substring_Opr, TRACE, transform_char_sequence_ref(), TYP_CHAR_CLASS, TYP_DESC, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, TYP_WORK_IDX, size_offset_entry::type_idx, type_tbl, and Whole_Subscript_Opr.
Referenced by assignment_stmt_semantics(), create_scalar_type_tbl(), create_strct_tbl(), create_tmp_asg(), dope_vector_setup(), final_arg_work(), flatten_function_call(), gen_dv_whole_def(), gen_sf_dv_whole_def(), namelist_static_dv_whole_def(), optimize_reshape(), and transform_char_sequence_ref().
boolean tree_produces_dealloc | ( | opnd_type * | root | ) |
Definition at line 5309 of file s_utils.c.
References Adjustl_Opr, Adjustr_Opr, Array_Construct_Opr, COPY_OPND, EXIT, FALSE, Func_Entry, Func_Exit, IL_FLD, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, IR_FLD_L, IR_FLD_R, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, NULL, NULL_IDX, OPND_FLD, OPND_IDX, OPND_LIST_CNT, STMT_EXPAND_AFTER_START_SH, Stmt_Expansion_Opr, TRACE, tree_produces_dealloc(), and TRUE.
Referenced by do_stmt_semantics(), gen_loop_end_ir(), select_stmt_semantics(), short_circuit_branch(), short_circuit_high_level_if(), and tree_produces_dealloc().
boolean validate_char_len | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) |
Definition at line 8686 of file s_utils.c.
References Assignment_Stmt, AT_Tbl_Idx, Before, expr_semantics_args::char_len, Character, CHARACTER_DEFAULT_TYPE, CIF_No_Usage_Rec, CLEAR_TBL_NTRY, CN_Tbl_Idx, Concat_Opr, Const_Len_Char, expr_semantics_args::constant, COPY_OPND, curr_stmt_sh_idx, expr_semantics(), FALSE, find_opnd_line_and_column(), opnd_entry::fld, Func_Entry, Func_Exit, GEN_COMPILER_TMP_ASG, gen_sh(), get_concat_len(), opnd_entry::idx, Internal, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, NO_Tbl_Idx, ntr_type_tbl(), NULL, OPND_FLD, OPND_IDX, PRINTMSG(), Priv, expr_semantics_args::rank, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, stmt_start_col, stmt_start_line, Substring_Opr, TRACE, TRUE, TYP_CHAR_CLASS, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_ORIG_LEN_IDX, TYP_TYPE, TYP_WORK_IDX, expr_semantics_args::type, expr_semantics_args::type_idx, type_tbl, Var_Len_Char, Whole_Substring_Opr, and xref_state.
Referenced by compare_darg_to_actual_arg(), create_tmp_asg(), final_arg_work(), gen_bd_entry(), select_stmt_semantics(), and stmt_func_call_opr_handler().