Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
s_ctl_flow.c File Reference
#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"
Include dependency graph for s_ctl_flow.c:

Go to the source code of this file.

Functions

static void case_value_range_semantics (int, int, int)
static void chk_for_unlabeled_stmt (void)
static boolean do_loop_expr_semantics (int, int, opnd_type *)
static void insert_on_left (int, int, int)
static void setup_interchange_level_list (opnd_type)
static void clear_cdir_switches (void)
static void short_circuit_high_level_if (void)
static boolean check_stat_variable (int, opnd_type *, int)
static void asg_opnd_to_tmp (int, opnd_type *, int, int, sh_position_type)
static void gen_Dv_Set_stmt (opnd_type *, operator_type, int, opnd_type *, sh_position_type)
static boolean check_forall_triplet_for_index (opnd_type *)
static boolean gen_forall_max_expr (int, opnd_type *)
static void gen_forall_branch_around (opnd_type *)
static boolean gen_forall_tmp_bd_entry (expr_arg_type *, int *, int, int)
static void determine_lb_ub (int, int, int)
static boolean forall_mask_needs_tmp (opnd_type *)
static void process_attr_links (opnd_type *)
static int gen_forall_derived_type (int, int, int, int)
static int calculate_iteration_count (int, int, int, int, int)
static int convert_to_do_var_type (int, int)
void allocate_stmt_semantics (void)
void arith_if_stmt_semantics (void)
void assign_stmt_semantics (void)
void call_stmt_semantics (void)
void case_stmt_semantics (void)
void continue_stmt_semantics (void)
void deallocate_stmt_semantics (void)
void do_stmt_semantics (void)
void else_stmt_semantics (void)
void forall_semantics (void)
void goto_stmt_semantics (void)
void if_stmt_semantics (void)
void nullify_stmt_semantics (void)
void outmoded_if_stmt_semantics (void)
void return_stmt_semantics (void)
void select_stmt_semantics (void)
void stop_pause_stmt_semantics (void)
void then_stmt_semantics (void)
void where_stmt_semantics (void)
void gen_loop_end_ir ()
int create_alloc_descriptor (int count, int line, int col, boolean shared_heap)
int gen_alloc_header_const (int type_idx, int count, boolean shared_heap, int *second_cn_idx)
void set_directives_on_label (int label_attr)
void set_up_allocate_as_call (int ir_idx, int attr_idx, int stat_list_idx, boolean shared_heap)
void gen_split_alloc (int ir_idx, int lib_attr_idx, int stat_list_idx)
boolean is_local_forall_index (int attr_idx)
void gen_forall_loops (int start_body_sh_idx, int end_body_sh_idx)
void gen_forall_tmp (expr_arg_type *exp_desc, opnd_type *result_opnd, int line, int col, boolean is_pointer)
void gen_forall_if_mask (int start_sh_idx, int end_sh_idx)
boolean check_where_conformance (expr_arg_type *exp_desc)

Variables

static char USMID [] = "\n@(#)5.0_pl/sources/s_ctl_flow.c 5.13 10/12/99 10:54:10\n"
static int dt_counter = 0
void(* stmt_semantics [])()
boolean processing_do_var
boolean has_present_opr

Function Documentation

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.

Here is the call graph for this function:

static void asg_opnd_to_tmp ( int  tmp_idx,
opnd_type opnd,
int  line,
int  col,
sh_position_type  position 
) [static]
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.

Here is the call graph for this function:

static int convert_to_do_var_type ( int  do_var_type_idx,
int  cn_idx 
) [static]
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.

Here is the call graph for this function:

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.

Here is the call graph for this function:

void forall_semantics ( void  )
int gen_alloc_header_const ( int  type_idx,
int  count,
boolean  shared_heap,
int *  second_cn_idx 
)
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]
void gen_forall_if_mask ( int  start_sh_idx,
int  end_sh_idx 
)
void gen_forall_loops ( int  start_body_sh_idx,
int  end_body_sh_idx 
)
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().

Here is the call graph for this function:

static boolean gen_forall_tmp_bd_entry ( expr_arg_type exp_desc,
int *  new_bd_idx,
int  line,
int  col 
) [static]
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().

Here is the call graph for this function:

static void insert_on_left ( int  new_il_idx,
int  curr_il_idx,
int  select_ir_idx 
) [static]
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().

Here is the call graph for this function:

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.

Here is the call graph for this function:

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.

Here is the call graph for this function:


Variable Documentation

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.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines