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 "fmath.h"
#include "globals.m"
#include "tokens.m"
#include "sytb.m"
#include "s_globals.m"
#include "debug.m"
#include "globals.h"
#include "tokens.h"
#include "sytb.h"
#include "s_globals.h"
Go to the source code of this file.
void allocate_stmt_semantics | ( | void | ) |
Definition at line 123 of file s_ctl_flow.c.
References ADD_ATTR_TO_LOCAL_LIST, After, Alloc_Obj_Opr, Allocate_Attr_Idx, ALLOCATE_LIB_ENTRY, ALLOCATE_NAME_LEN, asg_opnd_to_tmp(), Asg_Opr, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_Tbl_Idx, ATD_ALLOCATABLE, ATD_ARRAY_IDX, ATD_PE_ARRAY_IDX, ATD_PTR_ASSIGNED, ATD_PTR_IDX, ATD_PURE, ATD_TYPE_IDX, ATD_VARIABLE_TMP_IDX, ATP_PURE, ATT_DEFAULT_INITIALIZED, ATT_POINTER_CPNT, BD_LB_IDX, BD_LEN_IDX, BD_RANK, BD_SM_IDX, BD_UB_IDX, BD_XT_IDX, Before, CG_INTEGER_DEFAULT_TYPE, check_stat_variable(), CIF_No_Usage_Rec, CIF_Symbol_Modification, cmp_ref_trees(), CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, COPY_OPND, create_lib_entry_attr(), curr_scp_idx, curr_stmt_sh_idx, Data_Obj, Dv_Access_Base_Addr, Dv_Deref_Opr, Dv_Set_A_Contig, Dv_Set_Extent, Dv_Set_Low_Bound, Dv_Set_Stride_Mult, Error, EXIT, expr_semantics(), FALSE, find_base_attr(), find_left_attr(), find_opnd_line_and_column(), size_offset_entry::fld, Func_Entry, Func_Exit, gen_alloc_header_const(), gen_Dv_Set_stmt(), gen_dv_whole_def_init(), gen_ir(), gen_opnd(), gen_split_alloc(), gen_whole_subscript(), glb_tbl_idx, size_offset_entry::idx, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PE_SUBSCRIPT, IL_PREV_LIST_IDX, IL_Tbl_Idx, Integer_8, 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, Max_Opr, Minus_Opr, Mult_Opr, NO_Tbl_Idx, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, Plus_Opr, PRINTMSG(), process_cpnt_inits(), expr_semantics_args::rank, SA_INTEGER_DEFAULT_TYPE, SCP_ATTR_IDX, set_stride_for_first_dim(), set_up_allocate_as_call(), SH_IR_IDX, stride, Structure, TRACE, TRUE, TYP_IDX, TYP_TYPE, Whole_Subscript_Opr, Whole_Substring_Opr, and xref_state.
void arith_if_stmt_semantics | ( | void | ) |
Definition at line 701 of file s_ctl_flow.c.
References cast_typeless_constant(), CG_INTEGER_DEFAULT_TYPE, chk_for_unlabeled_stmt(), CIF_Symbol_Reference, CN_CONST, COPY_OPND, curr_stmt_sh_idx, Error, expr_semantics(), FALSE, find_opnd_line_and_column(), Func_Entry, Func_Exit, Integer, INTEGER_DEFAULT_TYPE, IR_COL_NUM, IR_IDX_L, IR_LINE_NUM, IR_OPND_L, expr_semantics_args::linear_type, Long_Typeless, ntr_const_tbl(), NULL, PRINTMSG(), expr_semantics_args::rank, Real, SH_IR_IDX, Short_Typeless_Const, TRACE, expr_semantics_args::type, Typeless, and xref_state.
static void asg_opnd_to_tmp | ( | int | tmp_idx, |
opnd_type * | opnd, | ||
int | line, | ||
int | col, | ||
sh_position_type | position | ||
) | [static] |
Definition at line 8888 of file s_ctl_flow.c.
References Asg_Opr, Assignment_Stmt, AT_Tbl_Idx, ATD_TYPE_IDX, Before, COPY_OPND, curr_stmt_sh_idx, FALSE, Func_Entry, Func_Exit, gen_sh(), 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_TYPE_IDX, NTR_IR_TBL, NULL, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, TRACE, and TRUE.
Referenced by allocate_stmt_semantics().
void assign_stmt_semantics | ( | void | ) |
Definition at line 799 of file s_ctl_flow.c.
References Aloc_Opr, Asg_Opr, AT_DCL_ERR, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ASSIGN_TMP_IDX, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATL_CLASS, ATL_EXECUTABLE, ATL_FORMAT_TMP, ATL_IN_ASSIGN_LBL_CHAIN, ATL_NEXT_ASG_LBL_IDX, check_for_legal_define(), CIF_Symbol_Reference, CN_Tbl_Idx, COPY_OPND, CRI_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, Data_Obj, Error, expr_semantics(), find_opnd_line_and_column(), Func_Entry, Func_Exit, gen_compiler_tmp(), Integer_8, 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_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Lbl_Format, expr_semantics_args::linear_type, NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, PRINTMSG(), expr_semantics_args::rank, SA_INTEGER_DEFAULT_TYPE, SCP_ASSIGN_LBL_CHAIN, SCP_SB_STACK_IDX, SH_IR_IDX, Shared, stmt_start_col, stmt_start_line, storage_bit_size_tbl, TRACE, TRUE, TYP_LINEAR, and xref_state.
static int calculate_iteration_count | ( | int | do_sh_idx, |
int | start_idx, | ||
int | end_idx, | ||
int | inc_idx, | ||
int | do_var_idx | ||
) | [static] |
Definition at line 6801 of file s_ctl_flow.c.
References ATD_TYPE_IDX, C_INT_TO_CN, CN_CONST, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, CN_TYPE_IDX, comp_gen_expr, CRI_Ptr, Cvrt_Opr, Div_Opr, DOUBLE_DEFAULT_TYPE, Eq_Opr, Error, expr_semantics(), FALSE, fold_relationals(), folder_driver(), Func_Entry, Func_Exit, Gt_Opr, 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_OPR, IR_Tbl_Idx, IR_TYPE_IDX, issue_overflow_msg_719, L, Minus_Opr, Mult_Opr, Ne_Opr, need_to_issue_719, ntr_const_tbl(), NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, Plus_Opr, PRINTMSG(), expr_semantics_args::rank, Real, REAL_DEFAULT_TYPE, result_value, SH_ERR_FLG, stmt_start_col, stmt_start_line, target_ieee, target_triton, TRACE, TRUE, TYP_LINEAR, and TYP_TYPE.
Referenced by do_stmt_semantics().
void call_stmt_semantics | ( | void | ) |
Definition at line 982 of file s_ctl_flow.c.
References call_list_semantics(), CIF_Symbol_Reference, curr_stmt_sh_idx, FALSE, Func_Entry, Func_Exit, init_exp_desc, IR_Tbl_Idx, NULL, OPND_FLD, OPND_IDX, SH_IR_IDX, TRACE, and xref_state.
void case_stmt_semantics | ( | void | ) |
Definition at line 1024 of file s_ctl_flow.c.
References AT_Tbl_Idx, Case_Range_Opr, case_value_range_semantics(), cast_typeless_constant(), Character, CIF_Symbol_Reference, CN_BOZ_CONSTANT, CN_CONST, CN_Tbl_Idx, CN_TYPE_IDX, expr_semantics_args::constant, COPY_OPND, curr_stmt_sh_idx, Eq_Opr, Error, EXIT, expr_mode, expr_semantics(), find_opnd_line_and_column(), 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_PREV_LIST_IDX, IL_Tbl_Idx, Initialization_Expr, insert_on_left(), Integer, INTEGER_DEFAULT_TYPE, Internal, 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, expr_semantics_args::linear_type, Logical, Lt_Opr, NO_Tbl_Idx, NTR_IR_LIST_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, PRINTMSG(), expr_semantics_args::rank, Regular_Expr, SH_ERR_FLG, SH_IR_IDX, SH_PARENT_BLK_IDX, Short_Typeless_Const, THIS_IS_TRUE, TRACE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, and xref_state.
static void case_value_range_semantics | ( | int | ir_idx, |
int | new_il_idx, | ||
int | select_ir_idx | ||
) | [static] |
Definition at line 5957 of file s_ctl_flow.c.
References AT_Tbl_Idx, cast_typeless_constant(), Character, CIF_Symbol_Reference, CN_BOZ_CONSTANT, CN_Tbl_Idx, CN_TYPE_IDX, expr_semantics_args::constant, COPY_OPND, curr_stmt_sh_idx, Error, EXIT, expr_semantics(), find_opnd_line_and_column(), fold_relationals(), Func_Entry, Func_Exit, Gt_Opr, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IL_Tbl_Idx, insert_on_left(), 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_R, IR_OPND_L, IR_OPND_R, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, Lt_Opr, NO_Tbl_Idx, NULL, NULL_IDX, null_opnd, OPND_IDX, PRINTMSG(), expr_semantics_args::rank, SH_COL_NUM, SH_ERR_FLG, SH_GLB_LINE, SH_PARENT_BLK_IDX, Short_Typeless_Const, TRACE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, Warning, and xref_state.
Referenced by case_stmt_semantics().
static boolean check_forall_triplet_for_index | ( | opnd_type * | top_opnd | ) | [static] |
Definition at line 9325 of file s_ctl_flow.c.
References AT_OBJ_CLASS, AT_Tbl_Idx, ATD_FORALL_INDEX, Data_Obj, Error, FALSE, Func_Entry, Func_Exit, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, IR_OPND_L, IR_OPND_R, IR_Tbl_Idx, is_local_forall_index(), NULL, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, PRINTMSG(), TRACE, and TRUE.
Referenced by forall_semantics().
static boolean check_stat_variable | ( | int | ir_idx, |
opnd_type * | stat_opnd, | ||
int | stat_list_idx | ||
) | [static] |
Definition at line 8741 of file s_ctl_flow.c.
References After, Aloc_Opr, Asg_Opr, Assignment_Stmt, AT_OBJ_CLASS, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, Call_Opr, CG_INTEGER_DEFAULT_TYPE, check_for_legal_define(), CIF_Symbol_Modification, expr_semantics_args::constant, COPY_OPND, CRI_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, Data_Obj, Error, expr_semantics(), FALSE, find_base_attr(), find_opnd_line_and_column(), Func_Entry, Func_Exit, gen_compiler_tmp(), gen_sh(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, Integer, Integer_1, Integer_2, Integer_4, Integer_8, IR_COL_NUM, IR_COL_NUM_L, IR_COL_NUM_R, IR_FLD_R, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LINE_NUM_R, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, NTR_IR_TBL, NULL, NULL_IDX, null_opnd, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, PRINTMSG(), Priv, expr_semantics_args::rank, SCP_SB_STACK_IDX, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, Subscript_Opr, TRACE, TRUE, expr_semantics_args::type, expr_semantics_args::type_idx, and xref_state.
Referenced by allocate_stmt_semantics(), and deallocate_stmt_semantics().
boolean check_where_conformance | ( | expr_arg_type * | exp_desc | ) |
Definition at line 10885 of file s_ctl_flow.c.
References AT_OBJ_CLASS, ATD_ARRAY_IDX, ATD_CLASS, BD_RANK, BD_XT_FLD, BD_XT_IDX, CN_Tbl_Idx, Compiler_Tmp, Data_Obj, FALSE, find_left_attr(), fold_relationals(), Func_Entry, Func_Exit, Internal, IR_COL_NUM, IR_LINE_NUM, IR_OPND_L, Ne_Opr, NULL, OPND_FLD, OPND_IDX, PRINTMSG(), expr_semantics_args::rank, expr_semantics_args::shape, TRACE, TRUE, and where_ir_idx.
Referenced by assignment_stmt_semantics(), else_stmt_semantics(), and where_stmt_semantics().
static void chk_for_unlabeled_stmt | ( | void | ) | [static] |
Definition at line 5858 of file s_ctl_flow.c.
References Case_Stmt, Contains_Stmt, curr_stmt_sh_idx, Data_Stmt, Directive_Stmt, Else_If_Stmt, Else_Stmt, End_Do_Parallel_Stmt, End_Do_Stmt, End_Function_Stmt, End_Guard_Stmt, End_If_Stmt, End_Parallel_Case_Stmt, End_Parallel_Stmt, End_Program_Stmt, End_Select_Stmt, End_Stmt, End_Subroutine_Stmt, Entry_Stmt, Func_Entry, Func_Exit, Label_Def, NULL, Null_Stmt, Open_MP_End_Critical_Stmt, Open_MP_End_Do_Stmt, Open_MP_End_Master_Stmt, Open_MP_End_Ordered_Stmt, Open_MP_End_Parallel_Do_Stmt, Open_MP_End_Parallel_Sections_Stmt, Open_MP_End_Parallel_Stmt, Open_MP_End_Parallel_Workshare_Stmt, Open_MP_End_Section_Stmt, Open_MP_End_Sections_Stmt, Open_MP_End_Single_Stmt, Open_MP_End_Workshare_Stmt, Open_MP_Section_Stmt, Parallel_Case_Stmt, PRINTMSG(), SGI_End_Critical_Section_Stmt, SGI_End_Parallel_Stmt, SGI_End_Pdo_Stmt, SGI_End_Psection_Stmt, SGI_End_Single_Process_Stmt, SGI_Region_End_Stmt, SGI_Section_Stmt, SH_ACTION_STMT, SH_COL_NUM, SH_COMPILER_GEN, SH_GLB_LINE, SH_NEXT_IDX, SH_STMT_TYPE, TRACE, and Warning.
Referenced by arith_if_stmt_semantics(), goto_stmt_semantics(), and outmoded_if_stmt_semantics().
static void clear_cdir_switches | ( | void | ) | [static] |
Definition at line 8290 of file s_ctl_flow.c.
References cdir_switch_entry::aggressiveinnerloopfission, cdir_switch_entry::align, cdir_switch_entry::cache_bypass_ir_idx, cdir_switches, cdir_switch_entry::cncall, cdir_switch_entry::concurrent, cdir_switch_entry::concurrent_idx, const_safevl_idx, cdir_switch_entry::doacross_sh_idx, FALSE, cdir_switch_entry::fissionable, Func_Entry, Func_Exit, cdir_switch_entry::fusable, cdir_switch_entry::ivdep, cdir_switch_entry::maxcpus, cdir_switch_entry::nextscalar, cdir_switch_entry::noblocking, cdir_switch_entry::nofission, cdir_switch_entry::nofusion, cdir_switch_entry::nointerchange, opt_flags_entry::nointerchange, NULL, NULL_IDX, opt_flags, cdir_switch_entry::paralleldo_sh_idx, cdir_switch_entry::pdo_sh_idx, cdir_switch_entry::permutation, cdir_switch_entry::preferstream, cdir_switch_entry::preferstream_nocinv, cdir_switch_entry::prefertask, cdir_switch_entry::prefervector, cdir_switch_entry::safevl_idx, cdir_switch_entry::shortloop, cdir_switch_entry::shortloop128, cdir_switch_entry::split, opt_flags_entry::split_lvl, Split_Lvl_2, and TRACE.
Referenced by do_stmt_semantics(), and set_directives_on_label().
void continue_stmt_semantics | ( | void | ) |
Definition at line 1407 of file s_ctl_flow.c.
References AT_DEF_COLUMN, AT_DEF_LINE, curr_stmt_sh_idx, Func_Entry, Func_Exit, Internal, IR_COL_NUM, IR_COL_NUM_L, IR_IDX_L, IR_LINE_NUM, IR_LINE_NUM_L, NULL, NULL_IDX, PRINTMSG(), SH_COL_NUM, SH_COMPILER_GEN, SH_GLB_LINE, SH_IR_IDX, SH_NEXT_IDX, SH_PREV_IDX, and TRACE.
static int convert_to_do_var_type | ( | int | do_var_type_idx, |
int | cn_idx | ||
) | [static] |
Definition at line 7182 of file s_ctl_flow.c.
References cast_typeless_constant(), CN_CONST, CN_INT_TO_C, CN_POOL_IDX, CN_TYPE_IDX, CP_CONSTANT, Cvrt_Opr, DOUBLE_DEFAULT_TYPE, FALSE, folder_driver(), Func_Entry, Func_Exit, ntr_const_tbl(), NULL, NULL_IDX, Real, stmt_start_col, stmt_start_line, TRACE, TYP_LINEAR, TYP_TYPE, and Typeless.
Referenced by do_loop_expr_semantics().
int create_alloc_descriptor | ( | int | count, |
int | line, | ||
int | col, | ||
boolean | shared_heap | ||
) |
Definition at line 7839 of file s_ctl_flow.c.
References Asg_Opr, Assignment_Stmt, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_STOR_BLK_IDX, ATD_TYPE_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, Before, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, CN_INTEGER_ONE_IDX, CN_INTEGER_TWO_IDX, CN_Tbl_Idx, Constant_Size, curr_scp_idx, curr_stmt_sh_idx, Explicit_Shape, FALSE, Func_Entry, Func_Exit, gen_alloc_header_const(), gen_compiler_tmp(), gen_sh(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_Tbl_Idx, Integer_4, 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_OPR, IR_Tbl_Idx, IR_TYPE_IDX, ntr_array_in_bd_tbl(), NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, PRINTMSG(), Priv, reserve_array_ntry(), SA_INTEGER_DEFAULT_TYPE, SCP_SB_STACK_IDX, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, Subscript_Opr, TRACE, TRUE, and TYP_LINEAR.
Referenced by create_runtime_array_constructor(), and flatten_function_call().
void deallocate_stmt_semantics | ( | void | ) |
Definition at line 1479 of file s_ctl_flow.c.
References ADD_ATTR_TO_LOCAL_LIST, Aloc_Opr, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_Tbl_Idx, ATD_ALLOCATABLE, ATD_PE_ARRAY_IDX, ATD_PURE, ATP_ELEMENTAL, ATP_PURE, check_stat_variable(), CIF_Symbol_Modification, cmp_ref_trees(), CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, COPY_OPND, create_lib_entry_attr(), CRI_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, Data_Obj, Dealloc_Obj_Opr, Deallocate_Attr_Idx, DEALLOCATE_LIB_ENTRY, DEALLOCATE_NAME_LEN, Dv_Deref_Opr, Error, EXIT, expr_semantics(), FALSE, find_left_attr(), find_opnd_line_and_column(), Func_Entry, Func_Exit, gen_alloc_header_const(), gen_split_alloc(), glb_tbl_idx, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, Integer_8, Internal, IR_COL_NUM, 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, NO_Tbl_Idx, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, null_opnd, OPND_FLD, OPND_IDX, PRINTMSG(), expr_semantics_args::rank, SCP_ATTR_IDX, set_up_allocate_as_call(), SH_IR_IDX, TRACE, TRUE, Whole_Subscript_Opr, Whole_Substring_Opr, and xref_state.
static void determine_lb_ub | ( | int | start_list_idx, |
int | bd_idx, | ||
int | idx | ||
) | [static] |
Definition at line 10281 of file s_ctl_flow.c.
References Asg_Opr, Assignment_Stmt, AT_DEFINED, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATL_DEF_STMT_IDX, BD_COLUMN_NUM, BD_LB_FLD, BD_LB_IDX, BD_LINE_NUM, BD_UB_FLD, BD_UB_IDX, Before, Br_True_Opr, Br_Uncond_Opr, CN_Tbl_Idx, CN_TYPE_IDX, compare_cn_and_value(), Continue_Stmt, curr_scp_idx, curr_stmt_sh_idx, Else_Opr, Else_Stmt, End_If_Stmt, end_list_idx, Endif_Opr, FALSE, fold_relationals(), Func_Entry, Func_Exit, gen_compiler_tmp(), gen_internal_lbl(), gen_ir(), gen_sh(), Goto_Stmt, Gt_Opr, If_Opr, If_Stmt, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IR_COL_NUM_R, IR_FLD_R, IR_IDX_R, IR_LINE_NUM_R, IR_Tbl_Idx, Label_Opr, Le_Opr, NO_Tbl_Idx, NULL, NULL_IDX, Priv, SCP_SB_STACK_IDX, SH_IR_IDX, SH_P2_SKIP_ME, SH_PARENT_BLK_IDX, SH_PREV_IDX, SH_Tbl_Idx, TRACE, TRUE, TYP_LINEAR, and TYPELESS_DEFAULT_TYPE.
Referenced by gen_forall_tmp_bd_entry().
static boolean do_loop_expr_semantics | ( | int | expr_il_idx, |
int | do_var_idx, | ||
opnd_type * | expr_opnd | ||
) | [static] |
Definition at line 6565 of file s_ctl_flow.c.
References Ansi, Assignment_Stmt, AT_Tbl_Idx, ATD_TYPE_IDX, Before, cast_typeless_constant(), cdir_switches, CIF_Symbol_Reference, CN_Tbl_Idx, CN_TYPE_IDX, convert_to_do_var_type(), COPY_OPND, copy_subtree(), CRI_Ptr, curr_stmt_sh_idx, cdir_switch_entry::doall_sh_idx, DOUBLE_DEFAULT_TYPE, Error, expr_semantics(), FALSE, find_opnd_line_and_column(), Func_Entry, Func_Exit, GEN_COMPILER_TMP_ASG, gen_opnd(), gen_sh(), idx, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_OPND, Integer, INTEGER_DEFAULT_TYPE, IR_IDX_L, IR_OPND_R, IR_TYPE_IDX, expr_semantics_args::linear_type, Long_Typeless, NULL, NULL_IDX, OPND_FLD, OPND_IDX, cdir_switch_entry::paralleldo_omp_sh_idx, PRINTMSG(), Priv, expr_semantics_args::rank, Real, REAL_DEFAULT_TYPE, result, SH_COMPILER_GEN, SH_IR_IDX, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, SH_Tbl_Idx, Short_Typeless_Const, stmt_start_col, stmt_start_line, TRACE, TRUE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, Typeless_4, Typeless_8, and xref_state.
Referenced by do_stmt_semantics().
void do_stmt_semantics | ( | void | ) |
Definition at line 1808 of file s_ctl_flow.c.
References After, And_Opr, Ansi, Asg_Opr, Assignment_Stmt, AT_DCL_ERR, AT_DEF_LINE, AT_DEFINED, AT_REFERENCED, AT_Tbl_Idx, ATD_CLASS, ATD_LIVE_DO_VAR, ATD_TASK_SHARED, ATD_TYPE_IDX, ATL_DEF_STMT_IDX, ATL_TOP_OF_LOOP, Before, Bneqv_Opr, Br_True_Opr, calculate_iteration_count(), Caution, cdir_switches, check_for_legal_define(), cif_flags, CIF_No_Usage_Rec, CIF_Symbol_Modification, CIF_Symbol_Reference, clear_cdir_switches(), CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, Compiler_Tmp, expr_semantics_args::constant, Continue_Stmt, COPY_OPND, copy_subtree(), CRI_Ptr, curr_stmt_sh_idx, defer_stmt_expansion, Div_Opr, Do_Infinite_Stmt, Do_Iterative_Stmt, do_loop_expr_semantics(), cdir_switch_entry::do_omp_sh_idx, Do_While_Stmt, cdir_switch_entry::doacross_sh_idx, cdir_switch_entry::doall_sh_idx, cdir_switch_entry::dopar_sh_idx, DOUBLE_DEFAULT_TYPE, Eq_Opr, Error, on_off_flags_entry::exec_doloops_once, EXIT, expr_semantics(), FALSE, find_opnd_line_and_column(), fold_relationals(), Func_Entry, Func_Exit, Ge_Opr, GEN_COMPILER_TMP_ASG, gen_internal_lbl(), gen_opnd(), gen_sh(), Gt_Opr, idx, If_Stmt, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_LIST_CNT, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, insert_sh_chain(), insert_sh_chain_before(), Integer, Integer_4, 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_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Label_Opr, Le_Opr, expr_semantics_args::linear_type, Logical, LOGICAL_DEFAULT_TYPE, Lt_Opr, Max_Opr, Minus_Opr, MISC_RECS, Mult_Opr, Ne_Opr, cdir_switch_entry::no_internal_calls, Not_Opr, Not_Referenced, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, on_off_flags, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, cdir_switch_entry::parallel_region, cdir_switch_entry::paralleldo_omp_sh_idx, cdir_switch_entry::paralleldo_sh_idx, cdir_switch_entry::pdo_sh_idx, Plus_Opr, PRINTMSG(), Priv, process_deferred_functions(), processing_do_var, expr_semantics_args::rank, Real, REAL_DEFAULT_TYPE, Real_Div_To_Int_Opr, set_directives_on_label(), setup_interchange_level_list(), SH_COL_NUM, SH_COMPILER_GEN, SH_DOALL_LOOP_END, SH_ERR_FLG, SH_GLB_LINE, SH_IR_IDX, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PARENT_BLK_IDX, SH_PREV_IDX, SH_Tbl_Idx, stmt_start_col, stmt_start_line, stmt_type, target_triton, TRACE, tree_produces_dealloc(), TRUE, expr_semantics_args::type, expr_semantics_args::type_idx, TYPELESS_DEFAULT_TYPE, and xref_state.
void else_stmt_semantics | ( | void | ) |
Definition at line 3365 of file s_ctl_flow.c.
References And_Opr, arg_info_list_base, arg_info_list_top, AT_DEF_COLUMN, AT_DEF_LINE, AT_DEFINED, AT_REFERENCED, AT_Tbl_Idx, ATL_DEF_STMT_IDX, Before, Br_Uncond_Opr, check_where_conformance(), CIF_Symbol_Reference, Continue_Stmt, COPY_OPND, create_tmp_asg(), curr_stmt_sh_idx, defer_stmt_expansion, Else_If_Stmt, Else_Opr, Else_Stmt, Else_Where_Mask_Stmt, Else_Where_Stmt, End_If_Stmt, Endif_Opr, Error, EXIT, expr_semantics(), FALSE, find_opnd_line_and_column(), Func_Entry, Func_Exit, gen_internal_lbl(), gen_ir(), gen_opnd(), gen_sh(), Goto_Stmt, has_present_opr, If_Cstrct_Stmt, If_Opr, If_Stmt, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, in_branch_true, Intent_In, Internal, io_item_must_flatten, 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_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Label_Opr, Logical, LOGICAL_DEFAULT_TYPE, NO_Tbl_Idx, Not_Opr, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, number_of_functions, OPND_FLD, OPND_IDX, PRINTMSG(), expr_semantics_args::rank, Referenced, SH_COL_NUM, SH_GLB_LINE, SH_IR_IDX, SH_P2_SKIP_ME, SH_PARENT_BLK_IDX, SH_PREV_IDX, SH_STMT_TYPE, SH_Tbl_Idx, short_circuit_branch(), short_circuit_high_level_if(), stmt_start_col, stmt_start_line, stmt_type, TRACE, TRUE, expr_semantics_args::type, expr_semantics_args::type_idx, TYPELESS_DEFAULT_TYPE, where_ir_idx, and xref_state.
static boolean forall_mask_needs_tmp | ( | opnd_type * | top_opnd | ) | [static] |
Definition at line 10625 of file s_ctl_flow.c.
References active_forall_sh_idx, Assignment_Stmt, check_dependence(), COPY_OPND, copy_subtree(), FALSE, free_ir_stream(), Func_Entry, Func_Exit, IR_IDX_L, IR_OPND_L, IR_Tbl_Idx, NULL, OPND_FLD, OPND_IDX, process_attr_links(), SH_IR_IDX, SH_NEXT_IDX, SH_STMT_TYPE, and TRACE.
Referenced by forall_semantics().
void forall_semantics | ( | void | ) |
Definition at line 3868 of file s_ctl_flow.c.
References active_forall_sh_idx, After, Asg_Opr, Assignment_Stmt, AT_ATTR_LINK, AT_IGNORE_ATTR_LINK, AT_NAME_IDX, AT_NAME_LEN, AT_OBJ_NAME_PTR, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_CLASS, ATD_FORALL_INDEX, ATD_STOR_BLK_IDX, ATD_TMP_NEEDS_CIF, ATD_TYPE_IDX, cast_to_type_idx(), check_forall_triplet_for_index(), cif_flags, CIF_Symbol_Modification, CIF_Symbol_Reference, cif_usage_rec(), CN_Tbl_Idx, Constant, COPY_OPND, create_tmp_asg(), curr_scp_idx, curr_stmt_sh_idx, Dv_Deref_Opr, Error, EXIT, expr_semantics(), FALSE, find_opnd_line_and_column(), forall_mask_needs_tmp(), Func_Entry, Func_Exit, gen_compiler_tmp(), gen_forall_branch_around(), gen_forall_if_mask(), gen_forall_loops(), gen_forall_max_expr(), gen_forall_tmp(), gen_ir(), gen_opnd(), gen_sh(), IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, Integer, Intent_In, Internal, io_item_must_flatten, IR_COL_NUM, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LIST_CNT_R, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Logical, LOGICAL_DEFAULT_TYPE, NO_Tbl_Idx, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, null_opnd, OPND_FLD, OPND_IDX, Or_Opr, PRINTMSG(), Priv, expr_semantics_args::rank, remove_sh(), SCP_SB_STACK_IDX, SH_IR_IDX, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, TRACE, TRUE, expr_semantics_args::type, expr_semantics_args::type_idx, within_forall_construct, within_forall_mask_expr, XREF_RECS, and xref_state.
int gen_alloc_header_const | ( | int | type_idx, |
int | count, | ||
boolean | shared_heap, | ||
int * | second_cn_idx | ||
) |
Definition at line 8017 of file s_ctl_flow.c.
References FALSE, Func_Entry, Func_Exit, Integer_4, ntr_const_tbl(), NULL, NULL_IDX, TRACE, and TYP_LINEAR.
Referenced by allocate_stmt_semantics(), create_alloc_descriptor(), create_runtime_array_constructor(), deallocate_local_allocatables(), deallocate_stmt_semantics(), flatten_function_call(), and gen_split_alloc().
static void gen_Dv_Set_stmt | ( | opnd_type * | dope_opnd, |
operator_type | opr, | ||
int | ir_dv_dim, | ||
opnd_type * | opnd, | ||
sh_position_type | position | ||
) | [static] |
Definition at line 8945 of file s_ctl_flow.c.
References Assignment_Stmt, Before, CG_INTEGER_DEFAULT_TYPE, COPY_OPND, curr_stmt_sh_idx, FALSE, find_opnd_line_and_column(), Func_Entry, Func_Exit, gen_sh(), IR_COL_NUM, IR_DV_DIM, IR_LINE_NUM, IR_OPND_L, IR_OPND_R, IR_OPR, IR_TYPE_IDX, NTR_IR_TBL, NULL, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, TRACE, and TRUE.
Referenced by allocate_stmt_semantics().
static void gen_forall_branch_around | ( | opnd_type * | br_around_opnd | ) | [static] |
Definition at line 9480 of file s_ctl_flow.c.
References active_forall_sh_idx, After, AT_DEFINED, AT_Tbl_Idx, ATL_DEF_STMT_IDX, Before, Br_True_Opr, Continue_Stmt, curr_stmt_sh_idx, FALSE, find_opnd_line_and_column(), Func_Entry, Func_Exit, gen_internal_lbl(), gen_ir(), gen_sh(), If_Stmt, IR_IDX_L, Label_Opr, LOGICAL_DEFAULT_TYPE, NO_Tbl_Idx, NULL, NULL_IDX, OPND_FLD, OPND_IDX, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, TRACE, TRUE, and TYPELESS_DEFAULT_TYPE.
Referenced by forall_semantics().
static int gen_forall_derived_type | ( | int | type_idx, |
int | rank, | ||
int | line, | ||
int | col | ||
) | [static] |
Definition at line 10754 of file s_ctl_flow.c.
References Align_64, assign_offset(), AT_DEF_COLUMN, AT_DEF_LINE, AT_DEFINED, AT_LOCKED_IN, AT_NAME_IDX, AT_NAME_LEN, AT_OBJ_CLASS, AT_SEMANTICS_DONE, AT_TYPED, ATD_ARRAY_IDX, ATD_CLASS, ATD_CPNT_OFFSET_IDX, ATD_DERIVED_TYPE_IDX, ATD_OFFSET_ASSIGNED, ATD_OFFSET_FLD, ATD_TYPE_IDX, ATT_ALIGNMENT, ATT_DCL_NUMERIC_SEQ, ATT_FIRST_CPNT_IDX, ATT_NUM_CPNTS, ATT_NUMERIC_CPNT, ATT_POINTER_CPNT, ATT_SCP_IDX, ATT_SEQUENCE_SET, ATT_STRUCT_BIT_LEN_FLD, ATT_STRUCT_BIT_LEN_IDX, CLEAR_TBL_NTRY, cmd_line_flags, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, CREATE_ID, curr_scp_idx, Data_Obj, Derived_Type, dt_counter, Func_Entry, Func_Exit, name, NTR_ATTR_TBL, NTR_NAME_POOL, NTR_SN_TBL, ntr_type_tbl(), NULL, NULL_IDX, cmd_line_flags_entry::s_pointer8, set_up_fake_dt_blk(), SN_ATTR_IDX, SN_NAME_IDX, SN_NAME_LEN, id_str_entry::string, Struct_Component, Structure, Structure_Type, Tok_Id, token, TOKEN_COLUMN, TOKEN_ID, TOKEN_LEN, TOKEN_LINE, TRACE, TRUE, TYP_IDX, TYP_LINEAR, TYP_TYPE, TYP_WORK_IDX, type_tbl, and id_str_entry::words.
Referenced by gen_forall_tmp().
void gen_forall_if_mask | ( | int | start_sh_idx, |
int | end_sh_idx | ||
) |
Definition at line 10553 of file s_ctl_flow.c.
References active_forall_sh_idx, copy_subtree(), EXIT, Func_Entry, Func_Exit, gen_if_stmt(), IL_FLD, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, Internal, IR_IDX_R, NULL, NULL_IDX, PRINTMSG(), SH_COL_NUM, SH_GLB_LINE, SH_IR_IDX, and TRACE.
Referenced by assignment_stmt_semantics(), forall_semantics(), and where_stmt_semantics().
void gen_forall_loops | ( | int | start_body_sh_idx, |
int | end_body_sh_idx | ||
) |
Definition at line 9545 of file s_ctl_flow.c.
References active_forall_sh_idx, AT_ATTR_LINK, COPY_OPND, create_loop_stmts(), Func_Entry, Func_Exit, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, IR_IDX_R, NULL, SH_IR_IDX, and TRACE.
Referenced by assignment_stmt_semantics(), forall_semantics(), and where_stmt_semantics().
static boolean gen_forall_max_expr | ( | int | start_list_idx, |
opnd_type * | result_opnd | ||
) | [static] |
Definition at line 9389 of file s_ctl_flow.c.
References AT_Tbl_Idx, ATD_TYPE_IDX, CIF_No_Usage_Rec, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, CN_TYPE_IDX, compare_cn_and_value(), Div_Opr, end_list_idx, Eq_Opr, Error, expr_semantics(), FALSE, find_opnd_line_and_column(), Func_Entry, Func_Exit, gen_ir(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IR_Tbl_Idx, Le_Opr, LOGICAL_DEFAULT_TYPE, Minus_Opr, NULL, OPND_FLD, OPND_IDX, Plus_Opr, PRINTMSG(), expr_semantics_args::rank, TRACE, TRUE, and xref_state.
Referenced by forall_semantics().
void gen_forall_tmp | ( | expr_arg_type * | exp_desc, |
opnd_type * | result_opnd, | ||
int | line, | ||
int | col, | ||
boolean | is_pointer | ||
) |
Definition at line 9599 of file s_ctl_flow.c.
References active_forall_sh_idx, After, Alloc_Opr, Assignment_Stmt, AT_ATTR_LINK, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_AUTO_BASE_IDX, ATD_AUTOMATIC, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATT_FIRST_CPNT_IDX, BD_LB_FLD, BD_LB_IDX, BD_LEN_FLD, BD_LEN_IDX, BD_RANK, BD_UB_FLD, BD_UB_IDX, Before, CG_INTEGER_DEFAULT_TYPE, Character, CIF_No_Usage_Rec, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, COPY_OPND, curr_scp_idx, curr_stmt_sh_idx, Dealloc_Opr, determine_tmp_size(), expr_semantics(), FALSE, Func_Entry, Func_Exit, gen_compiler_tmp(), GEN_COMPILER_TMP_ASG, gen_forall_derived_type(), gen_forall_tmp_bd_entry(), gen_ir(), gen_opnd(), gen_sh(), gen_whole_substring(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, init_exp_desc, 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_RANK, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, Max_Opr, NO_Tbl_Idx, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, Priv, expr_semantics_args::rank, SA_INTEGER_DEFAULT_TYPE, SCP_SB_BASED_IDX, SCP_SB_STACK_IDX, Section_Subscript_Opr, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, SN_ATTR_IDX, Struct_Opr, Subscript_Opr, TRACE, Triplet_Opr, TRUE, TYP_IDX, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, TYPELESS_DEFAULT_TYPE, and xref_state.
Referenced by assignment_stmt_semantics(), and forall_semantics().
static boolean gen_forall_tmp_bd_entry | ( | expr_arg_type * | exp_desc, |
int * | new_bd_idx, | ||
int | line, | ||
int | col | ||
) | [static] |
Definition at line 9885 of file s_ctl_flow.c.
References active_forall_sh_idx, Assignment_Stmt, AT_Tbl_Idx, ATD_CLASS, BD_ARRAY_SIZE, BD_COLUMN_NUM, BD_FLOW_DEPENDENT, 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, Before, Character, CIF_No_Usage_Rec, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, compare_cn_and_value(), Compiler_Tmp, expr_semantics_args::constant, Constant_Size, COPY_OPND, curr_stmt_sh_idx, determine_lb_ub(), Eq_Opr, expr_semantics(), FALSE, size_offset_entry::fld, Func_Entry, Func_Exit, GEN_COMPILER_TMP_ASG, gen_copyin_bounds_stmt(), gen_ir(), gen_opnd(), gen_sh(), size_offset_entry::idx, IL_FLD, IL_IDX, IL_LIST_CNT, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, Internal, IR_COL_NUM_R, IR_FLD_R, IR_IDX_R, IR_LINE_NUM_R, IR_OPND_R, IR_Tbl_Idx, Minus_Opr, Mult_Opr, NO_Tbl_Idx, ntr_array_in_bd_tbl(), NTR_IR_LIST_TBL, NULL, null_opnd, OPND_FLD, OPND_IDX, Plus_Opr, PRINTMSG(), Priv, expr_semantics_args::rank, reserve_array_ntry(), SA_INTEGER_DEFAULT_TYPE, set_stride_for_first_dim(), SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, expr_semantics_args::shape, SHAPE_FOLDABLE, SHAPE_WILL_FOLD_LATER, stride, TRACE, TRUE, TYP_FLD, expr_semantics_args::type, expr_semantics_args::type_idx, Var_Len_Array, and xref_state.
Referenced by gen_forall_tmp().
void gen_loop_end_ir | ( | void | ) |
Definition at line 7273 of file s_ctl_flow.c.
References After, Asg_Opr, Assignment_Stmt, AT_OBJ_CLASS, AT_REFERENCED, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_DATA_INIT, ATD_LIVE_DO_VAR, ATD_SAVED, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, Before, Br_True_Opr, Br_Uncond_Opr, cif_flags, cif_loop_def_rec(), CIF_No_Usage_Rec, CN_CONST, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, CN_TYPE_IDX, compare_cn_and_value(), COPY_OPND, CRI_Ptr, curr_scp_idx, curr_stmt_sh_idx, cvrt_str_to_cn(), Data_Obj, Data_Stmt, defer_stmt_expansion, Do_Infinite_Stmt, Do_Iterative_Stmt, Do_While_Stmt, EXIT, expr_semantics(), FALSE, find_left_attr(), find_opnd_line_and_column(), fold_relationals(), folder_driver(), Func_Entry, Func_Exit, gen_compiler_tmp(), GEN_COMPILER_TMP_ASG, gen_sh(), Goto_Stmt, Gt_Opr, HUGE_INT1_F90, HUGE_INT2_F90, HUGE_INT4_F90, HUGE_INT8_F90, If_Stmt, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, Init_Opr, Integer, Integer_1, Integer_2, Integer_4, Integer_8, 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_R, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, issue_overflow_msg_719, LOGICAL_DEFAULT_TYPE, Lt_Opr, MISC_RECS, Mult_Opr, need_to_issue_719, ntr_const_tbl(), NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, Plus_Opr, PRINTMSG(), Priv, process_deferred_functions(), expr_semantics_args::rank, Referenced, SCP_SB_STATIC_INIT_IDX, SH_COL_NUM, SH_ERR_FLG, SH_GLB_LINE, SH_IR_IDX, SH_P2_SKIP_ME, SH_PARENT_BLK_IDX, SH_PREV_IDX, SH_STMT_TYPE, Shared, stmt_start_col, stmt_start_line, TRACE, tree_produces_dealloc(), TRUE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type_idx, TYPELESS_DEFAULT_TYPE, Uminus_Opr, Warning, and xref_state.
Referenced by pgm_unit_semantics().
void gen_split_alloc | ( | int | ir_idx, |
int | lib_attr_idx, | ||
int | stat_list_idx | ||
) |
Definition at line 9151 of file s_ctl_flow.c.
References Allocate_Stmt, AT_Tbl_Idx, ATD_ALLOCATABLE, ATD_PE_ARRAY_IDX, Before, CN_Tbl_Idx, COPY_TBL_NTRY, curr_stmt_sh_idx, FALSE, find_left_attr(), Func_Entry, Func_Exit, gen_alloc_header_const(), 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, Integer_8, IR_COL_NUM, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LIST_CNT_L, IR_LIST_CNT_R, ir_tbl, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, set_up_allocate_as_call(), SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, TRACE, and TRUE.
Referenced by allocate_stmt_semantics(), deallocate_local_allocatables(), and deallocate_stmt_semantics().
void goto_stmt_semantics | ( | void | ) |
Definition at line 4191 of file s_ctl_flow.c.
References AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_Tbl_Idx, ATD_IN_ASSIGN, ATD_TYPE_IDX, ATL_IN_ASSIGN, ATP_HAS_TASK_DIRS, Br_Asg_Opr, Br_Index_Opr, Br_Uncond_Opr, chk_for_unlabeled_stmt(), CIF_Symbol_Reference, CN_Tbl_Idx, COPY_OPND, create_tmp_asg(), curr_scp_idx, curr_stmt_sh_idx, Data_Obj, Error, EXIT, expr_semantics(), FALSE, find_opnd_line_and_column(), Func_Entry, Func_Exit, IL_COL_NUM, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, Integer, INTEGER_DEFAULT_TYPE, Intent_In, Internal, IR_COL_NUM_L, IR_IDX_L, IR_IDX_R, IR_LINE_NUM_L, IR_OPND_L, IR_OPR, IR_Tbl_Idx, NULL, NULL_IDX, OPND_FLD, OPND_IDX, PRINTMSG(), expr_semantics_args::rank, SCP_ATTR_IDX, SH_COMPILER_GEN, SH_IR_IDX, stmt_start_col, stmt_start_line, TRACE, TRUE, TYP_LINEAR, expr_semantics_args::type, Warning, and xref_state.
void if_stmt_semantics | ( | void | ) |
Definition at line 4384 of file s_ctl_flow.c.
References arg_info_list_base, arg_info_list_top, AT_Tbl_Idx, Br_True_Opr, Br_Uncond_Opr, CIF_Symbol_Reference, COPY_OPND, curr_stmt_sh_idx, Cycle_Stmt, defer_stmt_expansion, Error, Exit_Stmt, expr_semantics(), FALSE, Func_Entry, Func_Exit, gen_internal_lbl(), Goto_Stmt, has_present_opr, If_Cstrct_Stmt, If_Opr, If_Stmt, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IL_Tbl_Idx, in_branch_true, io_item_must_flatten, IR_COL_NUM, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LIST_CNT_R, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Logical, Not_Opr, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, null_opnd, number_of_functions, PRINTMSG(), expr_semantics_args::rank, SH_COMPILER_GEN, SH_ERR_FLG, SH_IR_IDX, SH_NEXT_IDX, SH_PREV_IDX, SH_STMT_TYPE, short_circuit_branch(), short_circuit_high_level_if(), stmt_start_col, stmt_start_line, TRACE, TRUE, expr_semantics_args::type, expr_semantics_args::type_idx, and xref_state.
static void insert_on_left | ( | int | new_il_idx, |
int | curr_il_idx, | ||
int | select_ir_idx | ||
) | [static] |
Definition at line 6509 of file s_ctl_flow.c.
References Func_Entry, Func_Exit, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IR_IDX_R, IR_LIST_CNT_R, NULL, and TRACE.
Referenced by case_stmt_semantics(), and case_value_range_semantics().
boolean is_local_forall_index | ( | int | attr_idx | ) |
Definition at line 9275 of file s_ctl_flow.c.
References active_forall_sh_idx, AT_ATTR_LINK, ATD_FORALL_INDEX, FALSE, Func_Entry, Func_Exit, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_Tbl_Idx, IR_IDX_R, NULL, result, SH_IR_IDX, TRACE, and TRUE.
Referenced by check_forall_triplet_for_index().
void nullify_stmt_semantics | ( | void | ) |
Definition at line 4598 of file s_ctl_flow.c.
References Assignment_Stmt, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, ATD_PURE, ATP_ELEMENTAL, ATP_PURE, Before, Call_Opr, CG_INTEGER_DEFAULT_TYPE, CIF_Symbol_Modification, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, COPY_OPND, curr_scp_idx, curr_stmt_sh_idx, Data_Obj, Dv_Deref_Opr, Dv_Set_Assoc, Error, expr_semantics(), FALSE, find_left_attr(), find_opnd_line_and_column(), Func_Entry, Func_Exit, gen_sh(), IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, Internal, IR_COL_NUM, IR_COL_NUM_R, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_R, IR_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, expr_semantics_args::pointer, PRINTMSG(), expr_semantics_args::rank, remove_sh(), SCP_ATTR_IDX, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, TRACE, TRUE, Whole_Subscript_Opr, Whole_Substring_Opr, and xref_state.
void outmoded_if_stmt_semantics | ( | void | ) |
Definition at line 4736 of file s_ctl_flow.c.
References After, Br_True_Opr, Br_Uncond_Opr, cast_typeless_constant(), CG_INTEGER_DEFAULT_TYPE, chk_for_unlabeled_stmt(), cif_flags, CIF_If_Indirect_Logical_Stmt, CIF_If_Two_Branch_Arithmetic_Stmt, cif_stmt_type_rec(), CIF_Symbol_Reference, CN_CONST, COPY_OPND, curr_stmt_sh_idx, Error, EXIT, expr_semantics(), FALSE, find_opnd_line_and_column(), FREE_IR_LIST_NODE, Func_Entry, Func_Exit, gen_sh(), Goto_Stmt, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, Integer, INTEGER_DEFAULT_TYPE, IR_COL_NUM, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LIST_CNT_R, IR_OPND_L, IR_OPND_R, IR_OPR, IR_TYPE_IDX, expr_semantics_args::linear_type, Logical, LOGICAL_DEFAULT_TYPE, Long_Typeless, MISC_RECS, ntr_const_tbl(), NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, PRINTMSG(), expr_semantics_args::rank, Real, SH_ERR_FLG, SH_IR_IDX, Short_Typeless_Const, statement_number, stmt_start_col, stmt_start_line, TRACE, TRUE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, TYPELESS_DEFAULT_TYPE, and xref_state.
static void process_attr_links | ( | opnd_type * | opnd | ) | [static] |
Definition at line 10689 of file s_ctl_flow.c.
References AT_ATTR_LINK, AT_Tbl_Idx, CN_Tbl_Idx, Func_Entry, Func_Exit, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, IR_OPND_L, IR_OPND_R, IR_Tbl_Idx, NO_Tbl_Idx, NULL, OPND_FLD, OPND_IDX, SH_Tbl_Idx, and TRACE.
Referenced by forall_mask_needs_tmp().
void return_stmt_semantics | ( | void | ) |
Definition at line 4903 of file s_ctl_flow.c.
References AL_ATTR_IDX, AL_NEXT_IDX, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_IM_A_DOPE, ATD_TYPE_IDX, ATP_HAS_ALT_RETURN, ATP_PGM_UNIT, ATP_RSLT_IDX, Br_Uncond_Opr, cast_to_cg_default(), cdir_switches, Character, CIF_Symbol_Reference, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, size_offset_entry::constant, copy_entry_exit_sh_list(), COPY_OPND, curr_scp_idx, curr_stmt_sh_idx, Error, expr_semantics(), FALSE, Func_Entry, Func_Exit, Function, Gt_Opr, idx, insert_sh_chain_before(), Integer, 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, NO_Tbl_Idx, NULL, NULL_IDX, cdir_switch_entry::parallel_region, PRINTMSG(), expr_semantics_args::rank, result, SCP_ALT_ENTRY_CNT, SCP_ATTR_IDX, SCP_ENTRY_IDX, SCP_EXIT_IR_SH_IDX, SCP_RETURN_LABEL, SH_IR_IDX, SH_NEXT_IDX, size, size_offset_logical_calc(), stmt_start_col, stmt_start_line, stor_bit_size_of(), Structure, Subroutine, THIS_IS_TRUE, TRACE, TRUE, TYP_TYPE, expr_semantics_args::type, size_offset_entry::type_idx, and xref_state.
void select_stmt_semantics | ( | void | ) |
Definition at line 5065 of file s_ctl_flow.c.
References After, arg_info_list_base, arg_info_list_top, Assignment_Stmt, AT_OBJ_CLASS, AT_Tbl_Idx, ATL_DEF_STMT_IDX, Before, Character, CIF_Symbol_Reference, COPY_OPND, create_tmp_asg(), curr_stmt_sh_idx, defer_stmt_expansion, End_Select_Stmt, Error, expr_semantics(), FALSE, find_opnd_line_and_column(), FREE_SH_NODE, Func_Entry, Func_Exit, gen_sh(), IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, insert_sh_chain(), Integer, Intent_In, Internal, IR_IDX_L, IR_IDX_R, IR_OPND_L, IR_TYPE_IDX, Label, Logical, NULL, NULL_IDX, number_of_functions, PRINTMSG(), process_deferred_functions(), expr_semantics_args::rank, remove_sh(), SH_ERR_FLG, SH_IR_IDX, SH_NEXT_IDX, SH_PREV_IDX, SH_STMT_TYPE, TRACE, tree_produces_dealloc(), TRUE, expr_semantics_args::type, expr_semantics_args::type_idx, validate_char_len(), where_dealloc_stmt_idx, and xref_state.
void set_directives_on_label | ( | int | label_attr | ) |
Definition at line 8094 of file s_ctl_flow.c.
References cdir_switch_entry::aggressiveinnerloopfission, cdir_switch_entry::align, AT_DEF_COLUMN, AT_DEF_LINE, ATL_AGGRESSIVEINNERLOOPFISSION, ATL_ALIGN, ATL_BL, ATL_CNCALL, ATL_CONCURRENT, ATL_DIRECTIVE_LIST, ATL_FISSIONABLE, ATL_FUSABLE, ATL_FUSION, ATL_IVDEP, ATL_MAXCPUS, ATL_NEXTSCALAR, ATL_NOBLOCKING, ATL_NOFISSION, ATL_NOFUSION, ATL_NOINTERCHANGE, ATL_NORECURRENCE, ATL_NOTASK, ATL_NOVECTOR, ATL_NOVSEARCH, ATL_PATTERN, ATL_PERMUTATION, ATL_PREFERSTREAM, ATL_PREFERSTREAM_NOCINV, ATL_PREFERTASK, ATL_PREFERVECTOR, ATL_SHORTLOOP, ATL_SHORTLOOP128, ATL_SPLIT, ATL_STREAM, ATL_UNROLL_DIR, cdir_switch_entry::bl, cdir_switch_entry::blockable_count, Blockable_Dir_Idx, cdir_switch_entry::blockable_group, C_INT_TO_CN, Cache_Bypass_Dir_Idx, cdir_switch_entry::cache_bypass_ir_idx, cdir_switches, CG_INTEGER_DEFAULT_TYPE, clear_cdir_switches(), CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, cdir_switch_entry::cncall, cdir_switch_entry::concurrent, Concurrent_Dir_Idx, cdir_switch_entry::concurrent_idx, COPY_OPND, FALSE, cdir_switch_entry::fissionable, Func_Entry, Func_Exit, cdir_switch_entry::fusable, opt_flags_entry::fusion, idx, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_LIST_CNT, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, cdir_switch_entry::interchange_count, Interchange_Dir_Idx, cdir_switch_entry::interchange_group, cdir_switch_entry::interchange_level, Interchange_Level_Dir_Idx, IR_FLD_L, IR_IDX_L, IR_LIST_CNT_L, cdir_switch_entry::ivdep, cdir_switch_entry::mark, cdir_switch_entry::mark_cmdline_idx, Mark_Dir_Idx, cdir_switch_entry::mark_dir_idx, cdir_switch_entry::maxcpus, Maxcpus_Dir_Idx, cdir_switch_entry::maxcpus_opnd, cdir_switch_entry::nextscalar, cdir_switch_entry::noblocking, cdir_switch_entry::nofission, cdir_switch_entry::nofusion, cdir_switch_entry::nointerchange, cdir_switch_entry::notask_region, NTR_IR_LIST_TBL, NULL, NULL_IDX, Num_Dir_On_List, opt_flags, cdir_switch_entry::pattern, cdir_switch_entry::permutation, cdir_switch_entry::preferstream, cdir_switch_entry::preferstream_nocinv, cdir_switch_entry::prefertask, cdir_switch_entry::prefervector, cdir_switch_entry::recurrence, Safevl_Dir_Idx, cdir_switch_entry::safevl_idx, cdir_switch_entry::shortloop, cdir_switch_entry::shortloop128, cdir_switch_entry::split, cdir_switch_entry::stream, cdir_switch_entry::task, TRACE, TRUE, cdir_switch_entry::unroll_count_idx, cdir_switch_entry::unroll_dir, Unroll_Dir_Idx, opt_flags_entry::unroll_lvl, Unroll_Lvl_2, cdir_switch_entry::vector, and cdir_switch_entry::vsearch.
Referenced by assignment_stmt_semantics(), and do_stmt_semantics().
void set_up_allocate_as_call | ( | int | ir_idx, |
int | attr_idx, | ||
int | stat_list_idx, | ||
boolean | shared_heap | ||
) |
Definition at line 9007 of file s_ctl_flow.c.
References AT_Tbl_Idx, Call_Opr, curr_stmt_sh_idx, Func_Entry, Func_Exit, idx, IL_NEXT_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_L, IR_LIST_CNT_R, IR_OPR, IR_TYPE_IDX, NTR_IR_TBL, NULL, NULL_IDX, SH_IR_IDX, TRACE, and TYPELESS_DEFAULT_TYPE.
Referenced by allocate_stmt_semantics(), deallocate_local_allocatables(), deallocate_stmt_semantics(), and gen_split_alloc().
static void setup_interchange_level_list | ( | opnd_type | do_var_opnd | ) | [static] |
Definition at line 10956 of file s_ctl_flow.c.
References AT_OBJ_CLASS, AT_Tbl_Idx, ATD_CLASS, cdir_switches, Compiler_Tmp, Data_Obj, FALSE, Func_Entry, Func_Exit, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, cdir_switch_entry::interchange_level, cdir_switch_entry::interchange_sh_idx, IR_IDX_L, NULL, NULL_IDX, OPND_IDX, SH_IR_IDX, TRACE, and TRUE.
Referenced by do_stmt_semantics().
static void short_circuit_high_level_if | ( | void | ) | [static] |
Definition at line 8352 of file s_ctl_flow.c.
References And_Opr, Asg_Opr, Assignment_Stmt, AT_Tbl_Idx, Before, Br_True_Opr, CN_Tbl_Idx, COPY_OPND, curr_stmt_sh_idx, Else_Opr, Else_Stmt, End_If_Stmt, Endif_Opr, FALSE, FALSE_VALUE, find_opnd_line_and_column(), Func_Entry, Func_Exit, GEN_COMPILER_TMP_ASG, gen_sh(), If_Opr, If_Stmt, Internal, io_item_must_flatten, 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, LOGICAL_DEFAULT_TYPE, Not_Opr, NTR_IR_TBL, NULL, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, opt_flags, Or_Opr, Paren_Opr, PRINTMSG(), Priv, process_deferred_functions(), set_up_logical_constant(), SH_COL_NUM, SH_GLB_LINE, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, Short_Circuit_Functions, Short_Circuit_Left_Right, opt_flags_entry::short_circuit_lvl, TRACE, tree_produces_dealloc(), TRUE, and TRUE_VALUE.
Referenced by else_stmt_semantics(), and if_stmt_semantics().
void stop_pause_stmt_semantics | ( | void | ) |
Definition at line 5214 of file s_ctl_flow.c.
References ADD_ATTR_TO_LOCAL_LIST, Ansi, arg_info_list, arg_info_list_base, arg_info_list_size, arg_info_list_top, arg_list, arg_list_size, AT_DCL_ERR, AT_Tbl_Idx, ATP_DOES_NOT_RETURN, ATP_NOSIDE_EFFECTS, C_INT_TO_CN, Call_Opr, CG_INTEGER_DEFAULT_TYPE, expr_semantics_args::char_len, Character, Character_1, CHARACTER_DEFAULT_TYPE, CIF_Symbol_Reference, CLEAR_TBL_NTRY, cmd_line_flags, CN_CONST, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, CN_TYPE_IDX, cmd_line_flags_entry::co_array_fortran, compare_cn_and_value(), Const_Len_Char, expr_semantics_args::constant, convert_to_string(), COPY_OPND, create_lib_entry_attr(), curr_stmt_sh_idx, Default_Typed, arg_strct::ed, enlarge_call_list_tables(), enlarge_info_list_table(), Error, expr_semantics(), FALSE, final_arg_work(), opnd_entry::fld, Func_Entry, Func_Exit, glb_tbl_idx, Gt_Opr, opnd_entry::idx, IL_ARG_DESC_IDX, IL_ARG_DESC_VARIANT, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_OPND, IL_Tbl_Idx, init_arg_info, Integer, 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_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, Lt_Opr, max_call_list_size, arg_strct::maybe_modified, NO_Tbl_Idx, ntr_const_tbl(), NTR_IR_LIST_TBL, ntr_type_tbl(), NULL, NULL_IDX, Pause_Attr_Idx, PAUSE_LIB_ENTRY, PAUSE_NAME_LEN, Pause_Opr, PRINTMSG(), expr_semantics_args::rank, SH_IR_IDX, STOP_ALL_LIB_ENTRY, STOP_ALL_NAME_LEN, Stop_Attr_Idx, STOP_LIB_ENTRY, STOP_NAME_LEN, TRACE, TRUE, TYP_CHAR_CLASS, TYP_DESC, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, TYP_WORK_IDX, expr_semantics_args::type, expr_semantics_args::type_idx, type_tbl, TYPELESS_DEFAULT_TYPE, and xref_state.
void then_stmt_semantics | ( | void | ) |
Definition at line 5539 of file s_ctl_flow.c.
References curr_stmt_sh_idx, FREE_SH_NODE, Func_Entry, Func_Exit, NULL, remove_sh(), SH_PREV_IDX, and TRACE.
void where_stmt_semantics | ( | void | ) |
Definition at line 5575 of file s_ctl_flow.c.
References active_forall_sh_idx, alloc_block_end_idx, alloc_block_start_idx, And_Opr, Assignment_Stmt, check_where_conformance(), CIF_Symbol_Reference, COPY_OPND, create_tmp_asg(), curr_stmt_sh_idx, Else_Where_Mask_Stmt, Else_Where_Stmt, Error, EXIT, expr_semantics(), FALSE, find_opnd_line_and_column(), FREE_SH_NODE, Func_Entry, Func_Exit, gen_forall_if_mask(), gen_forall_loops(), gen_ir(), gen_opnd(), IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, Intent_In, Internal, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LIST_CNT_L, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, Logical, NO_Tbl_Idx, Not_Opr, NTR_IR_LIST_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, PRINTMSG(), expr_semantics_args::rank, SH_COL_NUM, SH_ERR_FLG, SH_GLB_LINE, SH_IR_IDX, SH_NEXT_IDX, SH_PARENT_BLK_IDX, SH_PREV_IDX, SH_STMT_TYPE, SH_Tbl_Idx, Statement_Num_Stmt, statement_number, stmt_end_col, stmt_end_line, stmt_semantics, stmt_start_col, stmt_start_line, stmt_type, TRACE, TRUE, expr_semantics_args::type, expr_semantics_args::type_idx, Where_Cnstrct_Opr, Where_Cstrct_Stmt, where_ir_idx, Where_Stmt, and xref_state.
int dt_counter = 0 [static] |
Definition at line 95 of file s_ctl_flow.c.
Referenced by gen_forall_derived_type().
Definition at line 64 of file s_asg_expr.c.
Definition at line 9224 of file s_asg_expr.h.
Referenced by do_stmt_semantics().
void(* stmt_semantics[])() |
stmt_semantics TABLE This table defines an array-of-pointers-to-functions and is indexed by an object of type stmt_type_type which is the reason for the following dependency: THIS TABLE IS ORDER/ADDITION/DELETION DEPENDENT ON THE stmt_type_values enumeration defined in globals.h
Definition at line 65 of file s_driver.h.
Referenced by pgm_unit_semantics(), and where_stmt_semantics().
char USMID[] = "\n@(#)5.0_pl/sources/s_ctl_flow.c 5.13 10/12/99 10:54:10\n" [static] |
Definition at line 37 of file s_ctl_flow.c.