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 "debug.m"
#include "s_globals.m"
#include "globals.h"
#include "tokens.h"
#include "sytb.h"
#include "s_globals.h"
#include "s_data.h"
Go to the source code of this file.
static void adjust_char_value_len | ( | int | init_ir_idx, |
int | array_ir_idx, | ||
long64 | section_start_value, | ||
long64 | section_inc_value | ||
) | [static] |
Definition at line 4599 of file s_data.c.
References After, AT_REFERENCED, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_LCV_IS_CONST, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, Character, CHARACTER_DEFAULT_TYPE, CLEAR_TBL_NTRY, CN_CONST, CN_INT_TO_C, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, CN_TYPE_IDX, Const_Len_Char, COPY_OPND, copy_subtree(), curr_scp_idx, curr_stmt_sh_idx, Data_Stmt, EXIT, FALSE, Func_Entry, Func_Exit, gen_compiler_tmp(), gen_opnd(), gen_sh(), 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, Init_Opr, INTEGER_DEFAULT_TYPE, 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_L, IR_LIST_CNT_R, IR_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Not_Referenced, ntr_const_tbl(), NTR_IR_LIST_TBL, NTR_IR_TBL, ntr_type_tbl(), NULL, NULL_IDX, OPND_IDX, Priv, Rep_Count_Opr, SCP_SB_STACK_IDX, SH_IR_IDX, stmt_start_col, stmt_start_line, Subscript_Opr, Substring_Opr, TRACE, TRUE, TYP_CHAR_CLASS, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, TYP_WORK_IDX, type_tbl, and TYPELESS_DEFAULT_TYPE.
Referenced by data_stmt_semantics().
static void build_loop_tbl | ( | int | imp_do_idx, |
boolean | compiler_gen_imp_do | ||
) | [static] |
Definition at line 2664 of file s_data.c.
References Ansi, arg_info_list, arg_info_list_base, arg_info_list_size, arg_info_list_top, AT_ATTR_LINK, AT_IGNORE_ATTR_LINK, AT_NAME_IDX, AT_NAME_LEN, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_REFERENCED, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_IMP_DO_LCV, ATD_LCV_IS_CONST, ATD_STOR_BLK_IDX, ATD_TMP_NEEDS_CIF, ATD_TYPE_IDX, cast_typeless_constant(), cif_flags, CIF_No_Usage_Rec, CIF_Symbol_Modification, CIF_Symbol_Reference, cif_usage_rec(), CN_INT_TO_C, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, COPY_OPND, curr_parent_idx, curr_scp_idx, curr_stmt_sh_idx, loop_tbl_entry::curr_value, Data_Obj, Dv_Deref_Opr, arg_strct::ed, loop_tbl_entry::end_expr_desc_idx, loop_tbl_entry::end_fld, loop_tbl_entry::end_idx, loop_tbl_entry::end_value, enlarge_info_list_table(), Eq_Opr, Error, EXIT, expr_mode, expr_sem(), expr_semantics(), FALSE, find_base_attr(), find_opnd_line_and_column(), fold_relationals(), Func_Entry, Func_Exit, gen_compiler_tmp(), good_data_imp_do_expr(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, Implied_Do_Opr, in_implied_do, loop_tbl_entry::inc_expr_desc_idx, loop_tbl_entry::inc_fld, loop_tbl_entry::inc_idx, loop_tbl_entry::inc_value, init_arg_info, Integer, INTEGER_DEFAULT_TYPE, Internal, IR_COL_NUM, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LIST_CNT_R, IR_OPND_L, IR_OPR, IR_Tbl_Idx, last_lt_idx, loop_tbl_entry::lcv_idx, expr_semantics_args::linear_type, loop_tbl, LOOP_TBL_SIZE, lt_idx, Not_Referenced, NTR_IR_LIST_TBL, NULL, NULL_IDX, loop_tbl_entry::num_targets, object_semantics(), loop_tbl_entry::offspring_idx, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, loop_tbl_entry::parent_idx, PRINTMSG(), Priv, expr_semantics_args::rank, expr_semantics_args::reference, Regular_Expr, Restricted_Imp_Do_Expr, Restricted_Imp_Do_Target, SCP_SB_STACK_IDX, SH_ERR_FLG, Short_Typeless_Const, loop_tbl_entry::sibling_idx, loop_tbl_entry::start_expr_desc_idx, loop_tbl_entry::start_fld, loop_tbl_entry::start_idx, loop_tbl_entry::start_value, Struct_Opr, Subscript_Opr, Substring_Opr, loop_tbl_entry::target_list, TRACE, TRUE, expr_semantics_args::type, expr_semantics_args::type_idx, Whole_Subscript_Opr, Whole_Substring_Opr, XREF_RECS, and xref_state.
Referenced by data_imp_do_semantics().
static boolean check_target_and_value | ( | int | attr_idx, |
int | init_ir_idx | ||
) | [static] |
Definition at line 4459 of file s_data.c.
References Ansi, AT_OBJ_NAME_PTR, ATD_POINTER, ATD_TYPE_IDX, cast_typeless_constant(), Character, check_asg_semantics(), CN_BOZ_CONSTANT, CN_CONST, CRI_Ch_Ptr, CRI_Parcel_Ptr, CRI_Ptr, Cvrt_Opr, Error, EXIT, FALSE, find_opnd_line_and_column(), folder_driver(), Func_Entry, Func_Exit, Integer, IR_OPR, IR_Tbl_Idx, expr_semantics_args::linear_type, Long_Typeless, ntr_const_tbl(), NULL, NULL_IDX, Null_Intrinsic_Opr, Null_Opr, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, PRINTMSG(), result, Short_Typeless_Const, TRACE, TRUE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, value_desc, and value_opnd.
Referenced by data_stmt_semantics(), optimize_whole_array_init(), and process_data_imp_do_target().
void constant_value_semantics | ( | opnd_type * | opnd, |
int | uopr_ir_idx | ||
) |
Definition at line 5396 of file s_data.c.
References Ansi, AT_IS_INTRIN, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_Tbl_Idx, ATD_CLASS, ATD_FLD, ATD_PARENT_OBJECT, Call_Opr, CIF_Symbol_Reference, CN_BOOLEAN_CONSTANT, CN_BOZ_CONSTANT, CN_Tbl_Idx, CN_TYPE_IDX, comp_gen_expr, Compiler_Tmp, expr_semantics_args::constant, COPY_OPND, Data_Obj, Error, expr_mode, expr_semantics(), FALSE, find_opnd_line_and_column(), Func_Entry, Func_Exit, Initialization_Expr, Integer, IR_COL_NUM, IR_FLD_L, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, NULL, NULL_IDX, null_opnd, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, Paren_Opr, PRINTMSG(), expr_semantics_args::rank, Real, TRACE, TRUE, TYP_TYPE, and xref_state.
Referenced by parse_initializer().
static void data_imp_do_semantics | ( | int | init_ir_idx, |
int | imp_do_idx, | ||
boolean | compiler_gen_imp_do, | ||
boolean * | metamorphed | ||
) | [static] |
Definition at line 2480 of file s_data.c.
References arg_info_list_base, arg_info_list_top, cdir_switch_entry::bounds, build_loop_tbl(), C_INT_TO_CN, cdir_switches, CG_INTEGER_DEFAULT_TYPE, CN_INT_TO_C, COPY_OPND, COPY_TBL_NTRY, curr_parent_idx, curr_stmt_sh_idx, EXIT, FALSE, Func_Entry, Func_Exit, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, imp_do_metamorphed(), interpret_data_imp_do(), IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LIST_CNT_R, IR_OPND_R, ir_tbl, IR_Tbl_Idx, IR_TYPE_IDX, last_lt_idx, lt_idx, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, obj_il_idx, rep_factor, SH_ERR_FLG, TRACE, TRUE, TYPELESS_DEFAULT_TYPE, value_il_idx, and value_opnd.
Referenced by data_stmt_semantics().
void data_repeat_semantics | ( | int | repeat_ir_idx | ) |
Definition at line 5276 of file s_data.c.
References AT_OBJ_CLASS, AT_Tbl_Idx, ATD_PARENT_OBJECT, cast_typeless_constant(), CIF_Symbol_Reference, CN_Tbl_Idx, COPY_OPND, Data_Obj, Error, expr_mode, expr_semantics(), FALSE, find_opnd_line_and_column(), Func_Entry, Func_Exit, Initialization_Expr, Integer, INTEGER_DEFAULT_TYPE, IR_FLD_L, IR_IDX_L, IR_OPND_L, IR_OPR, IR_Tbl_Idx, expr_semantics_args::linear_type, Long_Typeless, NULL, NULL_IDX, OPND_FLD, OPND_IDX, Paren_Opr, PRINTMSG(), expr_semantics_args::rank, Short_Typeless_Const, TRACE, TRUE, expr_semantics_args::type, Typeless, and xref_state.
Referenced by parse_initializer().
void data_stmt_semantics | ( | void | ) |
Definition at line 673 of file s_data.c.
References adjust_char_value_len(), After, Ansi, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_TYPE_IDX, BD_LEN_IDX, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, Character, check_target_and_value(), CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, compare_cn_and_value(), size_offset_entry::constant, COPY_OPND, curr_stmt_sh_idx, data_imp_do_semantics(), Data_Stmt, Data_Stmt_Target, Eq_Opr, Error, EXIT, FALSE, find_opnd_line_and_column(), size_offset_entry::fld, Func_Entry, Func_Exit, gen_section_ref(), 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, IL_VECTOR_SUBSCRIPT, Implied_Do_Opr, Init_Opr, init_whole_array(), 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, Mult_Opr, NO_Tbl_Idx, ntr_const_tbl(), NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, null_opnd, obj_count, obj_il_idx, object_semantics(), OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, expr_semantics_args::pointer, PRINTMSG(), expr_semantics_args::rank, rep_factor, section_semantics(), Section_Subscript_Opr, set_global_value_variables(), SH_ERR_FLG, SH_IR_IDX, size_offset_binary_calc(), stmt_start_col, stmt_start_line, stor_bit_size_of(), Struct_Opr, TRACE, TRUE, TYP_TYPE, size_offset_entry::type_idx, TYPELESS_DEFAULT_TYPE, value_il_idx, value_opnd, vv_subscript_semantics(), and Whole_Subscript_Opr.
static void fold_all_subscripts | ( | opnd_type * | opnd | ) | [static] |
Definition at line 5094 of file s_data.c.
References AT_Tbl_Idx, ATD_ARRAY_IDX, BD_LB_IDX, BD_UB_IDX, COPY_OPND, Error, EXIT, fold_aggragate_expression(), fold_relationals(), Func_Entry, Func_Exit, Gt_Opr, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PE_SUBSCRIPT, init_exp_desc, Integer, INTEGER_DEFAULT_TYPE, Internal, IR_COL_NUM, IR_FLD_L, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LIST_CNT_R, IR_OPND_L, IR_OPR, IR_Tbl_Idx, expr_semantics_args::linear_type, Lt_Opr, NULL, OPND_FLD, OPND_IDX, PRINTMSG(), Struct_Opr, Subscript_Opr, Substring_Opr, TRACE, TRUE, expr_semantics_args::type, expr_semantics_args::type_idx, and Whole_Substring_Opr.
Referenced by object_semantics().
static void gen_section_ref | ( | int | section_sub_ir_idx, |
long64 | value_count, | ||
int | first_triplet_idx, | ||
int | root_ir_idx, | ||
int | init_ir_idx, | ||
long64 * | dup_count, | ||
long64 * | section_start_value, | ||
long64 * | section_inc_value | ||
) | [static] |
Definition at line 1913 of file s_data.c.
References C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, CN_Tbl_Idx, copy_subtree(), loop_tbl_entry::curr_value, loop_tbl_entry::end_value, Func_Entry, Func_Exit, gen_opnd(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IL_Tbl_Idx, loop_tbl_entry::inc_value, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LIST_CNT_R, IR_OPR, IR_RANK, IR_Tbl_Idx, loop_tbl, lt_idx, NTR_IR_LIST_TBL, NULL, NULL_IDX, obj_count, OPND_IDX, Section_Subscript_Opr, loop_tbl_entry::sibling_idx, loop_tbl_entry::start_value, stmt_start_col, stmt_start_line, Subscript_Opr, and TRACE.
Referenced by data_stmt_semantics().
static boolean good_data_imp_do_expr | ( | int | ir_idx | ) | [static] |
Definition at line 3302 of file s_data.c.
References Cvrt_Opr, Cvrt_Unsigned_Opr, Div_Opr, Error, FALSE, Func_Entry, Func_Exit, Internal, IR_COL_NUM, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_OPR, IR_Tbl_Idx, Minus_Opr, Mult_Opr, NULL, Paren_Opr, Plus_Opr, Power_Opr, PRINTMSG(), result, Struct_Opr, Subscript_Opr, TRACE, TRUE, Uminus_Opr, and Uplus_Opr.
Referenced by build_loop_tbl().
static boolean imp_do_metamorphed | ( | int | init_ir_idx | ) | [static] |
Definition at line 3463 of file s_data.c.
References AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_TYPE_IDX, BD_LB_IDX, BD_UB_IDX, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, Character, CN_CONST, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, CN_TYPE_IDX, Complex, Div_Opr, loop_tbl_entry::end_idx, Eq_Opr, EXIT, expr_semantics(), FALSE, fold_relationals(), folder_driver(), 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, loop_tbl_entry::inc_idx, Integer, INTEGER_DEFAULT_TYPE, 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_L, IR_LIST_CNT_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, last_lt_idx, loop_tbl_entry::lcv_idx, Logical, Long_Typeless, loop_tbl, Minus_Opr, Mult_Opr, Ne_Opr, NO_Tbl_Idx, Note, ntr_const_tbl(), NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, Plus_Opr, PRINTMSG(), Real, Rep_Count_Opr, result_value, loop_tbl_entry::start_idx, stmt_start_col, stmt_start_line, Subscript_Opr, TRACE, Triplet_Opr, TRUE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type_idx, TYPELESS_DEFAULT_TYPE, and value_il_idx.
Referenced by data_imp_do_semantics().
static boolean init_whole_array | ( | int | whole_sub_ir_idx, |
long64 * | dup_count, | ||
int | root_ir_idx, | ||
int | init_ir_idx, | ||
boolean * | optimized | ||
) | [static] |
Definition at line 126 of file s_data.c.
References AT_DEF_COLUMN, AT_DEF_LINE, AT_DEFINED, AT_OBJ_NAME_PTR, AT_REFERENCED, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_CLASS, ATD_CPNT_OFFSET_IDX, ATD_DATA_INIT, ATD_EQUIV, ATD_FLD, ATD_OFFSET_ASSIGNED, ATD_OFFSET_FLD, ATD_OFFSET_IDX, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATD_VARIABLE_TMP_IDX, 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, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, Character, CN_INT_TO_C, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, CN_TYPE_IDX, Compiler_Tmp, size_offset_entry::constant, Constant_Size, copy_subtree(), COPY_TBL_NTRY, create_equiv_stor_blk(), curr_scp_idx, curr_stmt_sh_idx, EQ_ATTR_IDX, EQ_NEXT_EQUIV_GRP, EQ_NEXT_EQUIV_OBJ, EQ_OFFSET_FLD, EQ_OFFSET_IDX, equiv_tbl, Error, EXIT, Explicit_Shape, FALSE, size_offset_entry::fld, FOUND, Func_Entry, Func_Exit, gen_compiler_tmp(), gen_opnd(), size_offset_entry::idx, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_LIST_CNT, IL_NEXT_LIST_IDX, IL_Tbl_Idx, Integer, INTEGER_DEFAULT_TYPE, Internal, IR_COL_NUM_L, IR_FLD_L, IR_IDX_L, IR_IDX_R, IR_LINE_NUM_L, IR_LIST_CNT_R, IR_OPR, IR_RANK, IR_Tbl_Idx, NO_Tbl_Idx, ntr_array_in_bd_tbl(), ntr_const_tbl(), NTR_EQ_TBL, NTR_IR_LIST_TBL, NULL, NULL_IDX, obj_count, OPND_COL_NUM, OPND_IDX, OPND_LINE_NUM, optimize_whole_array_init(), Plus_Opr, PRINTMSG(), Real, REAL_DEFAULT_TYPE, Referenced, reserve_array_ntry(), result, SB_BLK_TYPE, SB_HOSTED_STATIC, SB_IS_COMMON, SB_MODULE, SCP_FIRST_EQUIV_GRP, SH_ERR_FLG, Shared, size_offset_binary_calc(), stmt_start_col, stmt_start_line, storage_bit_size_tbl, Struct_Component, Structure, Subscript_Opr, TRACE, TRUE, TYP_BIT_LEN, TYP_IDX, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, size_offset_entry::type_idx, expr_semantics_args::type_idx, Typeless, value_desc, value_opnd, and Whole_Subscript_Opr.
Referenced by data_stmt_semantics().
static void interpret_data_imp_do | ( | int | init_ir_idx | ) | [static] |
Definition at line 3894 of file s_data.c.
References arg_info_list, AT_Tbl_Idx, ATD_FLD, ATD_TMP_IDX, ATD_TYPE_IDX, C_TO_F_INT, CN_CONST, CN_INT_TO_C, CN_Tbl_Idx, curr_stmt_sh_idx, loop_tbl_entry::curr_value, arg_strct::ed, loop_tbl_entry::end_expr_desc_idx, loop_tbl_entry::end_idx, loop_tbl_entry::end_value, EXIT, FALSE, fold_aggragate_expression(), Func_Entry, Func_Exit, GET_LCV_CONST, IL_IDX, IL_NEXT_LIST_IDX, Implied_Do_Opr, loop_tbl_entry::inc_expr_desc_idx, loop_tbl_entry::inc_idx, loop_tbl_entry::inc_value, IR_OPR, IR_Tbl_Idx, loop_tbl, lt_idx, ntr_const_tbl(), NULL, num_host_wds, loop_tbl_entry::num_targets, loop_tbl_entry::offspring_idx, OPND_FLD, OPND_IDX, loop_tbl_entry::parent_idx, process_data_imp_do_target(), SET_LCV_CONST, SH_ERR_FLG, loop_tbl_entry::sibling_idx, loop_tbl_entry::start_expr_desc_idx, loop_tbl_entry::start_idx, loop_tbl_entry::start_value, loop_tbl_entry::target_list, TRACE, TRUE, and TYP_LINEAR.
Referenced by data_imp_do_semantics().
static void object_semantics | ( | opnd_type * | obj_opnd, |
expr_mode_type | target_expr_mode, | ||
expr_arg_type * | obj_desc, | ||
boolean | fold_subscripts, | ||
boolean | metamorphed | ||
) | [static] |
Definition at line 1250 of file s_data.c.
References Ansi, AT_DCL_ERR, AT_OBJ_NAME_PTR, ATD_EQUIV, ATD_IN_COMMON, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATP_PGM_UNIT, ATT_DEFAULT_INITIALIZED, Blockdata, CIF_No_Usage_Rec, CIF_Symbol_Modification, Common, COPY_OPND, CRI_Ch_Ptr, curr_scp_idx, curr_stmt_sh_idx, Error, EXIT, expr_mode, expr_semantics(), fold_all_subscripts(), Func_Entry, Func_Exit, IR_OPND_L, IR_Tbl_Idx, NULL, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, PRINTMSG(), expr_semantics_args::rank, Regular_Expr, SB_BLANK_COMMON, SB_BLK_TYPE, SB_IS_COMMON, SCP_ATTR_IDX, SH_ERR_FLG, Structure, Task_Common, TRACE, transform_cri_ch_ptr(), TRUE, TYP_IDX, TYP_TYPE, Warning, and xref_state.
Referenced by build_loop_tbl(), and data_stmt_semantics().
static boolean optimize_whole_array_init | ( | int | init_ir_idx | ) | [static] |
Definition at line 2271 of file s_data.c.
References Ansi, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_TYPE_IDX, BD_XT_FLD, BD_XT_IDX, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, check_target_and_value(), check_type_conversion, CN_Tbl_Idx, Constant_Array_Construct_Opr, expr_semantics_args::constructor_size_level, COPY_OPND, create_constructor_constant(), curr_stmt_sh_idx, Error, EXIT, FALSE, opnd_entry::fld, Func_Entry, Func_Exit, opnd_entry::idx, IL_FLD, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IL_Tbl_Idx, init_exp_desc, init_target_opnd, insert_subs_ok, IR_COL_NUM, IR_COL_NUM_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_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, NO_Tbl_Idx, NTR_IR_TBL, NULL, NULL_IDX, null_opnd, obj_count, obj_il_idx, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, PRINTMSG(), expr_semantics_args::rank, remove_sh(), rep_factor, set_global_value_variables(), SH_ERR_FLG, SH_PREV_IDX, expr_semantics_args::shape, Simple_Expr_Size, stmt_start_col, stmt_start_line, Substring_Opr, target_array_idx, target_type_idx, TRACE, TRUE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, value_desc, value_il_idx, value_opnd, and Whole_Substring_Opr.
Referenced by init_whole_array().
static void process_data_imp_do_target | ( | int | init_ir_idx, |
int | target_il_idx, | ||
long64 | num_iterations | ||
) | [static] |
Definition at line 4205 of file s_data.c.
References AT_Tbl_Idx, ATD_TYPE_IDX, Character, check_target_and_value(), CN_HOLLERITH_TYPE, CN_INT_TO_C, CN_Tbl_Idx, CN_TYPE_IDX, curr_stmt_sh_idx, Error, EXIT, FALSE, Func_Entry, Func_Exit, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, Integer, INTEGER_DEFAULT_TYPE, IR_COL_NUM, IR_FLD_L, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LIST_CNT_R, IR_OPR, expr_semantics_args::linear_type, Long_Typeless, loop_tbl, ls_word_len, lt_idx, Not_Hollerith, NULL, NULL_IDX, loop_tbl_entry::num_targets, obj_count, OPND_COL_NUM, OPND_IDX, OPND_LINE_NUM, PRINTMSG(), REAL_DEFAULT_TYPE, rep_factor, Section_Subscript_Opr, set_global_value_variables(), SH_ERR_FLG, storage_bit_size_tbl, Subscript_Opr, Substring_Opr, TRACE, TRUE, TYP_BIT_LEN, TYP_IDX, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, value_desc, value_il_idx, value_opnd, and Whole_Substring_Opr.
Referenced by interpret_data_imp_do().
static void section_semantics | ( | int | section_sub_ir_idx, |
opnd_type * | stride_opnd, | ||
int * | first_triplet_idx | ||
) | [static] |
Definition at line 1557 of file s_data.c.
References ATD_ARRAY_IDX, BD_LB_IDX, BD_UB_IDX, BD_XT_IDX, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, CN_INT_TO_C, CN_Tbl_Idx, COPY_OPND, loop_tbl_entry::curr_value, loop_tbl_entry::end_value, Error, FALSE, find_base_attr(), fold_aggragate_expression(), Func_Entry, Func_Exit, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, loop_tbl_entry::inc_value, init_exp_desc, Integer, INTEGER_DEFAULT_TYPE, Internal, IR_COL_NUM, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LIST_CNT_R, IR_OPND_L, IR_OPR, IR_Tbl_Idx, expr_semantics_args::linear_type, loop_tbl, lt_idx, NO_Tbl_Idx, NULL, NULL_IDX, obj_count, OPND_FLD, OPND_IDX, PRINTMSG(), loop_tbl_entry::sibling_idx, loop_tbl_entry::start_value, TRACE, Triplet_Opr, TRUE, expr_semantics_args::type, and expr_semantics_args::type_idx.
Referenced by data_stmt_semantics().
static void set_global_value_variables | ( | opnd_type * | rep_factor_opnd, |
opnd_type * | dup_cnt_opnd, | ||
int | target_attr_idx | ||
) | [static] |
Definition at line 1406 of file s_data.c.
References AT_OBJ_CLASS, AT_Tbl_Idx, ATD_CLASS, ATD_FLD, ATD_TMP_IDX, ATD_TYPE_IDX, CN_INT_TO_C, CN_Tbl_Idx, CN_TYPE_IDX, Compiler_Tmp, COPY_OPND, Data_Obj, Error, EXIT, Func_Entry, Func_Exit, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, Internal, IR_COL_NUM, IR_LINE_NUM, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, expr_semantics_args::linear_type, NULL, NULL_IDX, Null_Intrinsic_Opr, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, PRINTMSG(), Rep_Count_Opr, rep_factor, TRACE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, value_desc, value_il_idx, and value_opnd.
Referenced by data_stmt_semantics(), optimize_whole_array_init(), and process_data_imp_do_target().
static void vv_subscript_semantics | ( | int | init_ir_idx, |
int | array_ir_idx, | ||
expr_arg_type * | obj_desc | ||
) | [static] |
Definition at line 2055 of file s_data.c.
References AT_REFERENCED, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_LCV_IS_CONST, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, opnd_entry::col_num, COPY_OPND, curr_scp_idx, opnd_entry::fld, fold_aggragate_expression(), Func_Entry, Func_Exit, gen_compiler_tmp(), opnd_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, IL_VECTOR_SUBSCRIPT, Implied_Do_Opr, init_exp_desc, Integer, INTEGER_DEFAULT_TYPE, Internal, 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, opnd_entry::line_num, expr_semantics_args::linear_type, Not_Referenced, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, PRINTMSG(), Priv, SCP_SB_STACK_IDX, expr_semantics_args::shape, TRACE, Triplet_Opr, TRUE, expr_semantics_args::type, expr_semantics_args::type_idx, and TYPELESS_DEFAULT_TYPE.
Referenced by data_stmt_semantics().