Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include "defs.h"
#include "glob.h"
#include "stab.h"
#include "strtab.h"
#include "errors.h"
#include "targ_const.h"
#include "config_targ.h"
#include "config_debug.h"
#include "const.h"
#include "pu_info.h"
#include "wn.h"
#include "wn_util.h"
#include "f90_utils.h"
#include "targ_sim.h"
#include "s_call.m"
#include "i_cvrt.h"
#include "cwh_defines.h"
#include "cwh_addr.h"
#include "cwh_block.h"
#include "cwh_expr.h"
#include "cwh_stk.h"
#include "cwh_types.h"
#include "cwh_preg.h"
#include "cwh_stab.h"
#include "cwh_auxst.h"
#include "cwh_intrin.h"
#include "cwh_stmt.h"
#include "cwh_dst.h"
#include "cwh_directive.h"
#include "sgi_cmd_line.h"
#include "cwh_stmt.i"
#include <stack>
#include "ir_reader.h"
Go to the source code of this file.
Defines | |
#define | MAX_KIDS 6 |
Typedefs | |
typedef std::stack< int > | STKT |
Functions | |
void | fei_arg_associate (INT32 association) |
void | fei_stmt (INT32 lineno, INT32 stmt_character_flag) |
void | fei_user_code_start (void) |
void | fei_object_ref (INTPTR sym_idx, INT32 whole_array, INT32 whole_substring) |
void | fei_seg_ref (INT32 sym_idx) |
void | fei_namelist_ref (INTPTR sym_idx) |
void | fei_member_ref (INT32 sym_idx) |
INTPTR | fei_constant (TYPE type, INT32 Class, char *start, INT64 bitsize) |
void | fei_push_arith_con (INTPTR cdx) |
void | fei_push_pattern_con (INTPTR cdx) |
void | fei_pstore (TYPE result_type) |
void | fei_store (TYPE result_type) |
void | fei_non_conform_store (TYPE result_type) |
static void | cwh_stmt_character_store (TYPE result_type) |
void | fei_function_ref (INTPTR id) |
WN * | cwh_stmt_call_helper (INT32 num_args, TY_IDX ty, INT32 inline_state, INT64 flags) |
void | fei_call (INT32 num_args, TYPE result_type, INT32 call_type, INT32 alt_return_flag, INT32 inline_setting, INT64 flags) |
void | fei_arg_addr (TYPE type) |
void | fei_fcd (TYPE result_type) |
void | fei_addr_con (TYPE type) |
void | fei_entry_pt (INTPTR idx) |
void | fei_goto (INT32 lbl_idx) |
void | fei_arith_goto (INT32 eq_lbl, INT32 gt_lbl, INT32 lt_lbl) |
void | fei_label_ref (INT32 lbl_idx) |
void | fei_label_addr (INT32 lbl_idx) |
static void | cwh_stmt_computed_goto (INT32 num_labels) |
static void | cwh_stmt_assigned_goto (INT32 num_labels) |
static WN * | cwh_stmt_truebr (WN *expr, WN *val, TY_IDX ty, OPERATOR opr, INT32 label_no) |
static void | cwh_stmt_append_truebr (WN *expr, INT64 con, OPERATOR opr, INT32 label_no) |
static WN * | cwh_stmt_falsebr (WN *expr, WN *val, TY_IDX ty, OPERATOR opr, INT32 label_no) |
static void | cwh_stmt_goto (LABEL_IDX label) |
void | fei_indirect_goto (INT32 num_labels, INT32 assign_goto_flag) |
static void | cwh_stmt_select_char (INT32 num_cases, INT32 default_label_idx) |
static void | cwh_stmt_select_case_char (INT32 low_value_pres, INT32 high_value_pres, INT32 case_follows) |
static WN * | cwh_stmt_str_falsebr_util (OPERATOR opr, W_node expr[2], W_node val[2], INT32 label, WN *last_node) |
void | fei_new_select (INT32 num_cases, INT32 default_label_idx, INT32 last_label_idx) |
void | fei_new_select_case (INT64 low_value_pres, INT64 high_value_pres, INT32 case_follows) |
void | fei_label_def_named (INT32 lbl_idx, INT64 label_flag_word, INT32 lineno, INT32 sup_cnt, INT32 keepme, INT32 storage_seg, INT32 safevl, INT32 unroll_cnt, char *mark_name, INT32 pipe_cnt, INT32 last_argument, INT32 unused1, INT32 unused2, INT32 unused3) |
void | fei_brtrue (INT32 lbl_idx) |
void | fei_where (INT32 defined_asg, INT32 inline_state) |
void | fei_stop (void) |
void | fei_return (INT return_kind, TYPE dummy) |
WN * | cwh_stmt_return_scalar (ST *st, WN *rv, TY_IDX rty, BOOL callee_return) |
static void | cwh_stmt_return_altentry (ST *st) |
void | fei_concat (INT32 numops) |
void | cwh_stmt_character_icall (INTRINSIC intrinsic) |
BOOL | cwh_stmt_add_to_preamble (WN *wn, enum site block, enum pu_pragma_placement_t placement) |
void | cwh_stmt_add_pragma (WN_PRAGMA_ID wn_pragma_id, BOOL is_omp, ST *st, INT32 arg1, INT32 arg2) |
void | cwh_stmt_add_xpragma (WN_PRAGMA_ID wn_pragma_id, BOOL is_omp, WN *expr) |
void | fei_enddo (void) |
void | fei_dowhile (void) |
void | fei_doloop (INT32 line) |
void | fei_doforever (void) |
void | fei_if (void) |
void | fei_else (void) |
void | fei_endif (void) |
static void | cwh_inline_allocate (WN **dopes, TY_IDX *types, INT num_dopes, WN *stat) |
void | fei_allocate (INT32 count) |
void | cwh_stmt_init_file (BOOL sgi_mp) |
static void | cwh_stmt_add_parallel_pragmas (void) |
void | cwh_stmt_init_pu (ST *st, INT32 lineno) |
WN * | cwh_stmt_end_pu (void) |
void | cwh_stmt_postprocess_pu (void) |
static void | cwh_stmt_init_srcpos (INT32 lineno) |
static void | cwh_stmt_insert_conformance_check (WN **s1, WN **s2, INT ndims1, INT ndims2, INT first_axis, WN *stmt, WN *block) |
static void | cwh_stmt_conformance_checks_walk (WN *tree, WN *stmt, WN *block, WN **sizes, INT *ndim) |
static void | cwh_stmt_conformance_checks (WN *tree) |
void | fei_use (INT32 rename_only_num, INT32 onlyPredicate) |
void | fei_nullify (INT32 listnum) |
void | fei_gen_func_entry (INTPTR sym_idx) |
void | fei_array_construct (INT32 nlist, TYPE ty) |
void | fei_noio_implied_do () |
Variables | |
static char * | source_file = __FILE__ |
STKT | arg_association_info |
static ST * | allocate_routine_st = NULL |
#define MAX_KIDS 6 |
Definition at line 4444 of file cwh_stmt.cxx.
Referenced by cwh_stmt_conformance_checks_walk().
typedef std::stack<int> STKT |
Definition at line 138 of file cwh_stmt.cxx.
static void cwh_inline_allocate | ( | WN ** | dopes, |
TY_IDX * | types, | ||
INT | num_dopes, | ||
WN * | stat | ||
) | [static] |
Definition at line 3833 of file cwh_stmt.cxx.
References Be_Type_Tbl, Create_Preg(), cwh_addr_store_WN(), cwh_block_append(), cwh_bound_int_typeid, cwh_expr_bincalc(), cwh_expr_operand(), cwh_intrin_make_intrinsic_symbol(), cwh_intrin_wrap_ref_parm(), cwh_intrin_wrap_value_parm(), cwh_stk_push(), cwh_stk_push_typed(), cwh_stmt_return_scalar(), cwh_types_dope_rank(), DEBUG_Trap_Uv, FALSE, fei_get_dv_extent(), fei_get_dv_hdr_fld(), fei_set_dv_hdr_fld(), FLD_type(), Index_To_Str(), is_f90_pointer(), KIND_POINTER, MTYPE_I4, MTYPE_I8, NULL, opc_call, OPR_GT, OPR_INTCONST, OPR_MPY, OPR_SHL, Pointer_Mtype, Save_Str(), size, ST_st_idx(), TY_AR_etype(), TY_fld(), TY_is_f90_pointer(), TY_kind(), TY_pointed(), TY_size(), Ty_Table, WN_COPY_Tree(), WN_Create(), WN_CreateExp2(), WN_Int_Type_Conversion(), WN_Intconst(), WN_item, WN_kid(), WN_LdidPreg(), WN_Set_Call_Does_Mem_Alloc, WN_Set_Call_Non_Data_Mod, WN_Set_Call_Parm_Mod, WN_Set_Call_Parm_Ref, WN_st_idx(), WN_StidPreg, WN_Zerocon(), and WNOPR.
Referenced by fei_allocate().
static void cwh_stmt_add_parallel_pragmas | ( | void | ) | [static] |
Definition at line 4170 of file cwh_stmt.cxx.
References block_pu, cwh_stmt_add_to_preamble(), global_chunk_pragma_set, global_chunk_pragma_value, global_schedtype_pragma_set, global_schedtype_pragma_val, MTYPE_I4, NULL, WN_CreatePragma(), WN_CreateXpragma(), WN_Intconst(), WN_kid0(), WN_PRAGMA_CHUNKSIZE, and WN_PRAGMA_MPSCHEDTYPE.
Referenced by cwh_stmt_init_pu().
void cwh_stmt_add_pragma | ( | WN_PRAGMA_ID | wn_pragma_id, |
BOOL | is_omp, | ||
ST * | st, | ||
INT32 | arg1, | ||
INT32 | arg2 | ||
) |
Definition at line 3323 of file cwh_stmt.cxx.
References cwh_block_append(), wn, WN_CreatePragma(), and WN_set_pragma_omp.
Referenced by cwh_directive_fill_align(), cwh_directive_work_dist(), cwh_doacross(), cwh_mp_region(), cwh_parallel(), cwh_reorder(), fei_assert(), fei_atomic_open_mp(), fei_blocking_size(), fei_concurrentize(), fei_copy_in(), fei_critical_open_mp(), fei_criticalsection(), fei_do_open_mp(), fei_doparallel(), fei_dynamic(), fei_endcritical_open_mp(), fei_endcriticalsection(), fei_endguard(), fei_endordered_open_mp(), fei_fission(), fei_fuse(), fei_guard(), fei_label_def_named(), fei_opaque(), fei_ordered_open_mp(), fei_par_case(), fei_paralleldo_open_mp(), fei_parallelsections_open_mp(), fei_parallelworkshare_open_mp(), fei_pdo(), fei_prefetch(), fei_prefetch_manual(), fei_prefetch_ref(), fei_prefetch_ref_disable(), fei_purple_unconditional(), fei_section(), fei_section_open_mp(), fei_unroll(), fei_user_code_start(), and fei_xxx_openad().
BOOL cwh_stmt_add_to_preamble | ( | WN * | wn, |
enum site | block, | ||
enum pu_pragma_placement_t | placement | ||
) |
Definition at line 3282 of file cwh_stmt.cxx.
References block_ca, block_pu, FALSE, NULL, pu_pragma_placement_first, pu_pragma_placement_last, TRUE, WN_INSERT_BlockFirst, WN_INSERT_BlockLast, WN_pragma_ca, and WN_pragma_pu.
Referenced by cwh_stab_add_pragma(), cwh_stmt_add_parallel_pragmas(), and fei_dependent_independent_openad().
void cwh_stmt_add_xpragma | ( | WN_PRAGMA_ID | wn_pragma_id, |
BOOL | is_omp, | ||
WN * | expr | ||
) |
Definition at line 3347 of file cwh_stmt.cxx.
References cwh_block_append(), NULL, wn, WN_CreateXpragma(), WN_kid0(), and WN_set_pragma_omp.
Referenced by cwh_directive_load_value_pragma(), cwh_directive_work_dist(), cwh_mp_region(), fei_copy_in(), fei_criticalsection(), fei_label_def_named(), fei_page_place(), and fei_purple_conditional().
static void cwh_stmt_append_truebr | ( | WN * | expr, |
INT64 | con, | ||
OPERATOR | opr, | ||
INT32 | label_no | ||
) | [static] |
Definition at line 1892 of file cwh_stmt.cxx.
References Be_Type_Tbl, cwh_block_append(), cwh_make_typed_opcode(), cwh_stmt_truebr(), MTYPE_V, OPR_INTCONST, TY_mtype(), val, wn, WN_CreateIntconst(), and WN_rtype().
Referenced by cwh_stmt_assigned_goto(), and cwh_stmt_computed_goto().
static void cwh_stmt_assigned_goto | ( | INT32 | num_labels | ) | [static] |
Definition at line 1812 of file cwh_stmt.cxx.
References COMPGOTO_IF_ELSE, CURRENT_SYMTAB, cwh_block_append(), cwh_block_current(), cwh_block_new_and_current(), cwh_block_set_current(), cwh_expr_operand(), cwh_stk_pop_LB(), cwh_stmt_append_truebr(), cwh_stmt_goto(), New_LABEL(), NULL, OPR_EQ, wn, WN_COPY_Tree(), WN_CreateCompgoto(), WN_CreateGoto(), and WN_CreateLabel().
Referenced by fei_indirect_goto().
Definition at line 852 of file cwh_stmt.cxx.
References ADDR_item, arg_association_info, block, CHECK_CONTIG_FLAG, CLASS_FUNC, COPY_IN, COPY_IN_COPY_OUT, COPY_IN_MAKE_DV, cwh_addr_load_ST(), cwh_block_append(), cwh_block_exchange_current(), cwh_block_new_and_current(), cwh_expr_address(), cwh_expr_operand(), cwh_intrin_wrap_char_parm(), cwh_intrin_wrap_ref_parm(), cwh_intrin_wrap_value_parm(), cwh_make_typed_opcode(), cwh_stk_count_STRs(), cwh_stk_get_class(), cwh_stk_get_TY(), cwh_stk_pop_ADDR(), cwh_stk_pop_DEREF(), cwh_stk_pop_ST(), cwh_stk_pop_STR(), cwh_stk_pop_WN(), cwh_stk_push(), cwh_stk_push_STR(), cwh_stk_push_typed(), cwh_stmt_return_scalar(), cwh_stmt_sgi_mp_flag, cwh_types_is_character(), cwh_types_WN_TY(), DEREF_item, DevAssert, F90_Wrap_ARREXP(), f_T_PASSED, Fail_FmtAssertion(), FALSE, FE_Call_Never_Return, fe_invoke_inliner, FEI_CALL_DOES_NOT_RETURN, FLD_item, free(), Get_Return_Info(), Get_Return_Mtypes(), KIND_ARRAY, KIND_FUNCTION, KIND_POINTER, len, MAKE_DV, MAKE_NEW_DV, MTYPE_V, NULL, OPC_U4INTCONST, OPR_ARRAYEXP, OPR_CALL, OPR_COMMA, OPR_ICALL, OPR_LDA, OPR_PAREN, OPR_PARM, PASS_ADDRESS, PASS_ADDRESS_FROM_DV, PASS_DV, PASS_DV_COPY, PASS_SECTION_ADDRESS, RETURN_INFO_count(), RETURN_INFO_mtype(), SCLASS_FORMAL, ST_auxst_has_rslt_tmp, ST_auxst_is_elemental, ST_class(), ST_item, ST_item_whole_array, ST_name(), ST_sclass(), ST_st_idx(), ST_type(), STR_item, STRUCT_BY_VALUE, test_flag, TRUE, TY_etype(), WN::ty_fields, TY_kind(), TY_mtype(), TY_pointed(), TY_ret_type(), TY_size(), WN::u3, Use_Simulated, WHIRL_Return_Info_On, WHIRL_Return_Val_On, wn, WN_COPY_Tree(), WN_Create(), WN_CreateBarrier(), WN_CreateComma(), WN_CreateIntconst(), WN_item, WN_item_whole_array, WN_kid(), WN_kid0(), WN_Set_Call_Default_Flags, WN_Set_Call_Dont_Inline, WN_Set_Call_Fortran_Pointer_Rule, WN_Set_Call_Inline, WN_Set_Call_Never_Return, WN_Set_Parm_Check_Contig_Flag, WN_Set_Parm_Copy_In, WN_Set_Parm_Copy_In_Copy_out, WN_Set_Parm_Copy_In_Make_Dv, WN_Set_Parm_Make_Dv, WN_Set_Parm_Make_New_Dv, WN_Set_Parm_Pass_Address, WN_Set_Parm_Pass_Address_From_Dv, WN_Set_Parm_Pass_Dv, WN_Set_Parm_Pass_Dv_Copy, WN_Set_Parm_Pass_Section_Address, WN_set_ty(), WN_st(), WN_st_idx(), and WNOPR.
Referenced by fei_call(), fei_length(), fei_omp_set_lock(), fei_omp_test_lock(), fei_omp_unset_lock(), fei_ranget(), fei_ranset(), fei_rtc(), and fei_unit().
void cwh_stmt_character_icall | ( | INTRINSIC | intrinsic | ) |
Definition at line 3240 of file cwh_stmt.cxx.
References cwh_expr_address(), cwh_expr_operand(), cwh_intrin_call(), cwh_stk_pop_STR(), F90_Wrap_ARREXP(), f_NONE, FALSE, MTYPE_V, NULL, TRUE, and WN_COPY_Tree().
Referenced by cwh_stmt_character_store(), do_char_intrin_nt(), and fei_adjustr().
static void cwh_stmt_character_store | ( | TYPE | result_type | ) | [static] |
Definition at line 771 of file cwh_stmt.cxx.
References cwh_expr_dispose_of_char(), cwh_expr_operand(), cwh_stk_is_byte_STR(), cwh_stk_pop_STR(), cwh_stk_pop_whatever(), cwh_stk_push(), cwh_stmt_character_icall(), fei_store(), NULL, and WN_item.
Referenced by fei_pstore(), and fei_store().
static void cwh_stmt_computed_goto | ( | INT32 | num_labels | ) | [static] |
Definition at line 1698 of file cwh_stmt.cxx.
References COMPGOTO_IF_ELSE, CURRENT_SYMTAB, cwh_block_append(), cwh_block_current(), cwh_block_new_and_current(), cwh_block_set_current(), cwh_expr_operand(), cwh_stk_pop_LB(), cwh_stmt_append_truebr(), cwh_stmt_goto(), New_LABEL(), NULL, OPR_EQ, OPR_LE, OPR_LT, wn, WN_COPY_Tree(), WN_CreateCompgoto(), WN_CreateGoto(), and WN_CreateLabel().
Referenced by fei_indirect_goto().
static void cwh_stmt_conformance_checks | ( | WN * | tree | ) | [static] |
Definition at line 4829 of file cwh_stmt.cxx.
References cwh_stmt_conformance_checks_walk(), and NULL.
Referenced by cwh_stmt_postprocess_pu().
static void cwh_stmt_conformance_checks_walk | ( | WN * | tree, |
WN * | stmt, | ||
WN * | block, | ||
WN ** | sizes, | ||
INT * | ndim | ||
) | [static] |
Definition at line 4447 of file cwh_stmt.cxx.
References cwh_stmt_insert_conformance_check(), DevAssert, F90_Get_Dim(), F90_Is_Transformational(), F90_Size_Walk(), INTRN_ALL, INTRN_ANY, INTRN_COUNT, INTRN_CSHIFT, INTRN_DOT_PRODUCT, INTRN_EOSHIFT, INTRN_MATMUL, INTRN_MAXLOC, INTRN_MAXVAL, INTRN_MINLOC, INTRN_MINVAL, INTRN_PACK, INTRN_PRODUCT, INTRN_RESHAPE, INTRN_SPREAD, INTRN_SUM, INTRN_TRANSPOSE, INTRN_UNPACK, MAX_ARY_DIMS, MAX_KIDS, NULL, numargs, OPERATOR_is_scf(), OPERATOR_is_stmt(), OPR_ARRAY, OPR_ARRAYEXP, OPR_ARRSECTION, OPR_BLOCK, OPR_INTRINSIC_CALL, OPR_INTRINSIC_OP, OPR_ISTORE, OPR_MSTORE, OPR_SRCTRIPLET, OPR_WHERE, WN_DELETE_Tree(), WN_first(), WN_intrinsic(), WN_kid(), WN_kid_count(), WN_next(), and WN_operator().
Referenced by cwh_stmt_conformance_checks().
WN* cwh_stmt_end_pu | ( | void | ) |
Definition at line 4236 of file cwh_stmt.cxx.
References NULL, WN_pragma_ca, WN_pragma_pu, and WN_tree.
Referenced by PDGCS_do_proc().
static WN* cwh_stmt_falsebr | ( | WN * | expr, |
WN * | val, | ||
TY_IDX | ty, | ||
OPERATOR | opr, | ||
INT32 | label_no | ||
) | [static] |
Definition at line 1918 of file cwh_stmt.cxx.
References cwh_make_typed_opcode(), Mtype_comparison(), MTYPE_I4, TY_mtype(), wn, WN_CreateExp2(), and WN_CreateFalsebr().
Referenced by fei_new_select_case().
static void cwh_stmt_goto | ( | LABEL_IDX | label | ) | [static] |
Definition at line 1942 of file cwh_stmt.cxx.
References cwh_block_append(), wn, and WN_CreateGoto().
Referenced by cwh_stmt_assigned_goto(), cwh_stmt_computed_goto(), fei_arith_goto(), and fei_goto().
void cwh_stmt_init_file | ( | BOOL | sgi_mp | ) |
Definition at line 4154 of file cwh_stmt.cxx.
References cwh_addr_init_target(), and cwh_stmt_sgi_mp_flag.
Referenced by PDGCS_initialize().
void cwh_stmt_init_pu | ( | ST * | st, |
INT32 | lineno | ||
) |
Definition at line 4197 of file cwh_stmt.cxx.
References current_srcpos, cwh_auxst_arglist(), cwh_auxst_num_dummies(), cwh_block_current(), cwh_block_new_and_current(), cwh_block_toggle_debug(), cwh_stmt_add_parallel_pragmas(), cwh_stmt_init_srcpos(), FALSE, NULL, USRCPOS_srcpos, WN_CreateEntry(), WN_CreateIdname(), WN_kid(), WN_pragma_ca, WN_pragma_pu, WN_Set_Linenum(), and WN_tree.
Referenced by fei_proc_body().
static void cwh_stmt_init_srcpos | ( | INT32 | lineno | ) | [static] |
Definition at line 4286 of file cwh_stmt.cxx.
References current_srcpos, cwh_dst_enter_path(), Get_Current_PU(), global_to_local_file(), global_to_local_line_number(), last_file_name, NULL, Set_Error_Line(), Set_Error_Source(), USRCPOS_clear, USRCPOS_filenum, and USRCPOS_linenum.
Referenced by cwh_stmt_init_pu(), and fei_stmt().
static void cwh_stmt_insert_conformance_check | ( | WN ** | s1, |
WN ** | s2, | ||
INT | ndims1, | ||
INT | ndims2, | ||
INT | first_axis, | ||
WN * | stmt, | ||
WN * | block | ||
) | [static] |
Definition at line 4341 of file cwh_stmt.cxx.
References Create_Preg(), cwh_convert_to_ty(), cwh_dst_filename_from_filenum(), cwh_intrin_wrap_value_parm(), FALSE, Index_To_Str(), Is_True, MTYPE_I4, MTYPE_I8, MTYPE_V, OPR_INTCONST, OPR_INTRINSIC_CALL, Save_Str(), SRCPOS_filenum, SRCPOS_linenum, t1, TRUE, WN_const_val(), WN_COPY_Tree(), WN_Create_Intrinsic(), WN_CreateBlock(), WN_CreateIf(), WN_DELETE_Tree(), WN_EQ, WN_Get_Linenum(), WN_GT, WN_INSERT_BlockBefore(), WN_INSERT_BlockFirst, WN_Intconst(), WN_LAND, WN_LdaString(), WN_LdidPreg(), WN_LIOR, WN_NE, WN_operator(), WN_StidPreg, and WN_Zerocon().
Referenced by cwh_stmt_conformance_checks_walk().
void cwh_stmt_postprocess_pu | ( | void | ) |
Definition at line 4253 of file cwh_stmt.cxx.
References cwh_stmt_conformance_checks(), DEBUG_Conform_Check, and WN_tree.
Referenced by PDGCS_do_proc().
static void cwh_stmt_return_altentry | ( | ST * | st | ) | [static] |
Definition at line 3034 of file cwh_stmt.cxx.
References Be_Type_Tbl, cwh_addr_ldid(), cwh_addr_load_ST(), cwh_addr_store_ST(), cwh_auxst_arglist(), cwh_block_append(), cwh_stab_altentry_TY(), Fail_FmtAssertion(), Float32_Preg, Float64_Preg, Get_Current_PU(), Get_Return_Info(), Get_Return_Mtypes(), Get_Return_Pregs(), MTYPE_C4, MTYPE_CQ, MTYPE_F8, MTYPE_is_float, MTYPE_To_PREG, MTYPE_V, OPC_C4STID, OPC_FQSTID, OPR_RETURN_VAL, Procedure_ST, RETURN_INFO_count(), RETURN_INFO_mtype(), RETURN_INFO_preg(), Set_PU_has_very_high_whirl(), ST_auxst_altentry_shareTY, ST_base(), TY_mtype(), TY_size(), Use_Simulated, WHIRL_Return_Info_On, WHIRL_Return_Val_On, wn, WN_CreateReturn_Val(), and WN_CreateStid().
Referenced by fei_return().
Definition at line 2904 of file cwh_stmt.cxx.
References Be_Type_Tbl, cwh_addr_ldid(), cwh_addr_load_ST(), cwh_addr_mk_ldid(), cwh_addr_store_ST(), Fail_FmtAssertion(), Get_Current_PU(), Get_Return_Info(), Get_Return_Mtypes(), Get_Return_Pregs(), IS_ALTENTRY_TEMP, KIND_STRUCT, MTYPE_To_PREG, MTYPE_V, NULL, OPR_RETURN_VAL, PREG2_OFFSET, RETURN_INFO_count(), RETURN_INFO_mtype(), RETURN_INFO_preg(), Return_Val_Preg, Set_PU_has_very_high_whirl(), ST_base(), ST_type(), STRUCT_BY_VALUE, TY_kind(), TY_mtype(), Use_Simulated, WHIRL_Return_Info_On, WHIRL_Return_Val_On, wn, and WN_CreateReturn_Val().
Referenced by cwh_inline_allocate(), cwh_intrin_ieee_intrin_call_helper(), cwh_intrin_ieee_intrin_helper(), cwh_intrin_sync_intrin(), cwh_stmt_call_helper(), fei_malloc(), and fei_return().
static void cwh_stmt_select_case_char | ( | INT32 | low_value_pres, |
INT32 | high_value_pres, | ||
INT32 | case_follows | ||
) | [static] |
Definition at line 2072 of file cwh_stmt.cxx.
References cast_to_void, CURRENT_SYMTAB, cwh_block_insert_after(), cwh_expr_operand(), cwh_expr_str_operand(), cwh_stk_pop_LB(), cwh_stk_push(), cwh_stk_push_STR(), cwh_stmt_str_falsebr_util(), last_node, LB_item, LKIND_SELECT_GEN, New_LABEL(), NULL, OPC_I4INTCONST, OPR_EQ, OPR_GE, OPR_LE, Set_LABEL_KIND(), val, W_ty, W_wn, WN_const_val(), WN_COPY_Tree(), WN_CreateGoto(), WN_CreateIntconst(), WN_CreateLabel(), and WN_item.
Referenced by fei_new_select_case().
static void cwh_stmt_select_char | ( | INT32 | num_cases, |
INT32 | default_label_idx | ||
) | [static] |
Definition at line 1998 of file cwh_stmt.cxx.
References cast_to_LB, cwh_block_current(), cwh_expr_str_operand(), cwh_stk_push(), cwh_stk_push_STR(), last_node, OPC_I4INTCONST, W_ty, W_wn, WN_CreateGoto(), WN_CreateIntconst(), WN_DELETE_Tree(), WN_item, and WN_last().
Referenced by fei_new_select().
static WN* cwh_stmt_str_falsebr_util | ( | OPERATOR | opr, |
W_node | expr[2], | ||
W_node | val[2], | ||
INT32 | label, | ||
WN * | last_node | ||
) | [static] |
Definition at line 2184 of file cwh_stmt.cxx.
References cwh_block_insert_after(), cwh_expr_compare(), cwh_expr_operand(), cwh_stk_push_STR(), NULL, W_ty, W_wn, WN_CreateFalsebr(), and WN_item.
Referenced by cwh_stmt_select_case_char().
static WN* cwh_stmt_truebr | ( | WN * | expr, |
WN * | val, | ||
TY_IDX | ty, | ||
OPERATOR | opr, | ||
INT32 | label_no | ||
) | [static] |
Definition at line 1867 of file cwh_stmt.cxx.
References cwh_make_typed_opcode(), Mtype_comparison(), MTYPE_I4, TY_mtype(), wn, WN_CreateExp2(), and WN_CreateTruebr().
Referenced by cwh_stmt_append_truebr(), and fei_arith_goto().
void fei_addr_con | ( | TYPE | type | ) |
Definition at line 1432 of file cwh_stmt.cxx.
References ADDR_item, Be_Type_Tbl, cwh_addr_address_ST(), cwh_expr_address(), cwh_stk_get_class(), cwh_stk_get_TY(), cwh_stk_pop_STR(), cwh_stk_pop_WN(), cwh_stk_push(), cwh_stk_push_STR(), cwh_stk_push_typed(), Enter_tcon(), f_T_PASSED, Host_To_Targ(), New_Const_Sym(), OPR_INTCONST, STR_item, TY_mtype(), wn, WN_const_val(), WN_st(), WNOPR, and WNRTY.
Referenced by cvrt_exp_to_pdg().
void fei_allocate | ( | INT32 | count | ) |
Definition at line 4015 of file cwh_stmt.cxx.
References Be_Type_Tbl, cwh_addr_address_ST(), cwh_addr_stid(), cwh_block_append(), cwh_expr_operand(), cwh_expr_set_flags(), cwh_inline_allocate(), cwh_intrin_wrap_ref_parm(), cwh_intrin_wrap_value_parm(), cwh_stab_address_temp_ST(), cwh_stk_get_TY(), cwh_stk_pop_ST(), cwh_types_array_util(), cwh_types_WN_TY(), DevAssert, f_T_PASSED, FALSE, free(), MTYPE_V, NULL, OPC_I8INTCONST, OPC_VCALL, OPR_INTCONST, Pointer_Mtype, Pointer_Size, Set_ARB_stride_val(), Set_ARB_ubnd_val(), Set_ST_base(), ST_name(), ST_st_idx(), stat, TRUE, TY_arb(), wn, WN_const_val(), WN_COPY_Tree(), WN_Create(), WN_DELETE_Tree(), WN_Intconst(), WN_kid(), WN_kid0(), WN_kid1(), WN_opcode(), WN_Set_Call_Does_Mem_Free, WN_Set_Call_Parm_Mod, WN_Set_Call_Parm_Ref, WN_set_opcode(), WN_Set_Parm_Dummy, WN_st_idx(), and WNOPR.
Referenced by cvrt_exp_to_pdg().
void fei_arg_addr | ( | TYPE | type | ) |
Definition at line 1332 of file cwh_stmt.cxx.
References ADDR_item, cwh_addr_offset(), cwh_expr_address(), cwh_stk_get_class(), cwh_stk_get_TY(), cwh_stk_pop_STR(), cwh_stk_pop_WN(), cwh_stk_push(), cwh_stk_push_STR(), cwh_stk_push_typed(), cwh_types_array_TY(), cwh_types_fld_dummy(), cwh_types_make_pointer_type(), cwh_types_scalar_TY(), cwh_types_WN_TY(), DevAssert, f_T_PASSED, FALSE, FLD_item, FLD_HANDLE::Idx(), FLD_det::off, OPR_ARRAY, STR_item, FLD_det::type, wn, WN_item_whole_array, WN_kid0(), and WNOPR.
Referenced by cvrt_exp_to_pdg().
void fei_arg_associate | ( | INT32 | association | ) |
Definition at line 142 of file cwh_stmt.cxx.
References arg_association_info.
Referenced by cvrt_exp_to_pdg().
void fei_arith_goto | ( | INT32 | eq_lbl, |
INT32 | gt_lbl, | ||
INT32 | lt_lbl | ||
) |
Definition at line 1548 of file cwh_stmt.cxx.
References Be_Type_Tbl, cast_to_LB, cwh_block_append(), cwh_expr_operand(), cwh_make_typed_opcode(), cwh_stmt_goto(), cwh_stmt_truebr(), MTYPE_is_integral, MTYPE_V, NULL, OPR_GE, OPR_GT, OPR_INTCONST, OPR_LE, OPR_LT, OPR_NE, OPR_SUB, TY_mtype(), wn, WN_COPY_Tree(), WN_CreateIntconst(), WN_kid0(), WN_kid1(), WN_operator(), and WN_rtype().
Referenced by cvrt_exp_to_pdg().
void fei_array_construct | ( | INT32 | nlist, |
TYPE | ty | ||
) |
Definition at line 4972 of file cwh_stmt.cxx.
References ADDR_item, cast_to_TY, cwh_expr_operand(), cwh_stk_get_class(), cwh_stk_pop_ADDR(), cwh_stk_pop_DEREF(), cwh_stk_pop_STR(), cwh_stk_pop_WN(), cwh_stk_push(), DEREF_item, DevAssert, FLD_item, MTYPE_V, NULL, OPR_ARRAY_CONSTRUCT, ST_item, ST_item_whole_array, STR_item, t_TY, TY_mtype(), wn, WN_Create(), WN_item, WN_item_whole_array, and WN_kid().
Referenced by cvrt_exp_to_pdg().
void fei_brtrue | ( | INT32 | lbl_idx | ) |
Definition at line 2589 of file cwh_stmt.cxx.
References cast_to_LB, cwh_block_append(), cwh_expr_operand(), NULL, wn, and WN_CreateTruebr().
Referenced by cvrt_exp_to_pdg().
void fei_call | ( | INT32 | num_args, |
TYPE | result_type, | ||
INT32 | call_type, | ||
INT32 | alt_return_flag, | ||
INT32 | inline_setting, | ||
INT64 | flags | ||
) |
Definition at line 1301 of file cwh_stmt.cxx.
References cast_to_TY, cwh_stmt_call_helper(), and t_TY.
Referenced by cvrt_exp_to_pdg(), and fei_where().
void fei_concat | ( | INT32 | numops | ) |
Definition at line 3140 of file cwh_stmt.cxx.
References cwh_addr_temp_section(), cwh_bound_int_typeid, cwh_expr_address(), cwh_expr_bincalc(), cwh_expr_temp(), cwh_intrin_call(), cwh_stk_get_class(), cwh_stk_pop_STR(), cwh_stk_pop_WN(), cwh_stk_push_STR(), cwh_types_array_temp_TY(), cwh_types_mk_character_TY(), DevAssert, F90_Wrap_ARREXP(), f_T_PASSED, FALSE, free(), MTYPE_V, NULL, OPR_ADD, OPR_ARRAYEXP, STR_item, TRUE, wn, WN_COPY_Tree(), WN_item, WN_Zerocon(), and WNOPR.
Referenced by cvrt_exp_to_pdg().
INTPTR fei_constant | ( | TYPE | type, |
INT32 | Class, | ||
char * | start, | ||
INT64 | bitsize | ||
) |
Definition at line 306 of file cwh_stmt.cxx.
References Arith_Const, type_descriptor::basic_type, cast_to_int, cast_to_ST, cast_to_STB, cast_to_TY, cast_to_void, cast_to_WN, Char_Fortran, cwh_stab_const(), cwh_stab_packet(), cwh_stab_packet_typed(), cwh_stk_push(), cwh_stk_push_STR(), cwh_stk_push_typed(), DevAssert, fei_arith_con(), fei_pattern_con(), al::form, is_PCONST, is_SCONST, is_WN, al::item, OPC_U4INTCONST, Pattern_Const, PCONST_item, ST_item, ST_type(), t_TY, TY_size(), wn, WN_COPY_Tree(), WN_CreateIntconst(), and WN_item.
Referenced by blank_padding(), and cvrt_exp_to_pdg().
void fei_doforever | ( | void | ) |
Definition at line 3730 of file cwh_stmt.cxx.
References cwh_block_push_block(), FALSE, and NULL.
Referenced by cvrt_exp_to_pdg().
void fei_doloop | ( | INT32 | line | ) |
Definition at line 3434 of file cwh_stmt.cxx.
References Be_Type_Tbl, CLASS_PREG, Create_Preg(), nested_do::current, current_srcpos, cwh_addr_extent(), cwh_addr_istore(), cwh_addr_load_ST(), cwh_addr_load_WN(), cwh_addr_stid(), cwh_addr_store_ST(), cwh_addr_store_WN(), cwh_block_append(), cwh_block_append_given(), cwh_block_push_block(), cwh_block_set_current(), cwh_convert_to_ty(), cwh_directive_insert_do_loop_directives(), cwh_doloop_typeid, cwh_expr_bincalc(), cwh_expr_operand(), cwh_mp_region(), cwh_preg_temp_save(), cwh_stk_get_class(), cwh_stk_pop_ST(), cwh_stk_pop_WHIRL(), cwh_types_scalar_TY(), cwh_types_WN_TY(), nested_do::depth, nested_do::explicit_end, FALSE, global_to_local_line_number(), Index_To_Str(), Mtype_comparison(), MTYPE_I4, MTYPE_I8, MTYPE_To_PREG, nested_do_descriptor, NULL, OPR_ADD, OPR_CONST, OPR_GE, OPR_INTCONST, OPR_LDID, OPR_LE, OPR_LT, OPR_MPY, OPR_NE, parallel_do_count, Save_Str(), SCLASS_FORMAL, ST_class(), ST_item, ST_item_whole_array, ST_sclass(), ST_type(), start, stride, Top_of_Loop_Block, TRUE, TY_mtype(), TY_pointed(), nested_do::type, USRCPOS_clear, USRCPOS_filenum, USRCPOS_linenum, USRCPOS_srcpos, WN_const_val(), WN_COPY_Tree(), WN_CreateBlock(), WN_CreateDO(), WN_CreateExp2(), WN_CreateIdname(), WN_DELETE_Tree(), WN_Intconst(), WN_Ldid(), WN_LdidPreg(), WN_PRAGMA_PARALLEL_DO, WN_PRAGMA_PDO_BEGIN, WN_Set_Linenum(), WN_st(), WN_Stid(), WN_StidPreg, and WNOPR.
Referenced by cvrt_exp_to_pdg().
void fei_dowhile | ( | void | ) |
Definition at line 3392 of file cwh_stmt.cxx.
References block, current_srcpos, cwh_block_append(), cwh_block_push_block(), cwh_block_set_current(), cwh_expr_operand(), FALSE, NULL, USRCPOS_srcpos, WN_CreateBlock(), WN_CreateWhileDo(), and WN_Set_Linenum().
Referenced by cvrt_exp_to_pdg().
void fei_else | ( | void | ) |
Definition at line 3781 of file cwh_stmt.cxx.
References cwh_block_set_current(), cwh_stk_pop_WN(), cwh_stk_push(), WN_item, and WN_kid2().
Referenced by cvrt_exp_to_pdg().
void fei_enddo | ( | void | ) |
Definition at line 3368 of file cwh_stmt.cxx.
References cwh_auxst_clear(), cwh_block_append(), cwh_block_pop_block(), FE_Endloop_Marker, wn, WN_CreateComment(), and WN_st().
Referenced by cvrt_exp_to_pdg().
void fei_endif | ( | void | ) |
Definition at line 3808 of file cwh_stmt.cxx.
References cwh_block_pop_block(), and cwh_stk_pop_WN().
Referenced by cvrt_exp_to_pdg().
void fei_entry_pt | ( | INTPTR | idx | ) |
Definition at line 1488 of file cwh_stmt.cxx.
References cast_to_ST, cast_to_STB, cwh_auxst_arglist(), cwh_auxst_num_dummies(), cwh_block_append(), cwh_block_toggle_debug(), FALSE, al::item, OPC_ALTENTRY, ST_st_idx(), wn, WN_Create(), WN_CreateIdname(), WN_kid(), and WN_st_idx().
Referenced by cvrt_exp_to_pdg().
Definition at line 1396 of file cwh_stmt.cxx.
References ADDR_item, cwh_stk_get_TY(), cwh_stk_pop_WHIRL(), cwh_stk_push_STR(), cwh_types_WN_TY(), FALSE, OPR_INTCONST, Pointer_Mtype, wn, WN_const_val(), WN_DELETE_Tree(), WN_Intconst(), and WNOPR.
Referenced by cvrt_exp_to_pdg().
void fei_function_ref | ( | INTPTR | id | ) |
Definition at line 804 of file cwh_stmt.cxx.
References cast_to_ST, cast_to_STB, cwh_stk_push(), DevAssert, al::form, is_ST, al::item, NULL, and ST_item.
Referenced by cvrt_exp_to_pdg().
void fei_gen_func_entry | ( | INTPTR | sym_idx | ) |
Definition at line 4937 of file cwh_stmt.cxx.
References cast_to_ST, cast_to_STB, cwh_auxst_arglist(), cwh_auxst_num_dummies(), cwh_block_toggle_debug(), cwh_stk_push(), DevAssert, FALSE, al::form, is_ST, al::item, OPC_FUNC_ENTRY, ST_st_idx(), wn, WN_Create(), WN_CreateIdname(), WN_entry_name, WN_item, and WN_kid().
Referenced by send_interface_list().
Definition at line 1522 of file cwh_stmt.cxx.
References cast_to_LB, and cwh_stmt_goto().
Referenced by cvrt_exp_to_pdg().
void fei_if | ( | void | ) |
Definition at line 3744 of file cwh_stmt.cxx.
References current_srcpos, cwh_block_append(), cwh_block_push_block(), cwh_block_set_current(), cwh_expr_operand(), cwh_stk_push(), FALSE, NULL, USRCPOS_srcpos, WN_CreateBlock(), WN_CreateIf(), WN_item, and WN_Set_Linenum().
Referenced by cvrt_exp_to_pdg().
void fei_indirect_goto | ( | INT32 | num_labels, |
INT32 | assign_goto_flag | ||
) |
Definition at line 1961 of file cwh_stmt.cxx.
References cwh_stmt_assigned_goto(), and cwh_stmt_computed_goto().
Referenced by cvrt_exp_to_pdg().
void fei_label_addr | ( | INT32 | lbl_idx | ) |
Definition at line 1667 of file cwh_stmt.cxx.
References CURRENT_SYMTAB, cwh_assign_label_id, cwh_auxst_assign_id(), cwh_stk_push(), OPC_I4INTCONST, wn, WN_CreateIntconst(), and WN_item.
Referenced by cvrt_exp_to_pdg().
void fei_label_def_named | ( | INT32 | lbl_idx, |
INT64 | label_flag_word, | ||
INT32 | lineno, | ||
INT32 | sup_cnt, | ||
INT32 | keepme, | ||
INT32 | storage_seg, | ||
INT32 | safevl, | ||
INT32 | unroll_cnt, | ||
char * | mark_name, | ||
INT32 | pipe_cnt, | ||
INT32 | last_argument, | ||
INT32 | unused1, | ||
INT32 | unused2, | ||
INT32 | unused3 | ||
) |
Definition at line 2471 of file cwh_stmt.cxx.
References ASSERT_DO_SERIAL, cast_to_LB, cast_to_void, cwh_block_append(), cwh_directive_barrier_insert(), cwh_expr_operand(), cwh_stk_push(), cwh_stmt_add_pragma(), cwh_stmt_add_xpragma(), FALSE, FEI_LABEL_DEF_NAMED_AGGRESSIVEINNERLOOPFISSION, FEI_LABEL_DEF_NAMED_CASE, FEI_LABEL_DEF_NAMED_CONCCALLS, FEI_LABEL_DEF_NAMED_DO_BL, FEI_LABEL_DEF_NAMED_FISSIONABLE, FEI_LABEL_DEF_NAMED_FUSABLE, FEI_LABEL_DEF_NAMED_IVDEP, FEI_LABEL_DEF_NAMED_LOOPCHK, FEI_LABEL_DEF_NAMED_MAXCPUS, FEI_LABEL_DEF_NAMED_NEXTSCALAR, FEI_LABEL_DEF_NAMED_NOBLOCKING, FEI_LABEL_DEF_NAMED_NOFISSION, FEI_LABEL_DEF_NAMED_NOFUSION, FEI_LABEL_DEF_NAMED_NOINTERCHANGE, FEI_LABEL_DEF_NAMED_NOREDUCE, FEI_LABEL_DEF_NAMED_NOT_REFERENCED, FEI_LABEL_DEF_NAMED_NOTASK, FEI_LABEL_DEF_NAMED_PERMUTATION, FEI_LABEL_DEF_NAMED_SELECT_TASK, FEI_LABEL_DEF_NAMED_SHORTLOOP, FEI_LABEL_DEF_NAMED_SHORTLOOP128, FEI_LABEL_DEF_NAMED_SUPPRESS, FEI_LABEL_DEF_NAMED_UNROLL, LB_item, NULL, test_flag, wn, WN_CreateLabel(), WN_PRAGMA_AGGRESSIVE_INNER_LOOP_FISSION, WN_PRAGMA_CRI_BL, WN_PRAGMA_CRI_MAXCPUS, WN_PRAGMA_CRI_PREFERTASK, WN_PRAGMA_CRI_SHORTLOOP, WN_PRAGMA_FISSIONABLE, WN_PRAGMA_FUSEABLE, WN_PRAGMA_IVDEP, WN_PRAGMA_KAP_ASSERT_CONCURRENT_CALL, WN_PRAGMA_KAP_ASSERT_DO, WN_PRAGMA_KAP_ASSERT_PERMUTATION, WN_PRAGMA_NEXT_SCALAR, WN_PRAGMA_NO_BLOCKING, WN_PRAGMA_NO_FISSION, WN_PRAGMA_NO_FUSION, WN_PRAGMA_NO_INTERCHANGE, WN_PRAGMA_NORECURRENCE, and WN_PRAGMA_UNROLL.
Referenced by send_label_def().
void fei_label_ref | ( | INT32 | lbl_idx | ) |
Definition at line 1642 of file cwh_stmt.cxx.
References cast_to_LB, cast_to_void, cwh_stk_push(), and LB_item.
Referenced by cvrt_exp_to_pdg().
void fei_member_ref | ( | INT32 | sym_idx | ) |
Definition at line 278 of file cwh_stmt.cxx.
References cast_to_void, cwh_stk_push(), and FLD_item.
Referenced by cvrt_exp_to_pdg().
void fei_namelist_ref | ( | INTPTR | sym_idx | ) |
Definition at line 261 of file cwh_stmt.cxx.
References fei_object_ref().
Referenced by cvrt_exp_to_pdg().
void fei_new_select | ( | INT32 | num_cases, |
INT32 | default_label_idx, | ||
INT32 | last_label_idx | ||
) |
Definition at line 2236 of file cwh_stmt.cxx.
References Be_Type_Tbl, cast_to_LB, cwh_addr_load_ST(), cwh_addr_store_ST(), cwh_block_append(), cwh_block_current(), cwh_block_new_and_current(), cwh_block_set_current(), cwh_expr_operand(), cwh_stab_temp_ST(), cwh_stk_get_class(), cwh_stk_pop_WN(), cwh_stk_push(), cwh_stmt_select_char(), kind, Label_Table, last_node, LKIND_INTERNAL, LKIND_SELECT_GEN, NULL, OPC_I4INTCONST, OPR_ILOAD, OPR_STRCTFLD, STR_item, wn, WN_COPY_Tree(), WN_CreateGoto(), WN_CreateIntconst(), WN_CreateSwitch(), WN_DELETE_Tree(), WN_item, WN_kid0(), WN_last(), WN_operator(), and WN_rtype().
Referenced by cvrt_exp_to_pdg().
void fei_new_select_case | ( | INT64 | low_value_pres, |
INT64 | high_value_pres, | ||
INT32 | case_follows | ||
) |
Definition at line 2354 of file cwh_stmt.cxx.
References Be_Type_Tbl, cast_to_void, CURRENT_SYMTAB, cwh_addr_stid(), cwh_block_append_given_block(), cwh_block_insert_after(), cwh_expr_operand(), cwh_stk_get_class(), cwh_stk_pop_LB(), cwh_stk_push(), cwh_stmt_falsebr(), cwh_stmt_select_case_char(), kind, Label_Table, last_node, LB_item, LKIND_INTERNAL, LKIND_SELECT_GEN, New_LABEL(), NULL, OPC_I4INTCONST, OPR_GE, OPR_LE, Set_LABEL_KIND(), STR_item, wn, WN_const_val(), WN_COPY_Tree(), WN_CreateCasegoto(), WN_CreateIntconst(), WN_CreateLabel(), WN_item, WN_rtype(), and WN_st().
Referenced by cvrt_exp_to_pdg().
void fei_noio_implied_do | ( | void | ) |
Definition at line 5026 of file cwh_stmt.cxx.
References ADDR_item, cwh_expr_operand(), cwh_stk_get_class(), cwh_stk_pop_ADDR(), cwh_stk_pop_STR(), cwh_stk_pop_WN(), cwh_stk_push(), DevAssert, FLD_item, MTYPE_V, NULL, OPR_IMPLIED_DO, ST_item, ST_item_whole_array, STR_item, wn, WN_Create(), WN_item, WN_item_whole_array, and WN_kid().
Referenced by cvrt_exp_to_pdg().
void fei_non_conform_store | ( | TYPE | result_type | ) |
Definition at line 675 of file cwh_stmt.cxx.
References cwh_addr_nonc_util(), cwh_addr_offset(), cwh_expr_extract_arrayexp(), cwh_stk_get_class(), cwh_stk_get_TY(), cwh_stk_pop_STR(), cwh_stk_pop_WHIRL(), cwh_stk_pop_WN(), cwh_stk_push(), cwh_stk_push_STR(), cwh_stk_push_typed(), cwh_types_fld_dummy(), cwh_types_WN_TY(), DELETE_ARRAYEXP_WN, FALSE, fei_store(), FLD_item, FLD_HANDLE::Idx(), FLD_HANDLE::Is_Null(), FLD_det::off, STR_item, FLD_det::type, and WN_item.
Referenced by cvrt_exp_to_pdg().
void fei_nullify | ( | INT32 | listnum | ) |
Definition at line 4872 of file cwh_stmt.cxx.
References cwh_addr_ldid(), cwh_addr_offset(), cwh_block_append(), cwh_expr_bincalc(), cwh_expr_extract_arrayexp(), cwh_expr_operand(), cwh_stk_get_class(), cwh_stk_get_TY(), cwh_stk_pop_ST(), cwh_stk_pop_STR(), cwh_stk_pop_whatever(), cwh_stk_pop_WHIRL(), cwh_stk_pop_WN(), DELETE_ARRAYEXP_WN, F90_Wrap_ARREXP(), FLD_item, MTYPE_V, NULL, FLD_det::off, OPR_ADD, OPR_NULLIFY, Pointer_Mtype, ST_item, ST_item_whole_array, STR_item, FLD_det::type, wn, WN_Create(), WN_CreateIdname(), WN_Intconst(), WN_item, and WN_kid().
Referenced by cvrt_exp_to_pdg().
void fei_object_ref | ( | INTPTR | sym_idx, |
INT32 | whole_array, | ||
INT32 | whole_substring | ||
) |
Definition at line 209 of file cwh_stmt.cxx.
References cast_to_ST, cast_to_STB, cwh_stk_push(), DevAssert, al::form, is_ST, al::item, ST_item, and ST_item_whole_array.
Referenced by cvrt_exp_to_pdg(), and fei_namelist_ref().
void fei_pstore | ( | TYPE | result_type | ) |
Definition at line 444 of file cwh_stmt.cxx.
References cwh_addr_address_ST(), cwh_addr_mload(), cwh_addr_mstore(), cwh_addr_offset(), cwh_addr_pstore_ST(), cwh_addr_pstore_WN(), cwh_block_append(), cwh_expr_address(), cwh_expr_bincalc(), cwh_expr_operand(), cwh_stk_get_class(), cwh_stk_get_TY(), cwh_stk_pop_PCONST(), cwh_stk_pop_ST(), cwh_stk_pop_whatever(), cwh_stk_pop_WHIRL(), cwh_stmt_character_store(), DEREF_item, DevAssert, F90_Wrap_ARREXP(), f_NONE, FLD_item, FLD_type(), NULL, FLD_det::off, OPR_ADD, PCONST_item, Pointer_Mtype, return(), ST_item, ST_item_whole_array, ST_type(), STR_item, TY_fld(), TY_pointed(), Ty_Table, FLD_det::type, wn, WN_Intconst(), WN_item, and WN_item_whole_array.
Referenced by cvrt_exp_to_pdg().
void fei_push_arith_con | ( | INTPTR | cdx | ) |
Definition at line 375 of file cwh_stmt.cxx.
References cast_to_STB, cast_to_void, cwh_stk_push(), cwh_stk_push_typed(), al::item, al::ty, wn, WN_COPY_Tree(), and WN_item.
Referenced by cvrt_exp_to_pdg().
void fei_push_pattern_con | ( | INTPTR | cdx | ) |
Definition at line 402 of file cwh_stmt.cxx.
References cast_to_STB, cwh_stk_push(), cwh_stk_push_STR(), al::form, if(), is_SCONST, al::item, OPC_U4INTCONST, PCONST_item, ST_item, ST_type(), TY_size(), wn, and WN_CreateIntconst().
Referenced by cvrt_exp_to_pdg().
void fei_return | ( | INT | return_kind, |
TYPE | dummy | ||
) |
Definition at line 2750 of file cwh_stmt.cxx.
References Be_Type_Tbl, cwh_auxst_next_element(), cwh_block_append(), cwh_expr_operand(), cwh_stk_get_class(), cwh_stk_get_FLD_TY(), cwh_stk_pop_ST(), cwh_stmt_return_altentry(), cwh_stmt_return_scalar(), cwh_types_is_character(), DEREF_item, DevAssert, FALSE, FLD_item, I_element, IS_ALTENTRY_TEMP, KIND_POINTER, KIND_SCALAR, KIND_STRUCT, l_RETURN_TEMPS, MTYPE_is_float, NULL, SCLASS_FORMAL, ST_auxst_is_rslt_tmp, ST_base(), ST_item, ST_item_whole_array, ST_sclass(), ST_type(), STRUCT_BY_VALUE, TRUE, TY_kind(), TY_mtype(), TY_pointed(), WHIRL_Return_Val_On, wn, WN_CreateReturn(), WN_item, WN_item_whole_array, and WNRTY.
Referenced by cvrt_exp_to_pdg(), and PDGCS_do_proc().
void fei_seg_ref | ( | INT32 | sym_idx | ) |
Definition at line 238 of file cwh_stmt.cxx.
References cast_to_ST, cast_to_STB, cwh_stk_push(), DevAssert, al::form, is_ST, al::item, and ST_item.
Referenced by cvrt_exp_to_pdg().
Definition at line 160 of file cwh_stmt.cxx.
References cwh_block_append_given(), cwh_stmt_init_srcpos(), and Defer_Block.
Referenced by cvrt_ir_to_pdg().
void fei_stop | ( | void | ) |
Definition at line 2681 of file cwh_stmt.cxx.
References cwh_block_append(), cwh_intrin_wrap_char_parm(), cwh_intrin_wrap_value_parm(), cwh_stk_get_class(), cwh_stk_pop_ADDR(), cwh_stk_pop_STR(), cwh_stk_pop_WN(), DevAssert, FE_Call_Never_Return, OPC_VINTRINSIC_CALL, STR_item, wn, WN_COPY_Tree(), WN_Create(), WN_intrinsic(), WN_kid0(), WN_kid1(), WN_Set_Call_Default_Flags, and WN_Set_Call_Never_Return.
Referenced by cvrt_exp_to_pdg().
Definition at line 550 of file cwh_stmt.cxx.
References addr_gen_iload_for_strctfld(), cwh_addr_address_ST(), cwh_addr_mload(), cwh_addr_mstore(), cwh_addr_offset(), cwh_addr_store_ST(), cwh_addr_store_WN(), cwh_block_append(), cwh_expr_address(), cwh_expr_bincalc(), cwh_expr_extract_arrayexp(), cwh_expr_operand(), cwh_stk_get_class(), cwh_stk_get_TY(), cwh_stk_pop_PCONST(), cwh_stk_pop_ST(), cwh_stk_pop_STR(), cwh_stk_pop_whatever(), cwh_stk_pop_WHIRL(), cwh_stk_pop_WN(), cwh_stmt_character_store(), DELETE_ARRAYEXP_WN, DEREF_item, DevAssert, F90_Wrap_ARREXP(), f_NONE, FLD_item, FLD_type(), NULL, FLD_det::off, OPR_ADD, OPR_STRCTFLD, PCONST_item, Pointer_Mtype, return(), ST_item, ST_item_whole_array, ST_type(), STR_item, TY_fld(), TY_pointed(), Ty_Table, FLD_det::type, wn, WN_Intconst(), WN_item, WN_item_whole_array, and WN_operator().
Referenced by cvrt_exp_to_pdg(), cwh_stmt_character_store(), fei_mvbits(), fei_non_conform_store(), and fei_where().
Definition at line 4840 of file cwh_stmt.cxx.
References cwh_block_append(), cwh_stk_pop_ST(), MTYPE_B, MTYPE_V, OPR_USE, ST_st_idx(), wn, WN_Create(), WN_CreateIdname(), WN_kid(), and WN_st_idx().
Referenced by cvrt_exp_to_pdg().
void fei_user_code_start | ( | void | ) |
Definition at line 186 of file cwh_stmt.cxx.
References cwh_block_append_given(), cwh_block_toggle_debug(), cwh_stk_verify_empty(), cwh_stmt_add_pragma(), FALSE, First_Block, Preamble_Block, still_in_preamble, TRUE, and WN_PRAGMA_PREAMBLE_END.
Referenced by cvrt_exp_to_pdg().
Definition at line 2621 of file cwh_stmt.cxx.
References Basic, By_Value_Call, cwh_block_append(), cwh_block_current(), cwh_block_new_and_current(), cwh_block_set_current(), cwh_expr_operand(), FALSE, fei_call(), fei_descriptor(), fei_store(), NULL, OPC_WHERE, V_oid, wl, wn, WN_Create(), WN_kid0(), WN_kid1(), and WN_kid2().
Referenced by cvrt_exp_to_pdg().
ST* allocate_routine_st = NULL [static] |
Definition at line 3818 of file cwh_stmt.cxx.
Definition at line 139 of file cwh_stmt.cxx.
Referenced by cwh_stmt_call_helper(), and fei_arg_associate().
char* source_file = __FILE__ [static] |
Definition at line 91 of file cwh_stmt.cxx.