#include <stdint.h>#include <sys/types.h>#include <elf.h>#include <bstring.h>#include "wn.h"#include "wn_util.h"#include "erglob.h"#include "errors.h"#include "strtab.h"#include "symtab.h"#include "irbdata.h"#include "dwarf_DST_mem.h"#include "pu_info.h"#include "ir_bwrite.h"#include "ir_reader.h"#include "ir_bcom.h"#include "region_util.h"#include "dep_graph.h"#include "cxx_hash.h"#include "wn_mp.h"#include <string.h>#include "alloca.h"#include "cxx_template.h"#include "defs.h"#include "glob.h"#include "erbe.h"#include "tracing.h"#include "wn_simp.h"#include "stblock.h"#include "data_layout.h"#include "targ_sim.h"#include "targ_const.h"#include "config_targ.h"#include "config_asm.h"#include "const.h"#include "ttype.h"#include "wn_pragmas.h"#include "wn_lower.h"#include "wutil.h"#include "wn_map.h"#include "dwarf_DST.h"#include "dwarf_DST_producer.h"#include "config.h"#include "standardize.h"#include "omp_lower.h"#include "privatize_common.h"#include "mempool.h"#include "parmodel.h"#include "fb_info.h"#include "fb_whirl.h"#include "be_symtab.h"Go to the source code of this file.
| #define GET_MPRUNTIME_ST | ( | x | ) |
Value:
(mpr_sts[x] == ST_IDX_ZERO ? \ Make_MPRuntime_ST(x) : mpr_sts[x])
Definition at line 935 of file wn_mp.cxx.
Referenced by Enter_Guarded_WNs(), Gen_Barrier(), Gen_Can_Fork(), Gen_Critical(), Gen_End_Critical(), Gen_End_Master(), Gen_End_Ordered(), Gen_End_Serialized_Parallel(), Gen_End_Single(), Gen_Fini_RTL(), Gen_Flush(), Gen_Fork(), Gen_Get_Num_Threads(), Gen_Get_Thread_Num(), Gen_In_Parallel(), Gen_Init_RTL(), Gen_Master(), Gen_MP_Copyin(), Gen_Ordered(), Gen_Serialized_Parallel(), Gen_Set_Num_Threads(), Gen_Single(), and Transform_Do().
| #define GET_RETURN_PREGS | ( | rreg1, | |||
| rreg2, | |||||
| type | ) | my_Get_Return_Pregs(&rreg1, &rreg2, type, __FILE__, __LINE__) |
Definition at line 231 of file wn_mp.cxx.
Referenced by Gen_Auto_Alloca(), Gen_Critical(), Gen_MP_SingleProcess_Block(), Gen_Save_Stack_Pointer(), Gen_Store_Gtid(), Lower_Master(), lower_mp(), and Transform_Do().
| #define IS_MASTER_PREG_NAME "mp_is_master" |
| #define MAX_NDIM 7 |
Definition at line 6262 of file wn_mp.cxx.
Referenced by f90_analyze_assignment(), F90_Do_Copies(), F90_Generate_Loops(), F90_Lower_Copy_Expr_to_Temp(), F90_Lower_Init_Dep_Info(), F90_Rank_Walk(), F90_Size_Walk(), F90_Wrap_ARREXP(), Gen_MP_Reduction(), lower_cshift(), lower_eoshift(), lower_maxminloc(), lower_pack(), lower_reduction(), and lower_transformationals().
| #define MPSP_STATUS_PREG_NAME "mpsp_status" |
Definition at line 819 of file wn_mp.cxx.
Referenced by Gen_MP_SingleProcess_Block(), and Is_Single_Test().
| #define OMP_NON_POD_FIRST_AND_LASTLOCAL_FLAG_NAME "__omp_non_pod_first_and_lastlocal" |
| #define OMP_NON_POD_LASTLOCAL_FLAG_NAME "__omp_non_pod_lastlocal" |
| #define STACK_CHUNK 10 |
Referenced by Copy_Non_MP_Tree_Rec().
| #define WN_Compare_Trees | ( | x, | |||
| y | ) | (WN_Simp_Compare_Trees(x,y)) |
Definition at line 162 of file wn_mp.cxx.
Referenced by Identical_Pragmas(), Process_Preamble_Stores(), and Walk_and_Localize().
| typedef LABEL_IDX LABEL_INFO_TABLE |
| typedef INT32 MPID_TABLE |
| typedef BOUNDSCHECKED_VECTOR<PREG_INFO> PREG_INFO_TABLE |
| typedef ST* SHARED_TABLE |
| typedef HASH_TABLE<VINDEX16,VINDEX16> VV_HASH_TABLE |
| typedef HASH_TABLE<WN *, BOOL> WN_TO_BOOL_HASH |
| enum MPRUNTIME |
| enum PAR_FUNC_TYPE |
| enum PREG_CLASS |
| enum SCHEDULE_TYPE |
| enum VAR_TYPE |
| static void Add_DST_variable | ( | ST * | st, | |
| DST_INFO_IDX | parent_dst, | |||
| INT64 | line_number, | |||
| DST_INFO_IDX | type_idx | |||
| ) | [static] |
Definition at line 1993 of file wn_mp.cxx.
References assoc(), Debug_Level, dst, DST_append_child(), DST_ATTR_IDX_TO_PTR, DST_COMPILE_UNIT_first_child, DST_FORMAL_PARAMETER_name, DST_get_compile_unit(), DST_INFO_attributes, DST_INFO_flag, DST_INFO_IDX_TO_PTR, DST_INFO_sibling, DST_INFO_tag, DST_INVALID_BLOCK_IDX, DST_INVALID_BYTE_IDX, DST_INVALID_IDX, DST_IS_NULL, DST_mk_basetype(), DST_mk_formal_parameter(), DST_mk_variable(), DST_RESET_assoc_fe, DST_SET_assoc_idx, DST_SET_deref, DST_STR_IDX_TO_PTR, DST_VARIABLE_def_st, DW_ATE_signed, DW_TAG_base_type, Fail_FmtAssertion(), FALSE, info, INT, INT32, Is_True, KIND_POINTER, NULL, pDST_ASSOC_INFO_st_idx, SCLASS_FORMAL_REF, ST_name, ST_sclass, ST_st_idx, ST_type, strcmp(), TRUE, TY_kind, TY_pointed, TY_size, USRCPOS_srcpos, and void.
Referenced by Create_MicroTask().
Definition at line 3404 of file wn_mp.cxx.
References EC_MPLOWER_local_nosize, ErrMsg(), INT32, Is_True, MTYPE_I4, MTYPE_I8, NULL, OPC_I4INTCONST, OPC_I8INTCONST, OPCODE_make_op(), OPCODE_UNKNOWN, OPR_LDID, Pointer_Size, ST_type, TY_AR_const_lbnd, TY_AR_const_ubnd, TY_AR_etype, TY_AR_lbnd_val, TY_AR_lbnd_var(), TY_AR_ndims, TY_AR_ubnd_val, TY_AR_ubnd_var(), TY_mtype, TY_size, WN_Add, WN_CreateIntconst, WN_CreateLdid, WN_DELETE_Tree(), WN_Mpy, and WN_Sub.
Referenced by Gen_MP_Load_Store(), and Localize_Variable().
Definition at line 6801 of file wn_mp.cxx.
References Alloca_Dealloca_On, FALSE, INT, INTRN_U4I4ALLOCA, INTRN_U8I8ALLOCA, Is_True, opc, OPC_BLOCK, OPC_U4INTRINSIC_CALL, OPC_U8INTRINSIC_CALL, OPCODE_is_leaf(), OPR_ALLOCA, TRUE, WN_first(), WN_intrinsic(), WN_kid(), WN_kid_count(), WN_next(), WN_opcode(), and WN_operator().
Referenced by Gen_MP_SingleProcess_Region(), and Process_PDO().
Definition at line 8087 of file wn_mp.cxx.
References INT, opc, OPC_BLOCK, OPC_REGION, OPC_VCALL, REGION_get_rid(), RID_TYPE_mp, ST_name, strcmp(), tmp, WN_DELETE_Tree(), WN_EXTRACT_FromBlock(), WN_first(), WN_kid(), WN_kid_count(), WN_next(), WN_opcode(), WN_pragma(), WN_PRAGMA_PARALLEL_BEGIN, WN_PRAGMA_PARALLEL_DO, WN_PRAGMA_PARALLEL_WORKSHARE, WN_region_pragmas, and WN_st().
Referenced by lower_mp().
| static WN * Copy_Non_MP_Tree_Rec | ( | WN * | tree, | |
| V_STACK * | mp_vertices, | |||
| VV_HASH_TABLE * | mp_to_nonmp | |||
| ) | [static] |
Definition at line 8462 of file wn_mp.cxx.
References BOOL, Create_Gtid_ST(), Create_Unnamed_Critical_Lock(), Current_Dep_Graph, HASH_TABLE< SIG_TYPE, DATA_TYPE >::Enter(), FALSE, Gen_Critical(), Gen_End_Critical(), Gen_OMP_Begin_SPR(), Gen_OMP_End_SPR(), Get_NameLock_ST(), INT32, Is_True, Malloc_Mem_Pool, MEM_POOL_FREE, MEM_POOL_Realloc, Move_Non_POD_Finalization_Code(), MPP_PARALLEL_DO, MPP_PARALLEL_REGION, mpt, mUINT32, New_Region_Id(), NULL, OPC_BLOCK, OPC_PRAGMA, OPC_REGION, OPC_XPRAGMA, OPR_LDA, PUSER_MP, STACK< T >::Push(), REGION_clone(), REGION_get_rid(), REGION_new_wn(), RID_TYPE_mp, STACK_CHUNK, TRUE, WN_CopyNode(), WN_first(), WN_kid(), WN_kid0(), WN_kid_count(), WN_last(), WN_next(), WN_opcode(), WN_operator(), WN_pragma(), WN_PRAGMA_CRITICAL_SECTION_BEGIN, WN_PRAGMA_CRITICAL_SECTION_END, WN_PRAGMA_DOACROSS, WN_pragma_omp, WN_PRAGMA_PARALLEL_BEGIN, WN_PRAGMA_PARALLEL_DO, WN_PRAGMA_PARALLEL_WORKSHARE, WN_PRAGMA_PDO_BEGIN, WN_pragmas, WN_prev(), WN_region_body, WN_region_id(), WN_region_pragmas, WN_set_region_id(), and WN_st().
Referenced by Copy_Non_MP_Tree(), and Copy_Non_MP_Tree_Rec().
Definition at line 5222 of file wn_mp.cxx.
References CLASS_VAR, Create_Lock_Type(), critical_lock_not_init, EXPORT_PREEMPTIBLE, GLOBAL_SYMTAB, lock_id, lock_ty_idx, New_ST(), Save_Str(), SCLASS_COMMON, Set_ST_addr_passed(), shared_count, sprintf(), ST_Init(), and TRUE.
Referenced by Gen_MP_Reduction().
Definition at line 6309 of file wn_mp.cxx.
References create_doloop_node(), Create_Preg(), end, Index_To_Str(), index_type, MTYPE_I4, MTYPE_I8, MTYPE_To_PREG, MTYPE_V, OPC_BLOCK, OPCODE_make_op(), OPR_ADD, OPR_INTCONST, OPR_LE, OPR_SUB, Save_Str(), start, step(), TYPE_ID, WN_CreateBlock, WN_CreateExp2, WN_CreateIdname, WN_CreateIntconst, WN_INSERT_BlockFirst, WN_LdidPreg(), WN_opcode(), and WN_StidPreg.
Referenced by create_doloop_nest(), F90_Generate_Loops(), lower_eoshift(), lower_maxminloc(), lower_mm_matmul(), lower_mv_matmul(), and lower_reduction().
Definition at line 6372 of file wn_mp.cxx.
References create_doloop(), index(), INT, num_temps, sprintf(), and WN_CreateBlock.
Referenced by Gen_MP_Reduction(), and lower_pack().
| static WN* create_doloop_node | ( | WN * | index_id, | |
| WN * | start, | |||
| WN * | end, | |||
| WN * | step, | |||
| WN * | body, | |||
| BOOL | add_prompf = FALSE | |||
| ) | [static] |
Definition at line 6270 of file wn_mp.cxx.
References line_number, NULL, WN_CreateDO, and WN_Set_Linenum().
Referenced by create_doloop(), and lower_eoshift().
| static void Create_Func_DST | ( | char * | st_name | ) | [static] |
Definition at line 2257 of file wn_mp.cxx.
References assoc(), Current_PU_Info, dst, DST_append_child(), DST_ATTR_IDX_TO_PTR, DST_INFO_attributes, DST_INFO_flag, DST_INFO_IDX_TO_PTR, DST_INVALID_IDX, DST_mk_subprogram(), DST_RESET_assoc_fe, DST_SET_assoc_idx, DST_SUBPROGRAM_def_st, DW_INL_not_inlined, DW_VIRTUALITY_none, FALSE, info, line_number, pDST_ASSOC_INFO_st_idx, PU_Info_pu_dst, ST_st_idx, USRCPOS_srcpos, and void.
Referenced by Create_MicroTask().
Definition at line 973 of file wn_mp.cxx.
References CLASS_VAR, CURRENT_SYMTAB, EXPORT_LOCAL, MTYPE_I4, MTYPE_To_TY, New_ST(), NULL, Save_Str(), SCLASS_AUTO, and ST_Init().
Referenced by Copy_Non_MP_Tree_Rec(), and Gen_Store_Gtid().
| static void Create_Local_Variables | ( | VAR_TABLE * | vtab, | |
| WN * | reductions, | |||
| WN * | lastlocals, | |||
| WN * | locals, | |||
| WN * | firstprivates, | |||
| WN ** | firstprivate_blockp, | |||
| WN * | lastthread, | |||
| WN ** | alloca_blockp | |||
| ) | [static] |
Definition at line 4345 of file wn_mp.cxx.
References BOOL, Fail_FmtAssertion(), FALSE, VAR_TABLE::has_offset, INT, Is_Kind_Array(), Is_True, Localize_Variable(), MPP_ORPHANED_PDO, MPP_ORPHANED_SINGLE, MPP_PARALLEL_DO, MPP_PARALLEL_REGION, MPP_PDO, MPP_SINGLE, mpt, VAR_TABLE::new_offset, VAR_TABLE::new_st, NULL, OPC_PRAGMA, OPERATOR_UNKNOWN, OPR_ADD, OPR_ARRAY, OPR_LDA, OPR_LDID, VAR_TABLE::orig_offset, VAR_TABLE::orig_st, SHARED_DEADOUT, ST_st_idx, TRUE, VAR_FIRSTPRIVATE, VAR_LASTLOCAL, VAR_LOCAL, VAR_REDUCTION_ARRAY, VAR_REDUCTION_ARRAY_OMP, VAR_REDUCTION_SCALAR, Verify_No_Pregs_In_Tree(), VAR_TABLE::vtype, WN_const_val(), WN_COPY_Tree(), WN_kid0(), WN_kid1(), WN_next(), WN_offsetx(), WN_opcode(), WN_operator(), WN_pragma_arg2(), WN_pragma_omp, WN_set_offsetx(), WN_st(), and WN_st_idx().
Referenced by Gen_MP_SingleProcess_Region(), Localize_in_serialized_parallel(), Process_Parallel_Do(), Process_Parallel_Region(), and Process_PDO().
| static void Create_Lock_Type | ( | ) | [static] |
Definition at line 1021 of file wn_mp.cxx.
References ARB_Init(), Be_Type_Tbl, Is_Target_32bit, KIND_ARRAY, lock_ty_idx, MTYPE_I4, MTYPE_I8, MTYPE_To_TY, MTYPE_UNKNOWN, New_ARB(), New_TY(), Save_Str(), Set_ARB_const_lbnd(), Set_ARB_const_stride(), Set_ARB_const_ubnd(), Set_ARB_dimension(), Set_ARB_first_dimen(), Set_ARB_last_dimen(), Set_ARB_lbnd_val(), Set_ARB_stride_val(), Set_ARB_ubnd_val(), Set_TY_align, Set_TY_arb(), Set_TY_etype(), TY_IDX_ZERO, TY_Init(), and TY_size.
Referenced by Create_Critical_Lock(), Create_Name_Lock(), Create_Unnamed_Critical_Lock(), and Gen_Critical().
| static void Create_MicroTask | ( | PAR_FUNC_TYPE | func_type | ) | [static] |
Definition at line 2552 of file wn_mp.cxx.
References Add_DST_variable(), alloca, Allocate_Object(), Be_Type_Tbl, BOOL, CLASS_FUNC, CLASS_VAR, Create_Func_DST(), Create_Temp(), csymtab, Cur_PU_Feedback, Current_Map_Tab, Current_pu, Current_PU_Info, CURRENT_SYMTAB, CXX_NEW, do_id, DST_INVALID_IDX, EXPORT_LOCAL, Fail_FmtAssertion(), FALSE, FB_Transfer(), File_info, func_level, Gen_MP_Store(), Gen_Temp_Symbol(), GLOBAL_SYMTAB, INT, INT32, Is_True, KIND_FUNCTION, KIND_POINTER, line_number, Malloc_Mem_Pool, MEM_pu_nz_pool_ptr, MEM_pu_pool_ptr, mpid_table, mpregion_ty, MTYPE_I4, MTYPE_To_TY, MTYPE_UNKNOWN, MTYPE_V, New_PREG(), New_PU(), New_Scope(), New_ST(), New_TY(), New_TYLIST(), NULL, OPC_PRAGMA, PAR_FUNC_DO32, PAR_FUNC_DO64, PAR_FUNC_REGION, Pointer_Mtype, Pointer_Size, Pointer_type, PREG_name_idx(), PREG_Table_Size(), psymtab, pu, PU_c_lang(), PU_cxx_lang(), PU_f77_lang(), PU_f90_lang(), PU_Info_child, PU_Info_init(), PU_Info_maptab, PU_Info_next, PU_Info_proc_sym, PU_Info_pu_dst, PU_Info_regions_ptr, PU_Info_state, PU_Info_tree_ptr, PU_Init(), PU_IS_COMPILER_GENERATED, PU_java_lang(), PU_mp(), RID_Create(), RID_type, RID_TYPE_func_entry, Save_Local_Symtab(), Save_Str(), SCLASS_FORMAL, SCLASS_TEXT, Scope_tab, Set_FILE_INFO_has_mp(), Verify_MP_Lowered::Set_nested_pu_tree(), Set_PREG_name_idx(), Set_PU_c_lang(), Set_PU_cxx_lang(), Set_PU_f77_lang(), Set_PU_f90_lang(), Set_PU_Info_feedback_ptr, Set_PU_Info_flags, Set_PU_Info_regions_ptr, Set_PU_Info_state, Set_PU_Info_symtab_ptr, Set_PU_Info_tree_ptr, Set_PU_is_nested_func(), Set_PU_java_lang(), Set_PU_lexical_level(), Set_PU_mp(), Set_PU_no_inline(), Set_ST_addr_passed(), Set_ST_is_value_parm, Set_TY_align, Set_TY_pointed(), Set_TY_tylist(), Set_TYLIST_type(), sprintf(), SCOPE::st, ST_Init(), ST_name, ST_st_idx, ST_type, strlen(), Subsect_InMem, Subsect_Missing, TRUE, TY_IDX_ZERO, TY_Init(), TYPE_MEM_POOL_ALLOC, UINT32, WN_CreateBlock, WN_CreateEntry, WN_CreateIdname, WN_CreatePragma, WN_first(), WN_func_pragmas, WN_INSERT_BlockLast, WN_kid0(), WN_kid1(), WN_Ldid(), WN_linenum(), WN_MAP_TAB_Create(), WN_next(), WN_opcode(), WN_pragma(), WN_pragma_arg1(), WN_pragma_arg2(), WN_PRAGMA_THREADPRIVATE, WN_st_idx(), WT_FEEDBACK, WT_PROC_SYM, WT_SYMTAB, and WT_TREE.
Referenced by Process_Parallel_Do(), and Process_Parallel_Region().
Definition at line 5325 of file wn_mp.cxx.
References alloca, CLASS_VAR, Create_Lock_Type(), critical_lock_not_init, EXPORT_PREEMPTIBLE, GLOBAL_SYMTAB, lock_ty_idx, New_ST(), Save_Str(), SCLASS_COMMON, Set_ST_addr_passed(), sprintf(), ST_Init(), ST_tcon_val(), Targ_String_Address(), Targ_String_Length(), and TRUE.
Referenced by Get_NameLock_ST().
| void Create_New_DST | ( | DST_INFO_IDX | dst, | |
| ST * | st, | |||
| BOOL | append_to_nested | |||
| ) |
Definition at line 2190 of file wn_mp.cxx.
References assoc(), DST_append_child(), DST_ATTR_IDX_TO_PTR, DST_FORMAL_PARAMETER_name, DST_FORMAL_PARAMETER_type, DST_INFO_attributes, DST_INFO_flag, DST_INFO_IDX_TO_PTR, DST_INFO_tag, DST_INVALID_IDX, DST_IS_comm, DST_mk_variable(), DST_RESET_assoc_fe, DST_SET_assoc_idx, DST_STR_IDX_TO_PTR, DST_VARIABLE_comm_name, DST_VARIABLE_comm_type, DST_VARIABLE_def_name, DST_VARIABLE_def_st, DST_VARIABLE_def_type, DW_TAG_formal_parameter, DW_TAG_variable, Fail_FmtAssertion(), FALSE, info, pDST_ASSOC_INFO_st_idx, ST_st_idx, tag, TRUE, USRCPOS_srcpos, and void.
Referenced by Create_Local_Symbol(), Localize_Variable(), and Rename_Privatized_COMMON().
| static void Create_Preg_or_Temp | ( | TYPE_ID | mtype, | |
| const char * | name, | |||
| ST ** | st, | |||
| WN_OFFSET * | ofst | |||
| ) | [static] |
Definition at line 2871 of file wn_mp.cxx.
References CLASS_VAR, Create_Preg(), CURRENT_SYMTAB, EXPORT_LOCAL, MTYPE_To_PREG, MTYPE_To_TY, New_ST(), pu_has_eh, Save_Str2(), SCLASS_AUTO, Set_ST_is_temp_var, and ST_Init().
Referenced by Gen_Critical(), Gen_MP_SingleProcess_Block(), Lower_Master(), lower_mp(), Make_Local_Temps(), Rewrite_Do(), and Transform_Do().
Definition at line 2321 of file wn_mp.cxx.
References CLASS_VAR, CURRENT_SYMTAB, EXPORT_LOCAL, MTYPE_To_TY, New_ST(), Save_Str2(), SCLASS_AUTO, Set_ST_is_temp_var, and ST_Init().
Referenced by Create_MicroTask(), and Make_Local_Temps().
Definition at line 5269 of file wn_mp.cxx.
References CLASS_VAR, Create_Lock_Type(), critical_lock_not_init, EXPORT_PREEMPTIBLE, FALSE, GLOBAL_SYMTAB, lock_ty_idx, New_ST(), NULL, Save_Str(), SCLASS_COMMON, Set_ST_addr_passed(), shared_count, sprintf(), ST_Init(), and TRUE.
Referenced by Copy_Non_MP_Tree_Rec(), Delayed_MP_Translation(), lower_mp(), and Transform_Parallel_Block().
| void Create_Vertices | ( | WN * | wn, | |
| VV_HASH_TABLE * | parent_to_child, | |||
| V_STACK * | parent_vertices, | |||
| ARRAY_DIRECTED_GRAPH16 * | parent_graph, | |||
| ARRAY_DIRECTED_GRAPH16 * | child_graph | |||
| ) |
Definition at line 8231 of file wn_mp.cxx.
References ARRAY_DIRECTED_GRAPH16::Add_Vertex(), HASH_TABLE< SIG_TYPE, DATA_TYPE >::Enter(), ARRAY_DIRECTED_GRAPH16::Get_Vertex(), INT, OPC_BLOCK, opcode, OPCODE_is_call(), OPCODE_is_load(), OPCODE_is_store(), STACK< T >::Push(), WN_first(), WN_kid(), WN_kid_count(), WN_next(), and WN_opcode().
Referenced by MP_Fix_Dependence_Graph().
Definition at line 7673 of file wn_mp.cxx.
References Create_Unnamed_Critical_Lock(), FmtAssert, Gen_Critical(), Gen_End_Critical(), Gen_End_Ordered(), Gen_Ordered(), Get_NameLock_ST(), INT32, NULL, OPC_BLOCK, OPC_PRAGMA, OPC_REGION, OPC_XPRAGMA, OPR_LDA, p, PUSER_MP, WN_Delete, WN_DELETE_Tree(), WN_EXTRACT_FromBlock(), WN_first(), WN_Get_Linenum(), WN_INSERT_BlockAfter(), WN_kid(), WN_kid0(), WN_kid_count(), WN_last(), WN_next(), WN_opcode(), WN_operator(), WN_pragma(), WN_PRAGMA_CRITICAL_SECTION_BEGIN, WN_PRAGMA_CRITICAL_SECTION_END, WN_pragma_omp, WN_PRAGMA_ORDERED_BEGIN, WN_PRAGMA_ORDERED_END, WN_pragmas, WN_prev(), WN_region_body, and WN_st().
Referenced by Process_Parallel_Do(), Process_Parallel_Region(), and Process_PDO().
| static void Enter_Guarded_WNs | ( | WN_TO_BOOL_HASH * | guarded_set, | |
| WN * | tree, | |||
| BOOL | tree_is_guarded = FALSE | |||
| ) | [static] |
Definition at line 2971 of file wn_mp.cxx.
References DYN_ARRAY< T >::AddElement(), HASH_TABLE< SIG_TYPE, DATA_TYPE >::Enter(), Get_ATOMIC_Update_LDA(), GET_MPRUNTIME_ST, INT, Is_Master_Test(), Is_Single_Test(), Is_True, DYN_ARRAY< T >::Lastidx(), Malloc_Mem_Pool, MPR_OMP_CRITICAL, MPR_OMP_END_CRITICAL, opc, OPC_BLOCK, OPC_IF, OPC_VCALL, OPCODE_is_leaf(), OPR_INTRINSIC_CALL, ST_IDX_ZERO, TRUE, WN_first(), WN_if_test, WN_kid(), WN_kid0(), WN_kid_count(), WN_next(), WN_opcode(), WN_operator(), WN_st_idx(), and WN_then.
Referenced by Gather_Uplevel_References().
Definition at line 8736 of file wn_mp.cxx.
References BOOL, do_index_type, Fail_FmtAssertion(), FALSE, MTYPE_V, NULL, OPCODE_make_op(), OPR_CVT, OPR_GT, OPR_LDID, OPR_LT, OPR_NEG, OPR_SUB, Standardize_Do(), TRUE, WN_Add, WN_COPY_Tree(), WN_CreateExp1, WN_Div, WN_end, WN_index, WN_Intconst(), WN_Integer_Cast(), WN_kid0(), WN_kid1(), WN_offsetx(), WN_operator(), WN_rtype(), WN_st(), WN_start, WN_step, WN_Sub, and WN_Upper_Bound_Standardize().
Referenced by Process_Parallel_Do(), and Process_PDO().
Definition at line 8331 of file wn_mp.cxx.
References final_code, Find_Non_POD_Finalization_Code(), Is_True, NULL, OPR_BACKWARD_BARRIER, OPR_BLOCK, OPR_DO_LOOP, OPR_FORWARD_BARRIER, WN_DELETE_FromBlock(), WN_DELETE_Tree(), WN_do_body, WN_EXTRACT_FromBlock(), WN_first(), WN_INSERT_BlockAfter(), WN_last(), WN_next(), WN_operator(), WN_prev(), and WN_then.
Referenced by Move_Non_POD_Finalization_Code_Rec().
Definition at line 2119 of file wn_mp.cxx.
References assoc(), dst, DST_ATTR_IDX_TO_PTR, DST_FORMAL_PARAMETER_name, DST_FORMAL_PARAMETER_st, DST_INFO_attributes, DST_INFO_flag, DST_INFO_IDX_TO_PTR, DST_INFO_sibling, DST_INFO_tag, DST_INVALID_IDX, DST_IS_comm, DST_IS_NULL, DST_SUBPROGRAM_def_first_child, DST_VARIABLE_comm_name, DST_VARIABLE_def_name, DST_VARIABLE_def_st, DW_TAG_formal_parameter, DW_TAG_variable, Fail_FmtAssertion(), index(), info, INT, INT32, next, pDST_ASSOC_INFO_st_index, pDST_ASSOC_INFO_st_level, PU_Info_pu_dst, ST_index, ST_level, and tag.
Referenced by Create_Local_Symbol(), Localize_Variable(), and Rename_Privatized_COMMON().
Definition at line 8370 of file wn_mp.cxx.
References BOOL, INT, Is_Nonpod_Finalization_IF(), Is_True, NULL, OPR_BLOCK, OPR_REGION, WN_first(), WN_kid(), WN_kid_count(), WN_next(), WN_operator(), WN_pragma(), WN_PRAGMA_PDO_BEGIN, and WN_region_pragmas.
Referenced by Find_And_Move_Finalization_Code(), and Find_Non_POD_Finalization_Code().
Definition at line 3509 of file wn_mp.cxx.
References INT, OPR_ALLOCA, OPR_BLOCK, OPR_STID, WN_first(), WN_kid(), WN_kid0(), WN_kid_count(), WN_next(), WN_operator(), and WN_st().
Referenced by Process_Parallel_Do(), and Process_Parallel_Region().
| static void Gather_Uplevel_References | ( | WN * | block, | |
| INT32 | level, | |||
| WN * | parent, | |||
| WN * | grandparent, | |||
| WN * | tree, | |||
| WN_TO_BOOL_HASH * | guarded_set | |||
| ) | [static] |
Definition at line 3088 of file wn_mp.cxx.
References ACCESSED_ILOAD, ACCESSED_ISTORE, ACCESSED_LOAD, ACCESSED_STORE, Alloca_Dealloca_On, BOOL, CLASS_VAR, comp_gen_construct, EC_MPLOWER_shared_store, Enter_Guarded_WNs(), ErrMsg(), HASH_TABLE< SIG_TYPE, DATA_TYPE >::Find(), flags, INT32, INTRN_U4I4ALLOCA, INTRN_U8I8ALLOCA, Is_NameLock_ST(), Is_True, KIND_POINTER, KIND_SCALAR, node, NULL, OPC_BLOCK, OPC_LOOP_INFO, OPC_REGION, OPC_U4INTRINSIC_CALL, OPC_U8INTRINSIC_CALL, OPCODE_has_sym(), OPR_ALLOCA, OPR_ARRAY, OPR_ILOAD, OPR_ISTORE, OPR_LDA, OPR_LDID, OPR_STID, pu_has_alloca, pu_has_region, SCLASS_AUTO, SCLASS_FORMAL, SCLASS_FORMAL_REF, SCLASS_PSTATIC, Set_Error_Line(), Set_ST_has_nested_ref, shared_count, ST_class, ST_is_thread_private, ST_level, ST_name, ST_sclass, ST_Source_COMMON_Block(), ST_type, strncmp(), TRUE, TY_kind, USRCPOS_linenum, USRCPOS_srcpos, WN_CreatePragma, WN_first(), WN_Get_Linenum(), WN_INSERT_BlockBefore(), WN_intrinsic(), WN_kid(), WN_kid_count(), WN_next(), WN_opcode(), WN_operator(), WN_PRAGMA_ACCESSED_ID, WN_pragma_arg2(), and WN_st().
Referenced by Process_Parallel_Do(), and Process_Parallel_Region().
Definition at line 3460 of file wn_mp.cxx.
References Alloca_Dealloca_On, Be_Type_Tbl, GET_RETURN_PREGS, INTRN_U4I4ALLOCA, INTRN_U8I8ALLOCA, line_number, MTYPE_I4, MTYPE_I8, OPC_U4INTRINSIC_CALL, OPC_U8INTRINSIC_CALL, Pointer_Size, Pointer_type, WN_Create(), WN_CreateAlloca(), WN_CreateBlock, WN_CreateParm, WN_INSERT_BlockLast, WN_intrinsic(), WN_kid(), WN_LdidPreg(), WN_linenum(), WN_PARM_BY_VALUE, WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Non_Parm_Ref, WN_Set_Call_Parm_Ref, and WN_Stid().
Referenced by Localize_Variable().
Definition at line 5847 of file wn_mp.cxx.
References GET_MPRUNTIME_ST, line_number, MPR_OMP_BARRIER, OPC_VCALL, WN_Create(), WN_linenum(), WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Non_Parm_Ref, WN_Set_Call_Parm_Ref, and WN_st_idx().
Referenced by Gen_Critical(), Gen_End_Single(), Gen_MP_Copyin(), Gen_MP_Reduction(), lower_mp(), Process_PDO(), Transform_Do(), and Transform_Parallel_Block().
Definition at line 1082 of file wn_mp.cxx.
References GET_MPRUNTIME_ST, line_number, MPR_OMP_CAN_FORK, OPC_I4CALL, wn, WN_Create(), WN_linenum(), WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Parm_Ref, and WN_st_idx().
Referenced by lower_mp().
Definition at line 1434 of file wn_mp.cxx.
References Be_Type_Tbl, Create_Lock_Type(), Create_Preg_or_Temp(), critical_lock_not_init, FALSE, Gen_Barrier(), Gen_Master(), Gen_MP_Load(), Get_Gtid(), GET_MPRUNTIME_ST, GET_RETURN_PREGS, line_number, lock_ty_idx, Make_Pointer_Type(), MPR_OMP_CRITICAL, MTYPE_I4, NULL, OPC_I4INTCONST, OPC_VCALL, Pointer_type, ST_type, TRUE, wn, WN_Create(), WN_CreateBlock, WN_CreateIf, WN_CreateIntconst, WN_CreateMstore, WN_CreateParm, WN_EQ, WN_INSERT_BlockLast, WN_Intconst(), WN_kid(), WN_Lda(), WN_LdidPreg(), WN_linenum(), WN_PARM_BY_REFERENCE, WN_PARM_BY_VALUE, WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Parm_Mod, WN_Set_Call_Parm_Ref, WN_st_idx(), WN_Stid(), and WN_then.
Referenced by Copy_Non_MP_Tree_Rec(), Delayed_MP_Translation(), Gen_MP_Reduction(), lower_mp(), and Transform_Parallel_Block().
Definition at line 1511 of file wn_mp.cxx.
References Be_Type_Tbl, Get_Gtid(), GET_MPRUNTIME_ST, line_number, MPR_OMP_END_CRITICAL, MTYPE_I4, OPC_VCALL, Pointer_type, wn, WN_Create(), WN_CreateParm, WN_kid(), WN_Lda(), WN_linenum(), WN_PARM_BY_REFERENCE, WN_PARM_BY_VALUE, WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Parm_Mod, WN_Set_Call_Parm_Ref, and WN_st_idx().
Referenced by Copy_Non_MP_Tree_Rec(), Delayed_MP_Translation(), Gen_MP_Reduction(), lower_mp(), and Transform_Parallel_Block().
Definition at line 1598 of file wn_mp.cxx.
References Be_Type_Tbl, Get_Gtid(), GET_MPRUNTIME_ST, line_number, MPR_OMP_END_MASTER, MTYPE_I4, OPC_VCALL, wn, WN_Create(), WN_CreateParm, WN_kid(), WN_linenum(), WN_PARM_BY_VALUE, WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Parm_Ref, and WN_st_idx().
Referenced by Lower_Master().
Definition at line 1556 of file wn_mp.cxx.
References Be_Type_Tbl, Get_Gtid(), GET_MPRUNTIME_ST, line_number, MPR_OMP_END_ORDERED, MTYPE_I4, OPC_VCALL, wn, WN_Create(), WN_CreateParm, WN_kid(), WN_linenum(), WN_PARM_BY_VALUE, WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Parm_Ref, and WN_st_idx().
Referenced by Delayed_MP_Translation(), lower_mp(), and Transform_Parallel_Block().
Definition at line 1374 of file wn_mp.cxx.
References Be_Type_Tbl, FALSE, FmtAssert, Get_Gtid(), GET_MPRUNTIME_ST, Is_True, line_number, MPR_OMP_END_SERIALIZED_PARALLEL, MTYPE_I4, NULL, OPC_VCALL, wn, WN_COPY_Tree(), WN_Create(), WN_CreateBlock, WN_CreateIf, WN_CreateParm, WN_Delete, WN_INSERT_BlockLast, WN_kid(), WN_linenum(), WN_PARM_BY_VALUE, WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Parm_Ref, and WN_st_idx().
Referenced by Gen_OMP_End_SPR(), lower_mp(), and Strip_Nested_MP().
Definition at line 1662 of file wn_mp.cxx.
References Be_Type_Tbl, Gen_Barrier(), Get_Gtid(), GET_MPRUNTIME_ST, Is_True, line_number, MPR_END_SINGLE_PROCESS, MPR_OMP_END_SINGLE, MTYPE_I4, OPC_VCALL, TRUE, wn, WN_Create(), WN_CreateBlock, WN_CreateParm, WN_INSERT_BlockLast, WN_kid(), WN_kid0(), WN_linenum(), WN_PARM_BY_VALUE, WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Non_Parm_Ref, WN_Set_Call_Parm_Ref, and WN_st_idx().
Referenced by Gen_MP_SingleProcess_Block().
| static WN* Gen_Fini_RTL | ( | ) | [static] |
Definition at line 1188 of file wn_mp.cxx.
References GET_MPRUNTIME_ST, line_number, MPR_OMP_FINI_RTL, OPC_VCALL, wn, WN_Create(), WN_linenum(), WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Parm_Ref, and WN_st_idx().
Definition at line 1724 of file wn_mp.cxx.
References Be_Type_Tbl, GET_MPRUNTIME_ST, line_number, MPR_OMP_FLUSH, OPC_VCALL, Pointer_type, wn, WN_Create(), WN_CreateParm, WN_kid(), WN_Lda(), WN_linenum(), WN_PARM_BY_REFERENCE, WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Parm_Mod, WN_Set_Call_Parm_Ref, and WN_st_idx().
Definition at line 1126 of file wn_mp.cxx.
References Be_Type_Tbl, Frame_Pointer_Preg_Offset, GET_MPRUNTIME_ST, line_number, MPR_OMP_FORK, MTYPE_I4, NULL, OPC_VCALL, Pointer_type, wn, WN_Create(), WN_CreateParm, WN_Intconst(), WN_kid(), WN_Lda(), WN_LdidPreg(), WN_linenum(), WN_PARM_BY_REFERENCE, WN_PARM_BY_VALUE, WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Non_Parm_Ref, WN_Set_Call_Parm_Ref, WN_st_idx(), and WN_ty().
Referenced by lower_mp().
| static WN* Gen_Get_Num_Threads | ( | ) | [static] |
Definition at line 1264 of file wn_mp.cxx.
References GET_MPRUNTIME_ST, line_number, MPR_OMP_GET_NUM_THREADS, OPC_I4CALL, wn, WN_Create(), WN_linenum(), WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Parm_Ref, and WN_st_idx().
| static WN* Gen_Get_Thread_Num | ( | ) | [static] |
Definition at line 1207 of file wn_mp.cxx.
References GET_MPRUNTIME_ST, line_number, MPR_OMP_GET_THREAD_NUM, OPC_I4CALL, wn, WN_Create(), WN_linenum(), WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Parm_Ref, and WN_st_idx().
Referenced by Gen_Store_Gtid().
Definition at line 1062 of file wn_mp.cxx.
References GET_MPRUNTIME_ST, line_number, MPR_OMP_IN_PARALLEL, OPC_I4CALL, wn, WN_Create(), WN_linenum(), WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Parm_Ref, and WN_st_idx().
Referenced by lower_mp().
| static WN* Gen_Init_RTL | ( | ) | [static] |
Definition at line 1168 of file wn_mp.cxx.
References GET_MPRUNTIME_ST, line_number, MPR_OMP_INIT_RTL, OPC_VCALL, wn, WN_Create(), WN_linenum(), WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Parm_Ref, and WN_st_idx().
Definition at line 1577 of file wn_mp.cxx.
References Be_Type_Tbl, Get_Gtid(), GET_MPRUNTIME_ST, line_number, MPR_OMP_MASTER, MTYPE_I4, OPC_I4CALL, wn, WN_Create(), WN_CreateParm, WN_kid(), WN_linenum(), WN_PARM_BY_VALUE, WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Parm_Ref, and WN_st_idx().
Referenced by Gen_Critical(), and Lower_Master().
Definition at line 6014 of file wn_mp.cxx.
References Be_Type_Tbl, BOOL, EXPORT_PREEMPTIBLE, Fail_FmtAssertion(), FALSE, FmtAssert, Gen_Barrier(), GET_MPRUNTIME_ST, INT, INT32, INT64, is_omp_non_pod_copyin(), KIND_ARRAY, line_number, Make_Pointer_Type(), MPR_COPYIN, MPR_OMP_COPYIN, MPR_OMP_NONPOD_ARRAY_COPYIN, MPR_OMP_NONPOD_COPYIN, MTYPE_I4, MTYPE_I8, MTYPE_V, OPC_I8INTCONST, OPC_PRAGMA, OPC_VCALL, OPCODE_make_op(), OPCODE_name(), OPR_ARRAY, OPR_LDA, OPR_LDID, Pointer_type, size, ST_export, ST_name, ST_type, TRUE, TY_AR_const_lbnd, TY_AR_const_stride, TY_AR_const_ubnd, TY_AR_etype, TY_AR_lbnd_val, TY_AR_ndims, TY_AR_ubnd_val, TY_kind, TY_mtype, TY_size, WN_COPY_Tree(), WN_Create(), WN_CreateBlock, WN_CreateIntconst, WN_CreateLda, WN_CreateLdid, WN_CreateParm, WN_IloadLdid(), WN_INSERT_BlockAfter(), WN_INSERT_BlockFirst, WN_INSERT_BlockLast, WN_Intconst(), WN_kid(), WN_kid0(), WN_kid1(), WN_Lda(), WN_linenum(), WN_next(), WN_offsetx(), WN_opcode(), WN_operator(), WN_PARM_BY_REFERENCE, WN_PARM_BY_VALUE, WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Non_Parm_Ref, WN_Set_Call_Parm_Mod, WN_Set_Call_Parm_Ref, WN_st(), WN_st_idx(), and WN_ty().
Referenced by lower_mp(), Process_Parallel_Do(), and Process_Parallel_Region().
Definition at line 5740 of file wn_mp.cxx.
References FLD_type, KIND_ARRAY, KIND_STRUCT, Promote_Type(), ST_type, TY_etype, TY_fld, TY_kind, TY_mtype, and WN_RLdid().
Referenced by Gen_Critical(), Gen_MP_Load_Store(), Gen_MP_Reduction(), Gen_MP_SingleProcess_Block(), Lower_Master(), lower_mp(), Process_Parallel_Do(), Process_PDO(), Rewrite_Do(), Rewrite_Do_New(), and Transform_Do().
| static WN * Gen_MP_Load_Store | ( | ST * | from_st, | |
| WN_OFFSET | from_offset, | |||
| ST * | to_st, | |||
| WN_OFFSET | to_offset, | |||
| BOOL | is_dynamic | |||
| ) | [static] |
Definition at line 5786 of file wn_mp.cxx.
References BOOL, Calculate_Array_Size(), FALSE, Gen_MP_Load(), Gen_MP_Store(), INT32_MAX, KIND_ARRAY, KIND_POINTER, KIND_STRUCT, Make_Pointer_Type(), MTYPE_I4, MTYPE_I8, Pointer_type, Promote_Type(), ST_type, TY_kind, TY_pointed, TY_size, WN_COPY_Tree(), WN_CreateMload, WN_CreateMstore, WN_Intconst(), WN_Lda(), and WN_RLdid().
Referenced by Localize_Variable(), Process_Parallel_Do(), Process_PDO(), and Process_Preamble_Stores().
| static void Gen_MP_Reduction | ( | VAR_TABLE * | var_table, | |
| INT | num_vars, | |||
| WN ** | init_block, | |||
| WN ** | store_block | |||
| ) | [static] |
Definition at line 6480 of file wn_mp.cxx.
References ARB_const_lbnd, ARB_const_ubnd, ARB_dimension(), ARB_lbnd_val, ARB_ubnd_val, BOOL, Create_Critical_Lock(), create_doloop_nest(), FALSE, Gen_Barrier(), Gen_Critical(), Gen_End_Critical(), Gen_MP_Load(), Gen_MP_Store(), Host_To_Targ_Float(), INT, INT64, Is_True, line_number, Make_Const(), Make_Final_Reduction_Op(), Make_Pointer_Type(), Make_Reduction_Identity(), MAX_NDIM, VAR_TABLE::mtype, MTYPE_F10, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, MTYPE_V, VAR_TABLE::new_offset, VAR_TABLE::new_st, NULL, op_array, OPC_I4CVTL, OPC_I8INTCONST, OPC_U4CVTL, OPCODE_make_op(), OPCODE_rtype(), OPR_ARRAY, OPR_CAND, OPR_CIOR, OPR_LDA, VAR_TABLE::orig_offset, VAR_TABLE::orig_st, Pointer_type, VAR_TABLE::reduction_opc, VAR_TABLE::reduction_opr, result, ST_type, TRUE, VAR_TABLE::ty, TY_AR_etype, TY_arb(), TY_size, TYPE_ID, VAR_REDUCTION_ARRAY, VAR_REDUCTION_ARRAY_OMP, VAR_REDUCTION_SCALAR, VAR_TABLE::vtree, VAR_TABLE::vtype, WN_array_base, WN_array_dim, WN_array_index, WN_COPY_Tree(), WN_Create(), WN_CreateBlock, WN_CreateCvtl, WN_CreateExp2, WN_CreateIntconst, WN_CreateLda, WN_Cvt(), WN_element_size(), WN_Iload(), WN_INSERT_BlockFirst, WN_INSERT_BlockLast, WN_Istore(), WN_Lda(), WN_LdidPreg(), WN_linenum(), and WN_NE.
Referenced by Process_Parallel_Do(), Process_Parallel_Region(), and Process_PDO().
| static WN* Gen_MP_SingleProcess_Block | ( | WN * | single_block, | |
| BOOL | nowait, | |||
| BOOL | is_omp, | |||
| BOOL | is_orphaned | |||
| ) | [static] |
Definition at line 7028 of file wn_mp.cxx.
References Create_Preg_or_Temp(), Gen_End_Single(), Gen_MP_Load(), Gen_Single(), Gen_Store_Gtid(), GET_RETURN_PREGS, line_number, MPSP_STATUS_PREG_NAME, MTYPE_I4, num_constructs, OPC_I4INTCONST, ST_type, WN_CreateBlock, WN_CreateIf, WN_CreateIntconst, WN_EQ, WN_INSERT_BlockLast, WN_LdidPreg(), WN_linenum(), and WN_Stid().
Referenced by Gen_MP_SingleProcess_Region(), and Transform_Parallel_Block().
Definition at line 7235 of file wn_mp.cxx.
References alloca, Alloca_Var_List::Alloca_Var_List(), BOOL, BZERO, Calls_Alloca(), Create_Local_Variables(), Current_Map_Tab, Current_PU_Info, CURRENT_SYMTAB, CXX_DELETE, CXX_NEW, Fail_FmtAssertion(), FALSE, Gen_MP_SingleProcess_Block(), Gen_Restore_Stack_Pointer(), Gen_Save_Stack_Pointer(), Get_Current_PU, Identical_Pragmas(), INT, Is_True, MPP_ORPHANED_SINGLE, MPP_SINGLE, mpt, NULL, psymtab, Set_PU_has_alloca(), ST_Has_Dope_Vector(), TRUE, Walk_and_Localize(), WN_CreateBlock, WN_Delete, WN_DELETE_Tree(), WN_first(), WN_INSERT_BlockLast, WN_last(), WN_next(), WN_pragma(), WN_PRAGMA_COPYPRIVATE, WN_PRAGMA_END_MARKER, WN_PRAGMA_FIRSTPRIVATE, WN_PRAGMA_LOCAL, WN_PRAGMA_NOWAIT, WN_pragma_omp, WN_PRAGMA_SHARED, WN_region_body, WN_region_pragmas, and WN_st().
Referenced by lower_mp(), and Transform_Parallel_Block().
| static WN * Gen_MP_Store | ( | ST * | st, | |
| WN_OFFSET | offset, | |||
| WN * | value, | |||
| BOOL | scalar_only = FALSE | |||
| ) | [static] |
Definition at line 5763 of file wn_mp.cxx.
References FLD_type, KIND_ARRAY, KIND_STRUCT, line_number, ST_type, TY_etype, TY_fld, TY_kind, TY_mtype, WN_linenum(), and WN_Stid().
Referenced by Create_MicroTask(), Gen_MP_Load_Store(), Gen_MP_Reduction(), lower_mp(), Process_Parallel_Do(), Process_PDO(), and Transform_Do().
| WN* Gen_OMP_Begin_SPR | ( | MP_process_type | mpt | ) |
Definition at line 7492 of file wn_mp.cxx.
References Gen_Serialized_Parallel(), Gen_Store_Gtid(), WN_CreateBlock, and WN_INSERT_BlockLast.
Referenced by Copy_Non_MP_Tree_Rec().
| WN* Gen_OMP_End_SPR | ( | MP_process_type | mpt | ) |
Definition at line 7531 of file wn_mp.cxx.
References Gen_End_Serialized_Parallel(), Gen_Store_Gtid(), WN_CreateBlock, and WN_INSERT_BlockLast.
Referenced by Copy_Non_MP_Tree_Rec().
Definition at line 1535 of file wn_mp.cxx.
References Be_Type_Tbl, Get_Gtid(), GET_MPRUNTIME_ST, line_number, MPR_OMP_ORDERED, MTYPE_I4, OPC_VCALL, wn, WN_Create(), WN_CreateParm, WN_kid(), WN_linenum(), WN_PARM_BY_VALUE, WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Parm_Ref, and WN_st_idx().
Referenced by Delayed_MP_Translation(), lower_mp(), and Transform_Parallel_Block().
| static WN* Gen_Restore_Stack_Pointer | ( | WN * | sp_save_stid, | |
| Alloca_Var_List * | avlist | |||
| ) | [static] |
Definition at line 6980 of file wn_mp.cxx.
References Alloca_Dealloca_On, Be_Type_Tbl, info, INT, INTRN_U4I4SETSTACKPOINTER, INTRN_U8I8SETSTACKPOINTER, line_number, Alloca_Var_List::list(), MTYPE_V, Alloca_Var_List::Info::offset, OPCODE_make_op(), OPR_INTRINSIC_CALL, OPR_LDID, Pointer_Size, Pointer_type, Alloca_Var_List::Info::st, Alloca_Var_List::Info::ty, WN_Create(), WN_CreateBlock, WN_CreateDealloca(), WN_CreateLdid, WN_CreateParm, WN_INSERT_BlockLast, WN_intrinsic(), WN_kid(), WN_kid0(), WN_linenum(), WN_offset(), WN_PARM_BY_VALUE, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Non_Parm_Ref, WN_Set_Call_Parm_Ref, WN_st(), and WN_ty().
Referenced by Gen_MP_SingleProcess_Region(), and Process_PDO().
Definition at line 6885 of file wn_mp.cxx.
References alloca, Alloca_Dealloca_On, Create_Preg(), GET_RETURN_PREGS, INT, INTRN_U4READSTACKPOINTER, INTRN_U8READSTACKPOINTER, line_number, MTYPE_To_PREG, MTYPE_V, OPC_I4INTCONST, OPCODE_make_op(), OPR_INTRINSIC_CALL, Pointer_Size, Pointer_type, sprintf(), strlen(), WN_Create(), WN_CreateAlloca(), WN_CreateBlock, WN_CreateIntconst, WN_INSERT_BlockLast, WN_intrinsic(), WN_LdidPreg(), WN_linenum(), WN_Set_Call_Non_Parm_Ref, and WN_StidIntoPreg().
Referenced by Gen_MP_SingleProcess_Region(), and Process_PDO().
Definition at line 1299 of file wn_mp.cxx.
References Be_Type_Tbl, Gen_Temp_Symbol(), Get_Gtid(), GET_MPRUNTIME_ST, Is_True, line_number, MPR_OMP_SERIALIZED_PARALLEL, MTYPE_I4, MTYPE_TO_TY_array, NULL, OPC_VCALL, ST_type, TRUE, wn, WN_COPY_Tree(), WN_Create(), WN_CreateBlock, WN_CreateIf, WN_CreateParm, WN_INSERT_BlockLast, WN_kid(), WN_kid0(), WN_Ldid(), WN_linenum(), WN_PARM_BY_VALUE, WN_rtype(), WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Parm_Ref, WN_st_idx(), and WN_Stid().
Referenced by Gen_OMP_Begin_SPR(), lower_mp(), and Strip_Nested_MP().
Definition at line 1101 of file wn_mp.cxx.
References Be_Type_Tbl, Get_Gtid(), GET_MPRUNTIME_ST, line_number, MPR_OMP_SET_NUM_THREADS, MTYPE_I4, OPC_VCALL, wn, WN_Create(), WN_CreateParm, WN_kid(), WN_linenum(), WN_PARM_BY_VALUE, WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Parm_Ref, and WN_st_idx().
Referenced by Set_Thread_Num().
Definition at line 1621 of file wn_mp.cxx.
References Be_Type_Tbl, Get_Gtid(), GET_MPRUNTIME_ST, line_number, MPR_BEGIN_SINGLE_PROCESS, MPR_OMP_SINGLE, MTYPE_I4, OPC_I4CALL, TRUE, wn, WN_Create(), WN_CreateParm, WN_kid(), WN_linenum(), WN_PARM_BY_VALUE, WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Non_Parm_Ref, WN_Set_Call_Parm_Ref, and WN_st_idx().
Referenced by Gen_MP_SingleProcess_Block().
| static WN* Gen_Store_Gtid | ( | ) | [static] |
Definition at line 1227 of file wn_mp.cxx.
References Create_Gtid_ST(), Gen_Get_Thread_Num(), GET_RETURN_PREGS, line_number, MTYPE_I4, NULL, ST_type, wn, WN_CreateBlock, WN_INSERT_BlockLast, WN_LdidPreg(), WN_linenum(), and WN_Stid().
Referenced by Gen_MP_SingleProcess_Block(), Gen_OMP_Begin_SPR(), Gen_OMP_End_SPR(), Lower_Master(), lower_mp(), Process_PDO(), and Set_Thread_Num().
Definition at line 988 of file wn_mp.cxx.
References MTYPE_I4, NULL, OPC_I4INTCONST, ST_type, WN_CreateIntconst, and WN_Ldid().
Referenced by Gen_Critical(), Gen_End_Critical(), Gen_End_Master(), Gen_End_Ordered(), Gen_End_Serialized_Parallel(), Gen_End_Single(), Gen_Master(), Gen_Ordered(), Gen_Serialized_Parallel(), Gen_Set_Num_Threads(), and Gen_Single().
Definition at line 7635 of file wn_mp.cxx.
References Create_Name_Lock(), critical_lock_not_init, FALSE, NameLock_Add(), NameLock_Find(), and NULL.
Referenced by Copy_Non_MP_Tree_Rec(), Delayed_MP_Translation(), lower_mp(), and Transform_Parallel_Block().
Definition at line 2295 of file wn_mp.cxx.
References FALSE, i, INT32, OPR_PRAGMA, TRUE, WN_Compare_Trees, WN_kid(), WN_kid_count(), WN_operator(), WN_pragma(), WN_pragma_arg64(), WN_pragma_flags(), and WN_st().
Referenced by Gen_MP_SingleProcess_Region(), lower_mp(), and Process_PDO().
| static void Init_PU_Globals | ( | ) | [static] |
Definition at line 3369 of file wn_mp.cxx.
References KIND_ARRAY, KIND_POINTER, ST_type, TY_kind, and TY_pointed.
Referenced by Create_Local_Variables(), IPA_LNO_Annotate_Array_Call(), IPA_LNO_Annotate_Scalar_Call(), NSE_Annotate_Array_Call(), and NSE_Annotate_Scalar_Call().
Definition at line 2904 of file wn_mp.cxx.
References CLASS_PREG, FALSE, IS_MASTER_PREG_NAME, OPR_EQ, OPR_INTCONST, OPR_LDID, Preg_Is_Dedicated, Preg_Name(), strcmp(), TRUE, WN_class, WN_const_val(), WN_kid(), WN_offset(), and WN_operator().
Referenced by Enter_Guarded_WNs().
Definition at line 4845 of file wn_mp.cxx.
References BOOL, FALSE, MTYPE_I4, NULL, OMP_NON_POD_FIRST_AND_LASTLOCAL_FLAG_NAME, OMP_NON_POD_LASTLOCAL_FLAG_NAME, OPR_IF, OPR_INTCONST, OPR_LDID, OPR_NE, ST_name, strcmp(), TRUE, WN_const_val(), WN_if_test, WN_kid0(), WN_kid1(), WN_operator(), WN_rtype(), and WN_st().
Referenced by Find_Non_POD_Finalization_Code(), Verify_MP_Lowered::Verify_No_MP(), and Walk_and_Localize().
Definition at line 5873 of file wn_mp.cxx.
References CLASS_FUNC, FALSE, OPC_XPRAGMA, ST_sym_class(), WN_kid0(), WN_opcode(), WN_pragma_omp, and WN_st().
Referenced by Gen_MP_Copyin().
Definition at line 2947 of file wn_mp.cxx.
References CLASS_PREG, FALSE, MPSP_STATUS_PREG_NAME, OPR_LDID, Preg_Is_Dedicated, Preg_Name(), strcmp(), TRUE, WN_class, WN_offset(), and WN_operator().
Referenced by Enter_Guarded_WNs().
Definition at line 4566 of file wn_mp.cxx.
References STACK< T >::Elements(), Fail_FmtAssertion(), INITO_val(), INITV_blk(), INITV_kind(), INITV_next(), INITVKIND_BLOCK, INITVKIND_LABEL, INITVKIND_ONE, INITVKIND_PAD, INITVKIND_SYMDIFF, INITVKIND_SYMDIFF16, INITVKIND_SYMOFF, INITVKIND_VAL, INITVKIND_ZERO, INT, Is_True, Localize_INITVKIND_SYMOFF(), Malloc_Mem_Pool, STACK< T >::Pop(), and STACK< T >::Push().
Referenced by Localize_Nested_PU_Exception_Region::operator()().
Definition at line 11758 of file wn_mp.cxx.
References alloca, BZERO, Create_Local_Variables(), FALSE, INT32, local_count, NULL, and Walk_and_Localize().
Referenced by lower_mp().
| static void Localize_INITVKIND_SYMOFF | ( | INITV_IDX | new_idx, | |
| INITV_IDX | old_idx, | |||
| VAR_TABLE * | v | |||
| ) | [static] |
Definition at line 4524 of file wn_mp.cxx.
References BOOL, VAR_TABLE::has_offset, INITV_kind(), INITV_next(), INITV_ofst(), INITV_repeat1(), INITV_Set_SYMOFF(), INITV_st(), Initv_Table, INITVKIND_SYMOFF, Is_True, VAR_TABLE::new_offset, VAR_TABLE::new_st, VAR_TABLE::orig_offset, VAR_TABLE::orig_st, Set_INITV_next(), and ST_st_idx.
Referenced by Localize_All_INITVKIND_SYMOFFs(), and Process_Exception_Region().
| static void Localize_Variable | ( | VAR_TABLE * | v, | |
| VAR_TYPE | vtype, | |||
| OPERATOR | opr, | |||
| WN * | vtree, | |||
| ST * | old_st, | |||
| WN_OFFSET | old_offset, | |||
| WN ** | firstprivate_blockp, | |||
| WN ** | alloca_blockp, | |||
| VAR_TABLE * | prev_def | |||
| ) | [static] |
Definition at line 3566 of file wn_mp.cxx.
References alloca, BOOL, Calculate_Array_Size(), CLASS_PREG, CLASS_VAR, comp_gen_construct, Create_New_DST(), Current_PU_Info, CURRENT_SYMTAB, Debug_Level, dst, DST_INVALID_IDX, DST_IS_NULL, EC_MPLOWER_priv_equiv, EC_MPLOWER_red_not_found, ErrMsg(), EXPORT_LOCAL, Fail_FmtAssertion(), FALSE, Find_DST_From_ST(), FLD_type, FOREACH_SYMBOL, Gen_Auto_Alloca(), Gen_MP_Load_Store(), Get_Current_PU, Has_Base_Block, VAR_TABLE::has_offset, INT, INT16, VAR_TABLE::is_dynamic_array, VAR_TABLE::is_last_and_firstprivate, VAR_TABLE::is_non_pod, VAR_TABLE::is_static_array, Is_True, KIND_ARRAY, KIND_POINTER, KIND_STRUCT, MPP_ORPHANED_PDO, MPP_ORPHANED_SINGLE, MPP_PARALLEL_REGION, MPP_PDO, MPP_SINGLE, mpt, VAR_TABLE::mtype, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_V, VAR_TABLE::new_offset, VAR_TABLE::new_st, New_ST(), NULL, OPC_PRAGMA, OPC_U4ARRAY, OPC_U8ARRAY, OPCODE_make_op(), OPCODE_UNKNOWN, OPERATOR_UNKNOWN, OPR_CAND, OPR_CIOR, OPR_EQ, OPR_LAND, OPR_LIOR, OPR_NE, VAR_TABLE::orig_offset, VAR_TABLE::orig_st, Pointer_Size, Pointer_type, Promote_Type(), PU_F77_LANG, PU_F90_LANG, PU_Info_tree_ptr, PU_src_lang, VAR_TABLE::reduction_opc, VAR_TABLE::reduction_opr, Save_Str(), SCLASS_AUTO, SCLASS_FORMAL, Set_ST_addr_passed(), Set_ST_addr_saved(), Set_ST_pt_to_compiler_generated_mem(), Set_ST_pt_to_unique_mem, sprintf(), ST_addr_passed(), ST_addr_saved(), ST_btype, ST_class, ST_Init(), ST_is_equivalenced, ST_keep_name_w2f, ST_name, ST_ptr(), ST_sclass, ST_st_idx, ST_type, strcmp(), strlen(), strncmp(), sym, TRUE, VAR_TABLE::ty, TY_All_Bounds_Defined(), TY_AR_etype, TY_etype, TY_fld, TY_is_non_pod(), TY_kind, TY_mtype, TY_pointed, TY_size, TYPE_ID, VAR_FIRSTPRIVATE, VAR_LASTLOCAL, VAR_LOCAL, VAR_REDUCTION_ARRAY, VAR_REDUCTION_ARRAY_OMP, VAR_REDUCTION_SCALAR, Vla_Needs_Alloca(), VAR_TABLE::vtree, VAR_TABLE::vtreex, VAR_TABLE::vtype, WN_COPY_Tree(), WN_Create(), WN_CreateBlock, WN_element_size(), WN_first(), WN_func_pragmas, WN_INSERT_BlockLast, WN_Intconst(), WN_kid0(), WN_kid1(), WN_kid2(), WN_next(), WN_opcode(), WN_pragma(), WN_pragma_arg1(), WN_PRAGMA_THREADPRIVATE, and WN_RLdid().
Referenced by Create_Local_Variables().
| static TY_IDX Lock_Padding_TY | ( | ) | [static] |
Definition at line 5188 of file wn_mp.cxx.
References ARB_Init(), Be_Type_Tbl, KIND_ARRAY, MTYPE_I1, MTYPE_UNKNOWN, New_ARB(), New_TY(), Save_Str(), Set_ARB_const_lbnd(), Set_ARB_const_stride(), Set_ARB_const_ubnd(), Set_ARB_dimension(), Set_ARB_first_dimen(), Set_ARB_last_dimen(), Set_ARB_lbnd_val(), Set_ARB_stride_val(), Set_ARB_ubnd_val(), Set_TY_align, Set_TY_arb(), Set_TY_etype(), TY_IDX_ZERO, and TY_Init().
Definition at line 7421 of file wn_mp.cxx.
References BOOL, Create_Preg_or_Temp(), FALSE, Gen_End_Master(), Gen_Master(), Gen_MP_Load(), Gen_Store_Gtid(), GET_RETURN_PREGS, INT, IS_MASTER_PREG_NAME, Is_True, line_number, MPP_MASTER, MPP_ORPHANED_MASTER, mpt, MTYPE_I4, NULL, OPC_I4INTCONST, OPC_PRAGMA, OPC_REGION, ST_type, TRUE, WN_CreateBlock, WN_CreateIf, WN_CreateIntconst, WN_EQ, WN_first(), WN_INSERT_BlockLast, WN_LdidPreg(), WN_linenum(), WN_next(), WN_opcode(), WN_pragma(), WN_PRAGMA_END_MARKER, WN_region_body, WN_region_pragmas, WN_Stid(), and WN_then.
Definition at line 11777 of file wn_mp.cxx.
References alloca, BOOL, BZERO, CLASS_PREG, Cleanup_Ordered(), comp_gen_construct, Copy_Non_MP_Tree(), copyin_count, Create_Preg_or_Temp(), Create_Unnamed_Critical_Lock(), csymtab, Current_Map_Tab, Current_PU_Info, CURRENT_SYMTAB, do_index_type, Fail_FmtAssertion(), FALSE, fast_doacross, first_call, FmtAssert, fp, Frame_Pointer_Preg_Offset, Gen_Barrier(), Gen_Can_Fork(), Gen_Critical(), Gen_End_Critical(), Gen_End_Ordered(), Gen_End_Serialized_Parallel(), Gen_Fork(), Gen_In_Parallel(), Gen_MP_Copyin(), Gen_MP_Load(), Gen_MP_SingleProcess_Region(), Gen_MP_Store(), Gen_Ordered(), Gen_Serialized_Parallel(), Gen_Store_Gtid(), Get_Current_PU, Get_NameLock_ST(), GET_RETURN_PREGS, Identical_Pragmas(), inside_versioning_if, INT32, Is_True, KIND_SCALAR, label_info_table, LABEL_Table_Size(), last_pu_proc_sym, line_number, local_count, Localize_in_serialized_parallel(), Lower_Master(), LOWER_MP, malloc, MEM_POOL_Initialize, Move_Non_POD_Finalization_Code(), mpid_size, mpid_table, MPP_COPYIN, MPP_CRITICAL_SECTION, MPP_ORPHANED_MASTER, MPP_ORPHANED_PDO, MPP_ORPHANED_SINGLE, MPP_PARALLEL_DO, MPP_PARALLEL_REGION, MPP_UNKNOWN, mpt, MTYPE_byte_size, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_U1, MTYPE_U2, MTYPE_U4, non_pod_first_and_lastprivate, NULL, num_constructs, OPC_DO_LOOP, OPC_DO_WHILE, OPC_I4INTCONST, OPC_IF, OPC_PRAGMA, OPC_REGION, OPC_WHILE_DO, OPC_XPRAGMA, OPCODE_name(), OPR_DO_LOOP, OPR_LDA, OPR_STID, p, Pointer_type, printf(), Process_Parallel_Do(), Process_Parallel_Region(), Process_PDO(), psymtab, pu_has_eh, PU_has_exc_scopes(), PU_Info_proc_sym, PUSER_MP, reduction_count, RID_Delete(), Set_Error_Line(), Verify_MP_Lowered::Set_nested_pu_tree(), Verify_MP_Lowered::Set_replace_block(), Verify_MP_Lowered::Set_replace_block_and_nested_pu(), shared_count, ST_class, ST_Has_Dope_Vector(), ST_type, Strip_Nested_MP(), SYMTAB_IDX_ZERO, TRUE, TY_kind, TY_mtype, WN_CAND, WN_COPY_Tree(), WN_CreateBlock, WN_CreateIf, WN_CreateIntconst, WN_Delete, WN_DELETE_FromBlock(), WN_DELETE_Tree(), WN_else, WN_EQ, WN_first(), WN_Get_Linenum(), WN_GT, WN_if_test, WN_index, WN_INSERT_BlockAfter(), WN_INSERT_BlockBefore(), WN_INSERT_BlockLast, WN_Intconst(), WN_Is_If_MpVersion, WN_kid0(), WN_last(), WN_Ldid(), WN_LdidPreg(), WN_linenum(), WN_next(), WN_opcode(), WN_operator(), WN_pragma(), WN_PRAGMA_AFFINITY, WN_PRAGMA_BARRIER, WN_PRAGMA_CHUNKSIZE, WN_pragma_compiler_generated, WN_PRAGMA_COPYIN, WN_PRAGMA_COPYIN_BOUND, WN_PRAGMA_CRITICAL_SECTION_BEGIN, WN_PRAGMA_CRITICAL_SECTION_END, WN_PRAGMA_DATA_AFFINITY, WN_PRAGMA_DOACROSS, WN_PRAGMA_END_MARKER, WN_PRAGMA_FIRSTPRIVATE, WN_PRAGMA_IF, WN_PRAGMA_LASTLOCAL, WN_PRAGMA_LASTTHREAD, WN_PRAGMA_LOCAL, WN_PRAGMA_MASTER_BEGIN, WN_PRAGMA_MPNUM, WN_PRAGMA_MPSCHEDTYPE, WN_PRAGMA_NUMTHREADS, WN_pragma_omp, WN_PRAGMA_ORDERED, WN_PRAGMA_ORDERED_BEGIN, WN_PRAGMA_ORDERED_END, WN_PRAGMA_ORDERED_LOWER_BOUND, WN_PRAGMA_ORDERED_STRIDE, WN_PRAGMA_PARALLEL_BEGIN, WN_PRAGMA_PARALLEL_DO, WN_PRAGMA_PARALLEL_END, WN_PRAGMA_PARALLEL_WORKSHARE, WN_PRAGMA_PDO_BEGIN, WN_PRAGMA_REDUCTION, WN_PRAGMA_SHARED, WN_PRAGMA_SINGLE_PROCESS_BEGIN, WN_PRAGMA_THREAD_AFFINITY, WN_pragmas, WN_prev(), WN_region_body, WN_region_exits, WN_region_pragmas, WN_st(), WN_Stid(), and WN_then.
Referenced by lower_bit_field_id().
Definition at line 13032 of file wn_mp.cxx.
References BZERO, Current_PU_Info, do_id, Init_PU_Globals(), last_pu_proc_sym, lock_id, mpid_size, mpid_table, NULL, and PU_Info_proc_sym.
Referenced by lower_bit_field_id().
Definition at line 4505 of file wn_mp.cxx.
References MTYPE_V, OPCODE_make_op(), OPCODE_operator(), OPCODE_rtype(), OPR_ADD, OPR_DIV, OPR_MPY, and OPR_SUB.
Referenced by Gen_MP_Reduction().
Definition at line 5154 of file wn_mp.cxx.
References Create_Preg_or_Temp(), Create_Temp(), do_index_type, limit_ofst, MTYPE_I4, and Set_ST_addr_passed().
Referenced by Process_Parallel_Do(), and Process_PDO().
Definition at line 5690 of file wn_mp.cxx.
References Allocate_Object(), Be_Type_Tbl, CLASS_FUNC, CURRENT_SYMTAB, EXPORT_PREEMPTIBLE, GLOBAL_SYMTAB, INT, Is_True, KIND_FUNCTION, KIND_POINTER, mpr_names, mpr_sts, MPRUNTIME_FIRST, MPRUNTIME_LAST, mpruntime_ty, MTYPE_I4, MTYPE_UNKNOWN, New_PU(), New_ST(), New_TY(), New_TYLIST(), Pointer_Mtype, Pointer_Size, PU_Init(), Save_Str(), SCLASS_EXTERN, Set_TY_align, Set_TY_pointed(), Set_TY_tylist(), Set_TYLIST_type(), ST_Init(), ST_st_idx, TY_IDX_ZERO, and TY_Init().
Definition at line 8303 of file wn_mp.cxx.
Referenced by Copy_Non_MP_Tree_Rec(), lower_mp(), and Strip_Nested_MP().
Definition at line 8311 of file wn_mp.cxx.
References Find_And_Move_Finalization_Code(), INT, Is_True, OPR_BLOCK, OPR_DO_LOOP, WN_first(), WN_kid(), WN_kid_count(), WN_next(), and WN_operator().
Referenced by Move_Non_POD_Finalization_Code(), and Move_Non_POD_Finalization_Code_Rec().
Definition at line 8166 of file wn_mp.cxx.
Referenced by Process_Parallel_Do(), and Process_Parallel_Region().
| INT MP_Reduction_Combine_Cycles | ( | REDUCTION_LIST * | rlist, | |
| BOOL * | using_critical | |||
| ) |
Definition at line 6412 of file wn_mp.cxx.
References ALCLASS_CRITICAL, ALCLASS_DIRECT, ALCLASS_SWAP, DYN_ARRAY< T >::Elements(), Fail_FmtAssertion(), FALSE, INT, Is_True, OPR_CAND, OPR_CIOR, TRUE, WN_ATOMIC_STORE_Lowering_Class(), WN_kid0(), and WN_operator().
Referenced by PAR_STAT::Parallel_Overhead_Cost(), and ARA_LOOP_INFO::Tc_Parallel_Cost().
| static void my_Get_Return_Pregs | ( | PREG_NUM * | rreg1, | |
| PREG_NUM * | rreg2, | |||
| mTYPE_ID | type, | |||
| const char * | file, | |||
| INT | line | |||
| ) | [static] |
Definition at line 212 of file wn_mp.cxx.
References Be_Type_Tbl, Fail_FmtAssertion(), FmtAssert, Get_Return_Info(), Get_Return_Pregs(), MTYPE_UNKNOWN, RETURN_INFO_count(), RETURN_INFO_preg(), Use_Simulated, and WHIRL_Return_Info_On.
Definition at line 7610 of file wn_mp.cxx.
References FmtAssert, namelock_kind::lock, Malloc_Mem_Pool, MEM_POOL_Realloc, namelock_kind::name, NameLock_Find(), namelock_list, and NULL.
Referenced by Get_NameLock_ST().
Definition at line 7581 of file wn_mp.cxx.
References CLASS_CONST, FmtAssert, INT32, lock(), namelock_list, NULL, ST_class, ST_tcon, strncmp(), Targ_String_Address(), Targ_String_Length(), and Tcon_Table.
Referenced by Get_NameLock_ST(), and NameLock_Add().
| static void Pop_Some_Globals | ( | ) | [static] |
Definition at line 1966 of file wn_mp.cxx.
References NULL.
Referenced by Process_Parallel_Do(), and Process_Parallel_Region().
Definition at line 4629 of file wn_mp.cxx.
References alloca, Current_scope, CURRENT_SYMTAB, Fail_FmtAssertion(), ST::flags, ST::flags_ext, For_all_until(), INITO_st(), Inito_Table, INITO_val(), INITV_blk(), INITV_kind(), INITV_lab(), INITV_lab1(), INITV_mtype(), INITV_next(), INITV_ofst(), INITV_pad(), INITV_repeat1(), INITV_repeat2(), INITV_Set_BLOCK(), INITV_Set_LABEL(), INITV_Set_ONE(), INITV_Set_PAD(), INITV_Set_SYMDIFF(), INITV_Set_SYMOFF(), INITV_Set_VAL(), INITV_Set_ZERO(), INITV_st(), INITV_st2(), Initv_Table, INITV_tc(), INITVKIND_BLOCK, INITVKIND_LABEL, INITVKIND_ONE, INITVKIND_PAD, INITVKIND_SYMDIFF, INITVKIND_SYMDIFF16, INITVKIND_SYMOFF, INITVKIND_VAL, INITVKIND_ZERO, INT, Is_True, Localize_INITVKIND_SYMOFF(), Malloc_Mem_Pool, MPP_PARALLEL_DO, MPP_PARALLEL_REGION, MPP_PDO, MPP_SINGLE, mpt, SEGMENTED_ARRAY< T, block_size >::New_entry(), New_INITO(), New_ST(), OPC_REGION, STACK< T >::Pop(), Pu_Table, STACK< T >::Push(), Save_Str(), Set_INITO_val(), Set_INITV_blk(), Set_INITV_next(), Set_PU_has_exc_scopes(), Set_ST_is_not_used, sprintf(), ST_class, ST_export, ST_Init(), ST_name, ST_pu(), ST_sclass, ST_type, strlen(), Translate_Label(), void, WN_ereg_supp(), and WN_opcode().
Referenced by Walk_and_Localize().
Definition at line 11278 of file wn_mp.cxx.
References BOOL, Create_Local_Variables(), Create_MicroTask(), Cur_PU_Feedback, Current_Map_Tab, Current_pu, Current_PU_Info, CURRENT_SYMTAB, Delayed_MP_Translation(), EC_MPLOWER_first_last_priv, ErrMsgLine(), Extract_Do_Info(), FALSE, fast_doacross, FmtAssert, func_level, Gather_Inner_Scope_Vlas(), Gather_Uplevel_References(), Gen_MP_Copyin(), Gen_MP_Load(), Gen_MP_Load_Store(), Gen_MP_Reduction(), Gen_MP_Store(), Get_Current_PU, INT32, Is_True, line_number, local_count, Make_Local_Temps(), Malloc_Mem_Pool, MP_Fix_Dependence_Graph(), MPP_PARALLEL_DO, mpt, MTYPE_I4, NOMINAL_PROCS, NULL, NUM_HASH_ELEMENTS, OMP_SCHED_DYNAMIC, OMP_SCHED_NORMAL_FIRST, OMP_SCHED_NORMAL_LAST, OMP_SCHED_ORDERED_DYNAMIC, OMP_SCHED_ORDERED_FIRST, OMP_SCHED_ORDERED_LAST, OMP_SCHED_ORDERED_STATIC_EVEN, OMP_SCHED_STATIC_EVEN, OMP_SCHED_UNKNOWN, OPC_I4INTCONST, PAR_FUNC_DO32, PAR_FUNC_DO64, Pop_Some_Globals(), Process_Preamble_Stores(), Process_Preg_Temps(), psymtab, PU_CXX_LANG, pu_has_alloca, pu_has_region, PU_Info_regions_ptr, PU_misc_info(), PU_src_lang, Pu_Table, Push_Some_Globals(), reduction_count, Scale_FB_Parallel_Do(), Set_PU_has_alloca(), Set_PU_has_region, Set_PU_misc_info(), ST_IDX_ZERO, ST_pu(), Strip_Nested_MP(), Transfer_Maps(), Transform_Do(), Translate_Schedule_Type(), TRUE, VAR_LASTLOCAL, Walk_and_Localize(), WN_COPY_Tree(), WN_CreateBarrier, WN_CreateBlock, WN_CreateIf, WN_CreateIntconst, WN_CreatePragma, WN_CreateReturn, WN_Delete, WN_EQ, WN_EXTRACT_FromBlock(), WN_INSERT_BlockAfter(), WN_INSERT_BlockBefore(), WN_INSERT_BlockFirst, WN_INSERT_BlockLast, WN_Intconst(), WN_kid(), WN_linenum(), WN_next(), WN_offsetx(), WN_pragma_arg1(), WN_PRAGMA_NOWAIT, WN_pragma_omp, WN_PRAGMA_PREAMBLE_END, WN_prev(), WN_st(), and WN_then.
Referenced by lower_mp().
Definition at line 11627 of file wn_mp.cxx.
References Create_Local_Variables(), Create_MicroTask(), Current_Map_Tab, Current_pu, Current_PU_Info, CURRENT_SYMTAB, Delayed_MP_Translation(), FALSE, func_level, Gather_Inner_Scope_Vlas(), Gather_Uplevel_References(), Gen_MP_Copyin(), Gen_MP_Reduction(), Get_Current_PU, Is_True, line_number, local_count, Malloc_Mem_Pool, PU::misc, MP_Fix_Dependence_Graph(), MPP_PARALLEL_REGION, mpt, NULL, NUM_HASH_ELEMENTS, PAR_FUNC_REGION, Pop_Some_Globals(), Process_Preg_Temps(), psymtab, pu_has_alloca, pu_has_region, PU_Info_regions_ptr, Pu_Table, Push_Some_Globals(), reduction_count, Set_PU_has_alloca(), Set_PU_has_region, ST_IDX_ZERO, ST_pu(), Strip_Nested_MP(), Transfer_Maps(), Transform_Parallel_Block(), TRUE, Walk_and_Localize(), WN_CreatePragma, WN_CreateReturn, WN_INSERT_BlockFirst, WN_INSERT_BlockLast, WN_linenum(), and WN_PRAGMA_PREAMBLE_END.
Referenced by lower_mp().
Definition at line 10321 of file wn_mp.cxx.
References alloca, Alloca_Var_List::Alloca_Var_List(), BOOL, BZERO, Calls_Alloca(), Create_Local_Variables(), Current_Map_Tab, Current_PU_Info, CURRENT_SYMTAB, CXX_DELETE, CXX_NEW, Delayed_MP_Translation(), do_index_type, Extract_Do_Info(), Fail_FmtAssertion(), FALSE, fast_doacross, FmtAssert, Gen_Barrier(), Gen_MP_Load(), Gen_MP_Load_Store(), Gen_MP_Reduction(), Gen_MP_Store(), Gen_Restore_Stack_Pointer(), Gen_Save_Stack_Pointer(), Gen_Store_Gtid(), Get_Current_PU, Identical_Pragmas(), INT32, VAR_TABLE::is_dynamic_array, VAR_TABLE::is_last_and_firstprivate, VAR_TABLE::is_non_pod, Is_True, KIND_SCALAR, last, last_node, line_number, Make_Local_Temps(), MPP_ORPHANED_PDO, MPP_PDO, mpt, MTYPE_byte_size, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_U1, MTYPE_U2, MTYPE_U4, nested_local_count, nested_reduction_count, VAR_TABLE::new_offset, VAR_TABLE::new_st, non_pod_first_and_lastprivate, NULL, OMP_SCHED_DYNAMIC, OMP_SCHED_NORMAL_FIRST, OMP_SCHED_NORMAL_LAST, OMP_SCHED_ORDERED_DYNAMIC, OMP_SCHED_ORDERED_FIRST, OMP_SCHED_ORDERED_LAST, OMP_SCHED_ORDERED_STATIC_EVEN, OMP_SCHED_STATIC_EVEN, OMP_SCHED_UNKNOWN, OPC_DO_LOOP, OPC_DO_WHILE, OPC_I4INTCONST, OPC_PRAGMA, OPC_WHILE_DO, OPC_XPRAGMA, OPCODE_name(), OPR_DO_LOOP, OPR_REGION, VAR_TABLE::orig_offset, VAR_TABLE::orig_st, psymtab, PUSER_MP, REGION_KIND_EH, save_last, Set_PU_has_alloca(), shared_count, ST_Has_Dope_Vector(), ST_type, Strip_Nested_MP(), Transform_Do(), Translate_Schedule_Type(), TRUE, TY_kind, TY_mtype, VAR_LASTLOCAL, void, VAR_TABLE::vtype, Walk_and_Localize(), WN_COPY_Tree(), WN_CreateBarrier, WN_CreateBlock, WN_CreateIf, WN_CreateIntconst, WN_CreatePragma, WN_Delete, WN_DELETE_FromBlock(), WN_DELETE_Tree(), WN_EQ, WN_EXTRACT_FromBlock(), WN_EXTRACT_ItemsFromBlock(), WN_first(), WN_index, WN_INSERT_BlockAfter(), WN_INSERT_BlockBefore(), WN_INSERT_BlockLast, WN_Intconst(), WN_kid(), WN_last(), WN_linenum(), WN_next(), WN_offsetx(), WN_opcode(), WN_operator(), WN_pragma(), WN_PRAGMA_AFFINITY, WN_pragma_arg1(), WN_PRAGMA_CHUNKSIZE, WN_PRAGMA_DATA_AFFINITY, WN_PRAGMA_END_MARKER, WN_PRAGMA_FIRSTPRIVATE, WN_PRAGMA_LASTLOCAL, WN_PRAGMA_LASTTHREAD, WN_PRAGMA_LOCAL, WN_PRAGMA_MPSCHEDTYPE, WN_PRAGMA_NOWAIT, WN_pragma_omp, WN_PRAGMA_ORDERED, WN_PRAGMA_ORDERED_LOWER_BOUND, WN_PRAGMA_ORDERED_STRIDE, WN_PRAGMA_PDO_BEGIN, WN_PRAGMA_PDO_END, WN_PRAGMA_REDUCTION, WN_PRAGMA_SHARED, WN_PRAGMA_THREAD_AFFINITY, WN_pragmas, WN_prev(), WN_region_body, WN_region_kind(), WN_region_pragmas, WN_st(), and WN_then.
Referenced by lower_mp(), and Transform_Parallel_Block().
Definition at line 8008 of file wn_mp.cxx.
References CLASS_PREG, Gen_MP_Load_Store(), VAR_TABLE::has_offset, INT32, VAR_TABLE::is_dynamic_array, VAR_TABLE::new_offset, VAR_TABLE::new_st, NULL, OPC_BLOCK, OPCODE_has_sym(), OPCODE_operator(), OPR_ISTORE, OPR_STID, VAR_TABLE::orig_offset, VAR_TABLE::orig_st, r, ST_class, TRUE, VAR_TABLE::vtree, VAR_TABLE::vtreex, WN_Compare_Trees, WN_CreateBlock, WN_first(), WN_INSERT_BlockLast, WN_kid(), WN_kid1(), WN_kid_count(), WN_next(), WN_offsetx(), WN_opcode(), and WN_st().
Referenced by Process_Parallel_Do().
Definition at line 5384 of file wn_mp.cxx.
References BOOL, CLASS_PREG, CLASS_VAR, CURRENT_SYMTAB, EXPORT_LOCAL, FALSE, Get_Preg_Idx(), Get_Preg_Num(), INT32, PREG_INFO::lastlocal_list, line_number, PREG_INFO::local_list, mtype, MTYPE_To_PREG, MTYPE_To_TY, MTYPE_UNKNOWN, New_ST(), NULL, OPC_PRAGMA, OPC_XPRAGMA, OPR_STID, PREG_INFO::pclass, PCLASS_COPYIN_COPYOUT, PCLASS_COPYIN_DEADOUT, PCLASS_DEADIN_COPYOUT, PCLASS_DEADIN_DEADOUT, PCLASS_DEADIN_LIVEOUT, PCLASS_LIVEIN_DEADOUT, PCLASS_LIVEIN_LIVEOUT, PREG_INFO::preamble_store, Preg_Is_Dedicated, PREG_Table_Size(), Promote_Type(), PREG_INFO::reduction_list, Save_Str(), SCLASS_AUTO, Set_ST_has_nested_ref, shared_count, SHARED_DEADIN, SHARED_DEADOUT, PREG_INFO::shared_flags, PREG_INFO::shared_list, sprintf(), ST_class, ST_Init(), ST_st_idx, PREG_INFO::temp, TRUE, PREG_INFO::type, TYPE_ID, Walk_and_Info_Pregs(), Walk_and_Replace_Pregs(), WN_CreateBlock, WN_first(), WN_INSERT_BlockLast, WN_kid0(), WN_LdidPreg(), WN_linenum(), WN_next(), WN_offsetx(), WN_opcode(), WN_operator(), WN_pragma_arg2(), WN_RLdid(), WN_set_offsetx(), WN_st(), WN_st_idx(), WN_Stid(), and WN_StidIntoPreg().
Referenced by Process_Parallel_Do(), and Process_Parallel_Region().
Definition at line 202 of file wn_mp.cxx.
References MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_U1, MTYPE_U2, MTYPE_U4, and TYPE_ID.
Referenced by AWN_LdidSym(), canonicalize_if_condition(), Convert_Do_Loops_Conditionals(), Copy_Loads_In_Bound(), ARA_LOOP_INFO::Create_New_IF_Clause(), ARA_LOOP_INFO::Create_Old_IF_Clause(), Create_Shackle_If_Per_Stmt(), Create_Simple_Shackle_Loops(), Execution_Cost_Value(), Finalize_Index_Variable(), Finalize_Index_Variable_For_Remove_Unity_Trip_Loop(), Find_Highest_Type_Of_Loop(), Freeze_Numthreads_Ldid(), Fuse(), Gather_Scatter_Scalar_Expand(), Gen_MP_Load(), Gen_MP_Load_Store(), PF_LG::Gen_Pref_Node(), Generate_Blkcyc_Bounds(), Generate_Block_Bounds(), Generate_Block_Bounds_Negative(), Generate_Cyclic_Bounds(), Generate_Dynamic_Bounds(), Generate_Guard_Test(), Generate_Interleaved_Bounds(), ARA_LOOP_INFO::Generate_Parallel_Pragma(), Generate_Runtime_Cyclic_Bounds(), Generate_Simple_Bounds(), Get_Array_Dimension_LB(), Get_Array_Dimension_Size(), Handle_Sink_General_Case(), Handle_Sink_Promotion_Case(), Handle_Sink_Symbolic_Non_Promotion_Case(), HMB_Hoist_Expressions(), HMB_Replace_Messy_Bounds(), Initialize_Pdo_Last_Local_Index(), Lego_Skew_Index(), Lego_Skew_Loop(), Localize_Variable(), Matching_Load_Opcode(), Maybe_Handle_Sink_Promotion_Case(), MIR_Replace(), Mp_Collapse_Loop_Heads(), Mp_Version_Loop(), Mp_Version_Parallel_Region(), Perform_Gather_Scatter(), Points_To_For_Array_Star(), Post_loop_peeling(), Process_Preg_Temps(), Process_Store(), Processor_Update_Outer_Tile(), Read_Pragma_Thread_Affinity(), Remove_Floor_From_One_Sided_Cond(), return_upper_bound(), return_upper_boundplus1(), Rewrite_Do(), Rewrite_Do_New(), scalar_rename(), SE_Array(), SE_Findxs(), SE_Identity(), SE_Iload(), SE_Indxs_and_Bounds(), SE_Wrap_Array(), SNL_INV_Cache_Block(), SNL_Opr(), Split_Array(), PF_LOOPNODE::Split_Loops(), Trip_Count(), and Walk_and_Localize().
| static void Push_Some_Globals | ( | ) | [static] |
Definition at line 1954 of file wn_mp.cxx.
Referenced by Process_Parallel_Do(), and Process_Parallel_Region().
Definition at line 9704 of file wn_mp.cxx.
References Create_Preg_or_Temp(), do_index_type, Gen_MP_Load(), limit_ofst, line_number, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, MTYPE_To_TY, NULL, OPR_GT, OPR_INTCONST, OPR_LDID, OPR_LT, Promote_Type(), SCLASS_AUTO, ST_btype, ST_sclass, ST_type, WN_Add, WN_COPY_Tree(), WN_DELETE_Tree(), WN_desc(), WN_do_loop_info, WN_end, WN_index, WN_Integer_Cast(), WN_kid0(), WN_kid1(), WN_Ldid(), WN_linenum(), WN_loop_depth(), WN_loop_trip, WN_loop_trip_est(), WN_Mpy, WN_offsetx(), WN_operator(), WN_operator_is, WN_Reset_Loop_Nz_Trip, WN_RLdid(), WN_rtype(), WN_set_loop_trip, WN_st(), WN_start, WN_step, WN_Stid(), and WN_Sub.
Definition at line 8906 of file wn_mp.cxx.
References Gen_MP_Load(), MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, MTYPE_To_TY, NULL, OPR_INTCONST, OPR_LDID, Promote_Type(), SCLASS_AUTO, ST_btype, ST_sclass, WN_DELETE_Tree(), WN_desc(), WN_do_loop_info, WN_end, WN_index, WN_Integer_Cast(), WN_kid0(), WN_kid1(), WN_loop_trip, WN_offsetx(), WN_operator(), WN_operator_is, WN_RLdid(), WN_rtype(), WN_set_do_loop_info, WN_set_kid_count(), WN_st(), WN_start, and WN_step.
Referenced by Transform_Do().
Definition at line 9810 of file wn_mp.cxx.
References FEEDBACK::Annot_loop(), FALSE, FEEDBACK::FB_scale(), FB_Info_Loop::freq_back, FB_Info_Loop::freq_iterate, FB_Info_Loop::freq_positive, Is_True, OPR_DO_LOOP, FEEDBACK::Query_loop(), FB_FREQ::Value(), WN_do_body, and WN_operator().
Referenced by Process_Parallel_Do().
Definition at line 1250 of file wn_mp.cxx.
References Gen_Set_Num_Threads(), Gen_Store_Gtid(), WN_CreateBlock, and WN_INSERT_BlockLast.
Definition at line 6859 of file wn_mp.cxx.
References CLASS_VAR, FALSE, KIND_POINTER, KIND_STRUCT, ST_class, ST_type, strncmp(), TRUE, TY_is_f90_pointer, TY_kind, TY_name, TY_pointed, and Ty_Table.
Referenced by Gen_MP_SingleProcess_Region(), OPT_STAB::Identify_vsym(), lower_mp(), Only_32bit_opnds(), Process_PDO(), and ST_might_be_modified().
Definition at line 8717 of file wn_mp.cxx.
References OPR_GE, OPR_LE, TRUE, WN_end, WN_operator(), and WN_Upper_Bound_Standardize().
Referenced by Extract_Do_Info().
Definition at line 7791 of file wn_mp.cxx.
References BOOL, Current_Map_Tab, FALSE, Gen_End_Serialized_Parallel(), Gen_Serialized_Parallel(), inside_versioning_if, INT32, Move_Non_POD_Finalization_Code(), MPP_PARALLEL_DO, MPP_PARALLEL_REGION, NULL, OPC_BLOCK, OPC_I4INTCONST, OPC_IF, OPC_PRAGMA, OPC_REGION, OPC_XPRAGMA, PUSER_MP, RID_Delete(), TRUE, WN_CreateIntconst, WN_Delete, WN_DELETE_Tree(), WN_else, WN_first(), WN_if_test, WN_INSERT_BlockFirst, WN_INSERT_BlockLast, WN_Is_If_MpVersion, WN_kid(), WN_kid_count(), WN_last(), WN_next(), WN_opcode(), WN_pragma(), WN_PRAGMA_BARRIER, WN_PRAGMA_CRITICAL_SECTION_BEGIN, WN_PRAGMA_CRITICAL_SECTION_END, WN_PRAGMA_DOACROSS, WN_PRAGMA_ENTER_GATE, WN_PRAGMA_EXIT_GATE, WN_PRAGMA_INDEPENDENT_BEGIN, WN_PRAGMA_INDEPENDENT_END, WN_PRAGMA_MASTER_BEGIN, WN_pragma_omp, WN_PRAGMA_ORDERED_BEGIN, WN_PRAGMA_ORDERED_END, WN_PRAGMA_PARALLEL_BEGIN, WN_PRAGMA_PARALLEL_DO, WN_PRAGMA_PARALLEL_WORKSHARE, WN_PRAGMA_PDO_BEGIN, WN_PRAGMA_PWORKSHARE_BEGIN, WN_PRAGMA_SINGLE_PROCESS_BEGIN, WN_PRAGMA_SINGLE_PROCESS_END, WN_pragmas, WN_prev(), WN_region_body, WN_region_exits, WN_region_pragmas, WN_Reset_If_MpVersion, and WN_then.
Referenced by lower_mp(), Process_Parallel_Do(), Process_Parallel_Region(), and Process_PDO().
| static void Transfer_Maps | ( | WN_MAP_TAB * | parent, | |
| WN_MAP_TAB * | child, | |||
| WN * | tree, | |||
| RID * | root_rid | |||
| ) | [static] |
Definition at line 5634 of file wn_mp.cxx.
References HASH_TABLE< SIG_TYPE, DATA_TYPE >::Enter(), INT32, IPA_WN_MAP32_Get(), IPA_WN_MAP32_Set(), Malloc_Mem_Pool, NUM_HASH_ELEMENTS, HASH_TABLE_ITER< SIG_TYPE, DATA_TYPE >::Step(), Transfer_Maps_R(), val, WN_ITER_wn, WN_MAP_FEEDBACK, WN_WALK_TreeIter(), and WN_WALK_TreeNext().
Referenced by Process_Parallel_Do(), and Process_Parallel_Region().
| static void Transfer_Maps_R | ( | WN_MAP_TAB * | parent, | |
| WN_MAP_TAB * | child, | |||
| WN * | tree, | |||
| RID * | root_rid | |||
| ) | [static] |
Definition at line 5663 of file wn_mp.cxx.
References INT32, IPA_WN_Move_Maps_PU(), Is_True, node, NULL, OPC_BLOCK, OPC_REGION, REGION_get_rid(), RID_Add_kid(), RID_unlink(), WN_first(), WN_kid(), WN_kid_count(), WN_map_id(), WN_next(), and WN_opcode().
Referenced by Transfer_Maps().
| static WN* Transform_Do | ( | WN * | do_tree, | |
| SCHEDULE_TYPE | schedule, | |||
| WN * | chunk_size | |||
| ) | [static] |
Definition at line 9039 of file wn_mp.cxx.
References Be_Type_Tbl, BOOL, Create_Preg_or_Temp(), do_index_type, FALSE, fast_doacross, Gen_Barrier(), Gen_MP_Load(), Gen_MP_Store(), GET_MPRUNTIME_ST, GET_RETURN_PREGS, INT, limit_ofst, line_number, MPR_OMP_SCHEDULER_INIT_4, MPR_OMP_SCHEDULER_INIT_8, MPR_OMP_SCHEDULER_NEXT_4, MPR_OMP_SCHEDULER_NEXT_8, MPR_OMP_STATIC_FINI, MPR_OMP_STATIC_INIT_4, MPR_OMP_STATIC_INIT_8, MTYPE_I4, MTYPE_I8, MTYPE_V, NULL, OMP_SCHED_STATIC, OMP_SCHED_STATIC_EVEN, OPC_I4CALL, OPC_I4INTCONST, OPC_VCALL, OPCODE_make_op(), OPR_LDID, OPR_LE, OPR_LT, OPR_NEG, OPR_SUB, Pointer_type, Rewrite_Do_New(), ST_type, TRUE, TY_mtype, Ty_Table, WN_Add, WN_CAND, WN_COPY_Tree(), WN_Create(), WN_CreateBlock, WN_CreateExp1, WN_CreateIf, WN_CreateIntconst, WN_CreateParm, WN_CreateWhileDo, WN_Delete, WN_end, WN_GE, WN_GT, WN_index, WN_INSERT_BlockBefore(), WN_INSERT_BlockLast, WN_Integer_Cast(), WN_kid(), WN_kid0(), WN_kid1(), WN_Lda(), WN_Ldid(), WN_LdidPreg(), WN_LE, WN_linenum(), WN_LT, WN_offset(), WN_offsetx(), WN_operator(), WN_PARM_BY_REFERENCE, WN_PARM_BY_VALUE, WN_rtype(), WN_Set_Call_Non_Data_Mod, WN_Set_Call_Non_Data_Ref, WN_Set_Call_Non_Parm_Mod, WN_Set_Call_Non_Parm_Ref, WN_Set_Call_Parm_Mod, WN_Set_Call_Parm_Ref, WN_st(), WN_st_idx(), WN_step, WN_Stid(), WN_Sub, and WN_ty().
Referenced by Process_Parallel_Do(), and Process_PDO().
Definition at line 9853 of file wn_mp.cxx.
References BOOL, comp_gen_construct, Create_Unnamed_Critical_Lock(), Current_Map_Tab, end_id, Fail_FmtAssertion(), FALSE, Gen_Barrier(), Gen_Critical(), Gen_End_Critical(), Gen_End_Ordered(), Gen_MP_SingleProcess_Block(), Gen_MP_SingleProcess_Region(), Gen_Ordered(), Get_NameLock_ST(), INT32, Lower_Master(), MPP_MASTER, MPP_PDO, MPP_SINGLE, mpt, NULL, num_constructs, OPC_BLOCK, OPC_PRAGMA, OPC_REGION, OPC_XPRAGMA, OPR_LDA, p, Process_PDO(), PUSER_MP, RID_Delete(), WN_CreateBlock, WN_Delete, WN_DELETE_FromBlock(), WN_DELETE_Tree(), WN_EXTRACT_FromBlock(), WN_EXTRACT_ItemsFromBlock(), WN_first(), WN_Get_Linenum(), WN_INSERT_BlockAfter(), WN_kid(), WN_kid0(), WN_kid_count(), WN_last(), WN_next(), WN_opcode(), WN_operator(), WN_pragma(), WN_PRAGMA_BARRIER, WN_pragma_compiler_generated, WN_PRAGMA_CRITICAL_SECTION_BEGIN, WN_PRAGMA_CRITICAL_SECTION_END, WN_PRAGMA_ENTER_GATE, WN_PRAGMA_EXIT_GATE, WN_PRAGMA_INDEPENDENT_BEGIN, WN_PRAGMA_INDEPENDENT_END, WN_PRAGMA_MASTER_BEGIN, WN_pragma_omp, WN_PRAGMA_ORDERED_BEGIN, WN_PRAGMA_ORDERED_END, WN_PRAGMA_PDO_BEGIN, WN_PRAGMA_PWORKSHARE_BEGIN, WN_PRAGMA_SINGLE_PROCESS_BEGIN, WN_PRAGMA_SINGLE_PROCESS_END, WN_pragmas, WN_prev(), WN_region_exits, WN_region_pragmas, and WN_st().
Referenced by Process_Parallel_Region().
Definition at line 3332 of file wn_mp.cxx.
References calloc(), csymtab, Cur_PU_Name, Current_PU_Info, CURRENT_SYMTAB, Get_Current_PU_ST, INT, Is_True, LABEL_IDX_index(), LABEL_IDX_ZERO, label_info_table, LABEL_Init(), LABEL_kind(), MPP_ORPHANED_PDO, MPP_ORPHANED_SINGLE, mpt, New_LABEL(), psymtab, PU_Info_proc_sym, Save_Str(), Scope_tab, sprintf(), ST_name, strlen(), strsize, SYMTAB_IDX_ZERO, and User_Label_Number_Format.
Referenced by Process_Exception_Region(), and Walk_and_Localize().
| SCHEDULE_TYPE Translate_Schedule_Type | ( | int | mp_SchedType, | |
| BOOL | ordered | |||
| ) |
Definition at line 10215 of file wn_mp.cxx.
References MAX_PRAGMA_SCHEDTYPE, OMP_SCHED_DYNAMIC, OMP_SCHED_GUIDED, OMP_SCHED_ORDERED_DYNAMIC, OMP_SCHED_ORDERED_GUIDED, OMP_SCHED_ORDERED_RUNTIME, OMP_SCHED_ORDERED_STATIC, OMP_SCHED_ORDERED_STATIC_EVEN, OMP_SCHED_RUNTIME, OMP_SCHED_STATIC, OMP_SCHED_STATIC_EVEN, OMP_SCHED_UNKNOWN, WN_PRAGMA_SCHEDTYPE_DYNAMIC, WN_PRAGMA_SCHEDTYPE_GSS, WN_PRAGMA_SCHEDTYPE_INTERLEAVE, WN_PRAGMA_SCHEDTYPE_PSEUDOLOWERED, WN_PRAGMA_SCHEDTYPE_RUNTIME, WN_PRAGMA_SCHEDTYPE_SIMPLE, and WN_PRAGMA_SCHEDTYPE_UNKNOWN.
Referenced by Process_Parallel_Do(), and Process_PDO().
Definition at line 3383 of file wn_mp.cxx.
References FALSE, INT, Is_True, KIND_ARRAY, TRUE, TY_AR_const_lbnd, TY_AR_const_ubnd, TY_AR_lbnd_var(), TY_AR_ndims, TY_AR_ubnd_var(), and TY_kind.
Referenced by Localize_Variable().
Definition at line 3963 of file wn_mp.cxx.
References CLASS_PREG, Fail_FmtAssertion(), OPERATOR_has_offset(), OPERATOR_has_sym(), Preg_Is_Dedicated, ST_class, wn_iter::wn, WN_offsetx(), WN_operator(), WN_st(), WN_WALK_TreeIter(), and WN_WALK_TreeNext().
Referenced by Create_Local_Variables().
Definition at line 3253 of file wn_mp.cxx.
References BOUNDSCHECKED_VECTOR< T >::at(), CLASS_PREG, Get_Preg_Idx(), INT32, MTYPE_UNKNOWN, node, OPC_BLOCK, OPC_PRAGMA, OPCODE_has_offset(), OPCODE_has_sym(), Preg_Is_Dedicated, ST_btype, ST_class, PREG_INFO::type, WN_first(), WN_kid(), WN_kid_count(), WN_next(), WN_offsetx(), WN_opcode(), and WN_st().
Referenced by Process_Preg_Temps().
| static WN* Walk_and_Localize | ( | WN * | tree, | |
| VAR_TABLE * | vtab, | |||
| Localize_Parent_Stack * | lps, | |||
| BOOL | is_par_region, | |||
| WN ** | non_pod_finalization | |||
| ) | [static] |
Definition at line 4905 of file wn_mp.cxx.
References BOOL, Current_PU_Info, STACK< T >::Elements(), Erase_Restricted_Mapping(), Fail_FmtAssertion(), VAR_TABLE::has_offset, INT, INT32, VAR_TABLE::is_dynamic_array, VAR_TABLE::is_non_pod, Is_Nonpod_Finalization_IF(), VAR_TABLE::is_static_array, Is_True, MPP_ORPHANED_PDO, MPP_ORPHANED_SINGLE, mpt, VAR_TABLE::mtype, MTYPE_C4, MTYPE_C8, MTYPE_F4, MTYPE_F8, VAR_TABLE::new_offset, VAR_TABLE::new_st, non_pod_first_and_lastprivate, NULL, OPC_BLOCK, OPC_REGION, OPCODE_has_label(), OPCODE_has_offset(), OPCODE_has_sym(), OPCODE_operator(), OPR_ARRAY, OPR_BACKWARD_BARRIER, OPR_FORWARD_BARRIER, OPR_ILOAD, OPR_ISTORE, OPR_LDA_LABEL, OPR_LDID, OPR_STID, VAR_TABLE::orig_offset, VAR_TABLE::orig_st, Localize_Parent_Stack::parent_stack, Pointer_type, Localize_Parent_Stack::Pop(), Process_Exception_Region(), Promote_Type(), PU_Info_proc_sym, Localize_Parent_Stack::Push(), r, Set_BE_ST_pu_needs_addr_flag_adjust(), Set_LABEL_addr_saved(), ST_st_idx, tmp, STACK< T >::Top_nth(), Translate_Label(), TRUE, VAR_TABLE::ty, VAR_REDUCTION_ARRAY, VAR_TABLE::vtree, VAR_TABLE::vtreex, VAR_TABLE::vtype, WN_Compare_Trees, WN_Delete, WN_DELETE_FromBlock(), WN_DELETE_Tree(), WN_desc(), WN_ereg_supp(), WN_EXTRACT_FromBlock(), WN_first(), WN_kid(), WN_kid0(), WN_kid1(), WN_kid_count(), WN_label_number(), WN_last(), WN_Lda(), WN_linenum(), WN_next(), WN_offsetx(), WN_opcode(), WN_operator(), WN_prev(), WN_RLdid(), WN_rtype(), WN_set_desc(), WN_set_offsetx(), WN_set_rtype(), WN_st(), WN_st_idx(), WN_Stid(), and WN_then.
Referenced by Gen_MP_SingleProcess_Region(), Localize_in_serialized_parallel(), Process_Parallel_Do(), Process_Parallel_Region(), and Process_PDO().
Definition at line 3289 of file wn_mp.cxx.
References BOUNDSCHECKED_VECTOR< T >::at(), CLASS_PREG, Get_Preg_Idx(), INT32, node, OPC_BLOCK, OPCODE_has_offset(), OPCODE_has_sym(), PREG_INFO::pclass, PCLASS_COPYIN_DEADOUT, Preg_Is_Dedicated, ST_class, ST_st_idx, PREG_INFO::temp, WN_first(), WN_kid(), WN_kid_count(), WN_next(), WN_offsetx(), WN_opcode(), WN_set_offsetx(), WN_st(), and WN_st_idx().
Referenced by Process_Preg_Temps().
Definition at line 13053 of file wn_mp.cxx.
References FALSE, FmtAssert, OPR_PRAGMA, OPR_XPRAGMA, TRUE, WN_operator(), WN_pragma(), WN_PRAGMA_ALIGN, WN_PRAGMA_BARRIER, WN_PRAGMA_COPYIN, WN_PRAGMA_CRITICAL_SECTION_BEGIN, WN_PRAGMA_DISTRIBUTE, WN_PRAGMA_ENTER_GATE, WN_PRAGMA_FILL, WN_PRAGMA_INDEPENDENT_BEGIN, WN_PRAGMA_MASTER_BEGIN, WN_PRAGMA_ORDERED, WN_PRAGMA_ORDERED_BEGIN, WN_PRAGMA_PAGE_PLACE, WN_PRAGMA_REDISTRIBUTE, and WN_PRAGMA_SINGLE_PROCESS_BEGIN.
Referenced by SUMMARIZE< program >::Process_procedure().
Definition at line 6789 of file wn_mp.cxx.
References OPCODE_make_op(), OPR_CVT, and WN_CreateExp1.
Referenced by Extract_Do_Info(), Rewrite_Do(), Rewrite_Do_New(), and Transform_Do().
Definition at line 180 of file wn_mp.cxx.
References OPR_PRAGMA, OPR_XPRAGMA, WN_offset(), WN_operator(), and WN_pragma_arg1().
Referenced by Create_Local_Variables(), Extract_Do_Info(), Gen_MP_Copyin(), Process_Parallel_Do(), Process_PDO(), Process_Preamble_Stores(), Process_Preg_Temps(), Rewrite_Do(), Rewrite_Do_New(), Transform_Do(), Verify_No_Pregs_In_Tree(), Walk_and_Info_Pregs(), Walk_and_Localize(), and Walk_and_Replace_Pregs().
Definition at line 191 of file wn_mp.cxx.
References OPR_PRAGMA, OPR_XPRAGMA, WN_offset(), WN_operator(), and WN_pragma_arg1().
Referenced by Create_Local_Variables(), Process_Preg_Temps(), Walk_and_Localize(), and Walk_and_Replace_Pregs().
WN* affinity_d_nodes [static] |
WN* affinity_nodes [static] |
WN* affinity_t_nodes [static] |
WN* alloca_block [static] |
Definition at line 525 of file wn_mp.cxx.
Referenced by PARTITION_GRAPH::Get_Complementary(), and PARTITION_GRAPH::Is_Complementary().
WN* chunk_node [static] |
WN_MAP_TAB* cmaptab [static] |
BOOL comp_gen_construct [static] |
Definition at line 638 of file wn_mp.cxx.
Referenced by Gather_Uplevel_References(), Localize_Variable(), lower_mp(), and Transform_Parallel_Block().
WN* cont_nodes [static] |
WN* copyin_block [static] |
INT32 copyin_count [static] |
WN* copyin_nodes [static] |
WN* copyin_nodes_end [static] |
WN* copyout_block [static] |
BOOL critical_lock_not_init = TRUE [static] |
Definition at line 656 of file wn_mp.cxx.
Referenced by Create_Critical_Lock(), Create_Name_Lock(), Create_Unnamed_Critical_Lock(), Gen_Critical(), and Get_NameLock_ST().
SYMTAB_IDX csymtab [static] |
Definition at line 624 of file wn_mp.cxx.
Referenced by Create_MicroTask(), lower_mp(), and Translate_Label().
ST* do_index_st [static] |
TYPE_ID do_index_type [static] |
Definition at line 534 of file wn_mp.cxx.
Referenced by Extract_Do_Info(), lower_mp(), Make_Local_Temps(), Process_PDO(), Rewrite_Do(), and Transform_Do().
WN* do_order_lb = NULL [static] |
WN* do_order_stride = NULL [static] |
WN* do_preamble_block [static] |
const char* const dope_str_prefix = ".dope." [static] |
const INT dope_str_prefix_len = 6 [static] |
BOOL fast_doacross [static] |
Definition at line 535 of file wn_mp.cxx.
Referenced by lower_mp(), Process_Parallel_Do(), Process_PDO(), and Transform_Do().
BOOL first_call = TRUE [static] |
Definition at line 490 of file wn_mp.cxx.
Referenced by cgraph_decide_recursive_inlining(), init_whole_array(), and lower_mp().
WN* firstprivate_block [static] |
WN* firstprivate_nodes [static] |
INT32 func_level [static] |
Definition at line 532 of file wn_mp.cxx.
Referenced by Create_MicroTask(), Process_Parallel_Do(), and Process_Parallel_Region().
WN* if_postamble_block [static] |
WN* if_preamble_block [static] |
vector<ST*> inner_scope_vla [static] |
BOOL inside_versioning_if [static] |
LABEL_INFO_TABLE* label_info_table [static] |
Definition at line 519 of file wn_mp.cxx.
Referenced by Convex_Peeling_Depth(), and SNL_NEST_INFO::SNL_NEST_INFO().
ST_IDX last_pu_proc_sym = ST_IDX_ZERO [static] |
WN* lastlocal_nodes [static] |
WN* lastthread_node [static] |
WN* limit_node = NULL [static] |
WN_OFFSET limit_ofst [static] |
Definition at line 522 of file wn_mp.cxx.
Referenced by Make_Local_Temps(), Rewrite_Do(), and Transform_Do().
INT64 line_number [static] |
Definition at line 510 of file wn_mp.cxx.
Referenced by coff_write_native_symbol(), create_doloop_node(), Create_Func_DST(), Create_MicroTask(), Fission_Inner_Loop(), Gen_Auto_Alloca(), Gen_Barrier(), Gen_Can_Fork(), Gen_Critical(), Gen_End_Critical(), Gen_End_Master(), Gen_End_Ordered(), Gen_End_Serialized_Parallel(), Gen_End_Single(), Gen_Fini_RTL(), Gen_Flush(), Gen_Fork(), Gen_Get_Num_Threads(), Gen_Get_Thread_Num(), Gen_In_Parallel(), Gen_Init_RTL(), Gen_Master(), Gen_MP_Copyin(), Gen_MP_Reduction(), Gen_MP_SingleProcess_Block(), Gen_MP_Store(), Gen_Ordered(), Gen_Restore_Stack_Pointer(), Gen_Save_Stack_Pointer(), Gen_Serialized_Parallel(), Gen_Set_Num_Threads(), Gen_Single(), Gen_Store_Gtid(), GTY(), WB_BROWSER::Initialize_Keymap(), Initialize_Keymap(), CG_BROWSER::Initialize_Keymap(), Linenum_Pusher::Linenum_Pusher(), Lower_Master(), lower_mp(), Process_Parallel_Do(), Process_Parallel_Region(), Process_PDO(), Process_Preg_Temps(), Rewrite_Do(), save_def_or_dec(), Transform_Do(), VEC(), and Linenum_Pusher::~Linenum_Pusher().
WN* livein_block [static] |
WN* liveout_block [static] |
ST* local_btid [static] |
INT32 local_count [static] |
Definition at line 538 of file wn_mp.cxx.
Referenced by Find_Kernel_Stack_Nest_Traverse(), Localize_in_serialized_parallel(), lower_mp(), Mp_Collapse_Dependences(), Process_Parallel_Do(), Process_Parallel_Region(), rtx_equiv_p(), CG_BROWSER::Summary(), and WB_BROWSER::Summary().
ST* local_gtid [static] |
ST* local_limit [static] |
ST* local_lower = NULL [static] |
WN* local_nodes [static] |
ST* local_ntrip [static] |
ST* local_start [static] |
ST* local_stride = NULL [static] |
ST* local_upper = NULL [static] |
Definition at line 612 of file wn_mp.cxx.
Referenced by Create_Critical_Lock(), and LowerMP_PU_Init().
TY_IDX lock_ty_idx = TY_IDX_ZERO [static] |
Definition at line 651 of file wn_mp.cxx.
Referenced by Create_Critical_Lock(), Create_Lock_Type(), Create_Name_Lock(), Create_Unnamed_Critical_Lock(), and Gen_Critical().
MEM_POOL MP_Dep_Pool [static] |
BOOL mp_dep_pool_initialized [static] |
Definition at line 8158 of file wn_mp.cxx.
Referenced by Copy_Non_MP_Tree(), and MP_Fix_Dependence_Graph().
MEM_POOL mp_lower_pool [static] |
TY_IDX mpdo32_ty = TY_IDX_ZERO [static] |
TY_IDX mpdo64_ty = TY_IDX_ZERO [static] |
ST* mpflags_st = NULL [static] |
MPID_TABLE* mpid_table [static] |
Definition at line 598 of file wn_mp.cxx.
Referenced by Create_MicroTask(), lower_mp(), and LowerMP_PU_Init().
WN* mpnum_node [static] |
const char* mpr_names[MPRUNTIME_LAST+1] [static] |
TY_IDX mpregion_ty = TY_IDX_ZERO [static] |
TY_IDX mpruntime_ty = TY_IDX_ZERO [static] |
WN* mpsched_node [static] |
MP_process_type mpt [static] |
Definition at line 646 of file wn_mp.cxx.
Referenced by Copy_Non_MP_Tree_Rec(), Create_Local_Variables(), Gen_MP_SingleProcess_Region(), Localize_Variable(), Lower_Master(), lower_mp(), Process_Exception_Region(), Process_Parallel_Do(), Process_Parallel_Region(), Process_PDO(), Transform_Parallel_Block(), Translate_Label(), and Walk_and_Localize().
ST* mptrips_st = NULL [static] |
struct namelock_kind * namelock_list [static] |
Referenced by NameLock_Add(), and NameLock_Find().
WN* nested_affinity_d_nodes [static] |
WN* nested_affinity_nodes [static] |
WN* nested_affinity_t_nodes [static] |
WN* nested_chunk_node [static] |
WN* nested_do_order_lb = NULL [static] |
WN* nested_do_order_stride = NULL [static] |
DST_INFO_IDX nested_dst [static] |
WN* nested_firstprivate_nodes [static] |
WN* nested_lastlocal_nodes [static] |
WN* nested_lastthread_node [static] |
INT32 nested_local_count [static] |
WN* nested_local_nodes [static] |
WN* nested_mpsched_node [static] |
WN* nested_nowait_node [static] |
WN* nested_ordered_node [static] |
INT32 nested_reduction_count [static] |
WN* nested_reduction_nodes [static] |
WN* nested_shared_nodes [static] |
VAR_TABLE* nested_var_table [static] |
WN* non_pod_finalization_nodes [static] |
BOOL non_pod_first_and_lastprivate [static] |
Definition at line 558 of file wn_mp.cxx.
Referenced by lower_mp(), Process_PDO(), and Walk_and_Localize().
WN* ntrip_calc [static] |
WN* ntrip_node [static] |
INT32 num_constructs [static] |
Definition at line 568 of file wn_mp.cxx.
Referenced by Gen_MP_SingleProcess_Block(), lower_mp(), and Transform_Parallel_Block().
const mINT32 NUM_HASH_ELEMENTS = 1021 [static] |
WN* numthreads_node [static] |
ST* old_gtid_st = NULL [static] |
WN* ordered_node [static] |
WN* parallel_func [static] |
ST* parallel_proc [static] |
FEEDBACK* parallel_pu_fb [static] |
WN_MAP_TAB* pmaptab [static] |
SYMTAB_IDX psymtab [static] |
Definition at line 623 of file wn_mp.cxx.
Referenced by Create_MicroTask(), Gen_MP_SingleProcess_Region(), lower_mp(), Process_Parallel_Do(), Process_Parallel_Region(), Process_PDO(), and Translate_Label().
WN* pu_chunk_node = NULL [static] |
BOOL pu_has_alloca [static] |
Definition at line 629 of file wn_mp.cxx.
Referenced by Gather_Uplevel_References(), Process_Parallel_Do(), and Process_Parallel_Region().
BOOL pu_has_region [static] |
Definition at line 630 of file wn_mp.cxx.
Referenced by Gather_Uplevel_References(), Process_Parallel_Do(), and Process_Parallel_Region().
WN* pu_mpsched_node = NULL [static] |
INT32 reduction_count [static] |
Definition at line 540 of file wn_mp.cxx.
Referenced by dump_reductions(), lower_mp(), Process_Parallel_Do(), Process_Parallel_Region(), and WB_reduction().
WN* reduction_nodes [static] |
WN* reference_block [static] |
WN* replace_block [static] |
WN* serial_stmt_block [static] |
INT32 shared_count [static] |
Definition at line 541 of file wn_mp.cxx.
Referenced by Create_Critical_Lock(), Create_Unnamed_Critical_Lock(), Gather_Uplevel_References(), lower_mp(), Process_PDO(), and Process_Preg_Temps().
WN* shared_nodes [static] |
SHARED_TABLE* shared_table [static] |
WN* stmt_block [static] |
Definition at line 493 of file wn_mp.cxx.
Referenced by movable_if_test(), and Perform_Gather_Scatter().
WN* stride_node [static] |
ST* thread_info [static] |
ST* unnamed_lock_st = NULL [static] |
1.5.6