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 "p_globals.h"
#include "s_globals.h"
Go to the source code of this file.
void array_element_to_scalar | ( | int | i, |
int * | copy_out_array_element, | ||
boolean | dummy_referenced, | ||
boolean | dummy_modified | ||
) |
Definition at line 432 of file inline.c.
References Asg_Opr, Assignment_Stmt, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, Before, call_col_number, call_line_number, call_sh, COPY_OPND, curr_scp_idx, curr_stmt_sh_idx, FALSE, find_base_attr(), Func_Entry, Func_Exit, gen_compiler_tmp(), gen_sh(), IL_NEXT_LIST_IDX, IL_OPND, 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_R, IR_OPR, IR_TYPE_IDX, NTR_IR_TBL, NULL, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, Priv, SCP_SB_STACK_IDX, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, TRACE, and TRUE.
Referenced by srch_for_calls().
void character_to_character | ( | int | i | ) |
Definition at line 575 of file inline.c.
References Asg_Opr, Assignment_Stmt, Assumed_Size_Char, AT_OBJ_NAME_PTR, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, Before, call_col_number, call_line_number, call_sh, CG_INTEGER_DEFAULT_TYPE, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, COPY_OPND, curr_scp_idx, curr_stmt_sh_idx, Dv_Deref_Opr, FALSE, Func_Entry, Func_Exit, gen_compiler_tmp(), gen_sh(), IL_NEXT_LIST_IDX, IL_OPND, inlinable, Inline, IR_COL_NUM, IR_COL_NUM_L, IR_COL_NUM_R, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LINE_NUM_R, IR_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Minus_Opr, NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, pgm_attr_idx, PRINTMSG(), Priv, SCP_SB_STACK_IDX, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, Subscript_Opr, TRACE, TRUE, and TYP_CHAR_CLASS.
Referenced by srch_for_calls().
boolean check_actual_and_dummy | ( | opnd_type | actual, |
opnd_type | dummy, | ||
int | arg | ||
) |
Definition at line 115 of file inline.c.
References AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_CLASS, ATD_PE_ARRAY_IDX, ATD_RESHAPE_ARRAY_OPT, ATD_TYPE_IDX, ATD_WAS_SCOPED, BD_LB_FLD, BD_LB_IDX, BD_RANK, BD_UB_FLD, BD_UB_IDX, call_col_number, call_line_number, Character, CN_Tbl_Idx, CN_TYPE_IDX, Complex, Data_Obj, Eq_Opr, Error, FALSE, fold_relationals(), Func_Entry, Func_Exit, inlinable, Inline, Integer, NULL, NULL_IDX, OPND_FLD, OPND_IDX, pgm_attr_idx, PRINTMSG(), Real, result, Struct_Component, TRACE, TRUE, TYP_LINEAR, and TYP_TYPE.
Referenced by srch_for_calls().
int copy_sbtree | ( | int | idx, |
fld_type | fld | ||
) |
Definition at line 700 of file inline.c.
References ADD_ATTR_TO_LOCAL_LIST, Aloc_Opr, Argchck_Present_Opr, Asg_Opr, Assumed_Size_Char, AT_ATTR_LINK, AT_HOST_ASSOCIATED, AT_NAME_LEN, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_AUTOMATIC, ATD_CLASS, ATD_IM_A_DOPE, ATD_IN_COMMON, ATD_NEXT_MEMBER_IDX, ATD_OFFSET_FLD, ATD_OFFSET_IDX, ATD_PE_ARRAY_IDX, ATD_POINTER, ATD_PTR_IDX, ATD_RESHAPE_ARRAY_OPT, ATD_STOR_BLK_IDX, ATD_TMP_INIT_NOT_DONE, ATD_TYPE_IDX, ATL_DIRECTIVE_LIST, ATP_IN_CURRENT_COMPILE, ATP_INLINE_ALWAYS, ATP_MOD_PATH_IDX, BD_RANK, BD_XT_FLD, BD_XT_IDX, Br_Asg_Opr, Br_Uncond_Opr, Cache_Bypass_Dir_Idx, call_col_number, call_line_number, Call_Opr, CG_INTEGER_DEFAULT_TYPE, Clen_Opr, CN_CONST, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, CN_TYPE_IDX, Common, Compiler_Tmp, Const_Tmp_Loc_Opr, COPY_ATTR_NTRY, COPY_COMMON_ATTR_INFO, COPY_OPND, COPY_TBL_NTRY, COPY_VARIANT_ATTR_INFO, CREATE_ID, CRI__Pointee, CRI_Ch_Ptr, CRI_Ptr, curr_scp_idx, Data_Obj, Doall_Cmic_Opr, Dummy_Argument, entry_label_attr_idx, Entry_Opr, Eq_Opr, exit_label_attr_idx, FALSE, FALSE_VALUE, find_left_attr(), folder_driver(), Func_Entry, Func_Exit, Function_Result, GA_DEFINED, gen_internal_lbl(), GN_ATTR_IDX, Gt_Opr, idx, IL_ARG_DESC_IDX, IL_ARG_DESC_VARIANT, 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, Implied_Do_Opr, Init_Opr, Init_Reloc_Opr, inlinable, Inline, inline_in_effect, opt_flags_entry::inline_lvl, Inline_Lvl_3, insert_init_stmt_for_tmp(), Int_Opr, Integer, Integer_Cdir_Opr, 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, IR_Tbl_Idx, IR_TYPE_IDX, Label, Label_Opr, Loc_Opr, MAX_INLINE_IR, MAX_INLINE_LABELS, name, new_label, next_label_slot, next_pgm_idx, NO_Tbl_Idx, Not_Opr, npi, NTR_ATTR_TBL, NTR_IR_LIST_TBL, NTR_IR_TBL, ntr_stor_blk_tbl(), NULL, NULL_IDX, Null_Opr, Numarg_Opr, number_of_dummy_args, old_label, OPND_FLD, OPND_IDX, opt_flags, parallel_region, pgm_attr_idx, Plus_Opr, Present_Opr, PRINTMSG(), processing_ENTRY_called, Return_Opr, SB_BLANK_COMMON, SB_BLK_TYPE, SB_DEF_MULT_SCPS, SB_FIRST_ATTR_IDX, sb_len, SB_LEN_FLD, SB_LEN_IDX, sb_name, SB_NAME_LEN, SB_NAME_PTR, SB_SCP_IDX, Section_Subscript_Opr, set_up_logical_constant(), SH_Tbl_Idx, srch_global_name_tbl(), srch_stor_blk_tbl(), Static, Static_Local, Static_Named, stor_blk_tbl, id_str_entry::string, Subscript_Opr, Substring_Opr, table_overflow, Task_Common, THIS_IS_TRUE, Threadprivate, TRACE, Triplet_Opr, TRUE, TYP_CHAR_CLASS, TYP_LINEAR, TYP_TYPE, Use_Opr, User_Code_Start_Opr, Warning, What_Blk, Whole_Subscript_Opr, and Whole_Substring_Opr.
Referenced by make_copy_of_routine().
void inline_processing | ( | int | first_sh_idx | ) |
Definition at line 3062 of file inline.c.
References call_col_number, call_line_number, call_sh, Continue_Stmt, curr_scp_idx, curr_stmt_sh_idx, Doall_Cmic_Opr, FALSE, Func_Entry, Func_Exit, inline_in_effect, Internal, IR_OPR, IR_Tbl_Idx, Loop_Info_Opr, loop_nest, MAX_INLINED_ROUTINES, next_pgm_idx, noinline_in_effect, npi, NULL, NULL_IDX, parallel_region, PRINTMSG(), SCP_FIRST_CHILD_IDX, SCP_FIRST_SH_IDX, SCP_SIBLING_IDX, SH_DOALL_LOOP_END, SH_IR_IDX, SH_NEXT_IDX, SH_PARENT_BLK_IDX, SH_STMT_TYPE, something_was_inlined, srch_for_calls(), table_overflow, and TRACE.
Referenced by main().
void make_copy_of_routine | ( | int | original_head | ) |
Definition at line 1808 of file inline.c.
References call_col_number, call_line_number, copy_head, copy_sbtree(), COPY_TBL_NTRY, Func_Entry, Func_Exit, IR_Tbl_Idx, ntr_sh_tbl(), NULL, NULL_IDX, SH_COL_NUM, sh_count, SH_GLB_LINE, SH_IR_IDX, SH_NEXT_IDX, SH_PREV_IDX, sh_tbl, and TRACE.
Referenced by srch_for_calls().
void scalar_dope_to_scalar | ( | int | i, |
int * | copy_out_DV_scalar, | ||
boolean | dummy_referenced | ||
) |
Definition at line 305 of file inline.c.
References Asg_Opr, Assignment_Stmt, Assumed_Size_Char, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, Before, call_col_number, call_line_number, call_sh, CG_INTEGER_DEFAULT_TYPE, Character, CN_INTEGER_THREE_IDX, CN_Tbl_Idx, COPY_OPND, curr_scp_idx, curr_stmt_sh_idx, Dv_Access_El_Len, Dv_Deref_Opr, FALSE, Func_Entry, Func_Exit, gen_compiler_tmp(), gen_sh(), inlinable, IR_COL_NUM, IR_COL_NUM_L, IR_COL_NUM_R, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LINE_NUM_R, IR_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, NTR_IR_TBL, NULL, OPND_FLD, OPND_IDX, Priv, SCP_SB_STACK_IDX, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, Shiftr_Opr, TRACE, TRUE, TYP_CHAR_CLASS, and TYP_TYPE.
Referenced by srch_for_calls().
void srch_for_calls | ( | int | ir_idx, |
fld_type | field | ||
) |
Definition at line 1869 of file inline.c.
References actual_arg_attrs, After, AL_ATTR_IDX, AL_NEXT_IDX, Aloc_Opr, array_element_to_scalar(), Asg_Opr, Assignment_Stmt, Assumed_Size_Char, AT_ACTUAL_ARG, AT_ATTR_LINK, AT_COMPILER_GEND, AT_DEF_IN_CHILD, AT_DEFINED, AT_HOST_ASSOCIATED, AT_IS_DARG, AT_OBJ_CLASS, AT_OBJ_NAME, AT_OBJ_NAME_PTR, AT_OPTIONAL, AT_REFERENCED, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_AUTO_BASE_IDX, ATD_AUTOMATIC, ATD_CLASS, ATD_DV_ALIAS, ATD_IM_A_DOPE, ATD_INTENT, ATD_PE_ARRAY_IDX, ATD_RESHAPE_ARRAY_IDX, ATD_RESHAPE_ARRAY_OPT, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATP_ELEMENTAL, ATP_FIRST_IDX, ATP_FIRST_SH_IDX, ATP_HAS_OVER_INDEXING, ATP_HAS_TASK_DIRS, ATP_INLINE_ALWAYS, ATP_INLINE_NEVER, ATP_NUM_DARGS, ATP_PGM_UNIT, ATP_PROC, ATP_RECURSIVE, ATP_RSLT_IDX, attr_list_tbl_idx, Based, Based_Blk, BD_LB_FLD, BD_LB_IDX, BD_RANK, Before, Br_Uncond_Opr, call_col_number, call_line_number, Call_Opr, call_sh, CG_INTEGER_DEFAULT_TYPE, Character, CHARACTER_DEFAULT_TYPE, character_to_character(), check_actual_and_dummy(), CLEAR_TBL_NTRY, cmd_line_flags, CN_INTEGER_THREE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, Const_Len_Char, Const_Tmp_Loc_Opr, Continue_Stmt, COPY_COMMON_ATTR_INFO, copy_head, Copy_In_Opr, COPY_OPND, Copy_Out_Opr, copy_out_sh, copy_subtree(), COPY_VARIANT_ATTR_INFO, CREATE_ID, CRI_Ch_Ptr, CRI_Ch_Ptr_8, CRI_Ptr, curr_scp_idx, curr_stmt_sh_idx, Data_Obj, Dummy_Proc, Dv_Access_Base_Addr, Dv_Access_El_Len, Dv_Def_Asg_Opr, Dv_Whole_Copy_Opr, entry_label_attr_idx, exit_label_attr_idx, FALSE, find_base_attr(), find_left_attr(), find_prog_unit_tbl(), Func_Entry, Func_Exit, Function, function_call, gen_compiler_tmp(), gen_internal_lbl(), gen_sh(), Goto_Stmt, idx, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, inlinable, Inline, Inline_Cdir_Opr, inline_in_effect, opt_flags_entry::inline_lvl, Inline_Lvl_1, Inline_Lvl_2, insert_sh_chain_before(), Intent_In, Intent_Out, Intrin_Proc, 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, Label_Opr, loop_nest, make_copy_of_routine(), MAX_INLINE_ARGS, MAX_INLINED_ROUTINES, Minus_Opr, Module_Proc, next_copy_out_sh_idx, next_label_slot, next_pgm_idx, NO_Tbl_Idx, Noinline_Cdir_Opr, noinline_in_effect, npi, NTR_ATTR_LIST_TBL, NTR_IR_TBL, ntr_stor_blk_tbl(), ntr_type_tbl(), NULL, NULL_IDX, null_opnd, Null_Opr, number_of_actual_args, number_of_dummy_args, OPND_FLD, OPND_IDX, opt_flags, pgm_attr_idx, PRINTMSG(), Priv, processing_ENTRY_called, Referenced, cmd_line_flags_entry::runtime_arg_call, cmd_line_flags_entry::runtime_arg_count_only, cmd_line_flags_entry::runtime_argument, sb_len, sb_name, scalar_dope_to_scalar(), SCP_ATTR_IDX, SCP_RESHAPE_ARRAY_LIST, SCP_SB_STACK_IDX, sh_count, SH_INLINING_ATTEMPTED, SH_IR_IDX, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, Shiftr_Opr, SN_ATTR_IDX, something_was_inlined, id_str_entry::string, Struct_Opr, Structure, Subscript_Opr, Substring_Opr, table_overflow, TRACE, TRUE, TYP_CHAR_CLASS, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_RESOLVED, TYP_TYPE, TYP_WORK_IDX, type_tbl, TYPELESS_DEFAULT_TYPE, Variable, and Whole_Substring_Opr.
Referenced by inline_processing().
int actual_arg_attrs[MAX_INLINE_ARGS] [static] |
Definition at line 82 of file inline.c.
Referenced by srch_for_calls().
opnd_type actual_opnd[MAX_INLINE_ARGS] [static] |
int call_col_number [static] |
Definition at line 67 of file inline.c.
Referenced by array_element_to_scalar(), character_to_character(), check_actual_and_dummy(), copy_sbtree(), inline_processing(), make_copy_of_routine(), scalar_dope_to_scalar(), and srch_for_calls().
int call_line_number [static] |
Definition at line 66 of file inline.c.
Referenced by array_element_to_scalar(), character_to_character(), check_actual_and_dummy(), copy_sbtree(), inline_processing(), make_copy_of_routine(), scalar_dope_to_scalar(), and srch_for_calls().
int call_sh [static] |
Definition at line 59 of file inline.c.
Referenced by array_element_to_scalar(), character_to_character(), inline_processing(), scalar_dope_to_scalar(), and srch_for_calls().
int copy_head [static] |
Definition at line 77 of file inline.c.
Referenced by make_copy_of_routine(), and srch_for_calls().
int copy_out_sh[MAX_INLINE_ARGS] [static] |
Definition at line 92 of file inline.c.
Referenced by srch_for_calls().
opnd_type dummy_opnd[MAX_INLINE_ARGS] [static] |
int entry_label_attr_idx [static] |
Definition at line 64 of file inline.c.
Referenced by copy_sbtree(), and srch_for_calls().
int exit_label_attr_idx [static] |
Definition at line 65 of file inline.c.
Referenced by copy_sbtree(), and srch_for_calls().
opnd_type flipped_opnd[MAX_INLINE_ARGS] [static] |
boolean function_call [static] |
Definition at line 71 of file inline.c.
Referenced by srch_for_calls().
Definition at line 74 of file inline.c.
Referenced by character_to_character(), check_actual_and_dummy(), copy_sbtree(), scalar_dope_to_scalar(), and srch_for_calls().
boolean inline_in_effect [static] |
Definition at line 76 of file inline.c.
Referenced by copy_sbtree(), inline_processing(), and srch_for_calls().
opnd_type linearized_offset[MAX_INLINE_ARGS][9] [static] |
int loop_nest [static] |
Definition at line 62 of file inline.c.
Referenced by inline_processing(), and srch_for_calls().
int new_label[MAX_INLINE_LABELS] [static] |
Definition at line 81 of file inline.c.
Referenced by copy_sbtree().
int next_copy_out_sh_idx [static] |
Definition at line 79 of file inline.c.
Referenced by srch_for_calls().
int next_label_slot [static] |
Definition at line 78 of file inline.c.
Referenced by copy_sbtree(), and srch_for_calls().
int next_pgm_idx[MAX_INLINED_ROUTINES] [static] |
Definition at line 93 of file inline.c.
Referenced by copy_sbtree(), inline_processing(), and srch_for_calls().
boolean noinline_in_effect [static] |
Definition at line 75 of file inline.c.
Referenced by inline_processing(), and srch_for_calls().
int npi [static] |
Definition at line 61 of file inline.c.
Referenced by copy_sbtree(), inline_processing(), and srch_for_calls().
int number_of_actual_args [static] |
Definition at line 68 of file inline.c.
Referenced by srch_for_calls().
int number_of_dummy_args [static] |
Definition at line 69 of file inline.c.
Referenced by copy_sbtree(), and srch_for_calls().
int old_label[MAX_INLINE_LABELS] [static] |
Definition at line 80 of file inline.c.
Referenced by copy_sbtree().
int parallel_region [static] |
Definition at line 58 of file inline.c.
Referenced by copy_sbtree(), and inline_processing().
int pgm_attr_idx [static] |
Definition at line 63 of file inline.c.
Referenced by assign_storage_blk(), attr_semantics(), character_to_character(), check_actual_and_dummy(), copy_sbtree(), cvrt_proc_to_pdg(), decl_semantics(), insert_argchck_calls(), pgm_unit_semantics(), and srch_for_calls().
boolean processing_ENTRY_called [static] |
Definition at line 73 of file inline.c.
Referenced by copy_sbtree(), and srch_for_calls().
int sh_count [static] |
Definition at line 60 of file inline.c.
Referenced by make_copy_of_routine(), and srch_for_calls().
boolean something_was_inlined [static] |
Definition at line 72 of file inline.c.
Referenced by inline_processing(), and srch_for_calls().
opnd_type struct_tree[MAX_INLINE_ARGS] [static] |
Definition at line 94 of file inline.c.
Referenced by cwh_addr_add_bound(), and cwh_addr_do_bounds_check().
opnd_type subscript_attr[9] [static] |
opnd_type subscripting_tree[MAX_INLINE_ARGS] [static] |
opnd_type substring_len[MAX_INLINE_ARGS] [static] |
opnd_type substring_offset[MAX_INLINE_ARGS] [static] |
Definition at line 89 of file inline.c.
Referenced by interpret_ref().
opnd_type substringing_tree[MAX_INLINE_ARGS] [static] |
boolean table_overflow [static] |
Definition at line 70 of file inline.c.
Referenced by copy_sbtree(), inline_processing(), and srch_for_calls().