#include "gnu_config.h"#include "system.h"#include "gnu/tree.h"#include "wn.h"#include "wfe_misc.h"#include "wfe_stmt.h"#include "omp_types.h"#include "omp_directive.h"#include "wfe_omp_directives.h"#include "wfe_omp_check_stack.h"#include "stdio.h"#include "errors.h"#include "const.h"#include "erglob.h"

Go to the source code of this file.
Definition at line 2249 of file wfe_omp_directives.cxx.
References OPR_LDID, OPR_STID, and WN_operator().
Definition at line 2256 of file wfe_omp_directives.cxx.
References Equiv_Expression(), FALSE, INT, TRUE, WN_Equiv(), WN_kid(), and WN_kid_count().
Definition at line 2298 of file wfe_omp_directives.cxx.
References Find_Same_Location(), INT, NULL, OPR_BLOCK, Same_Location(), tmp, WN_kid(), WN_kid_count(), and WN_operator().
Definition at line 2337 of file wfe_omp_directives.cxx.
References find(), Find_Same_Location(), FmtAssert, Is_True, OPR_ADD, OPR_BLOCK, OPR_SUB, Same_Location(), store(), WN_Add, WN_first(), WN_Intconst(), WN_kid(), WN_kid0(), WN_kid1(), WN_last(), WN_operator(), and WN_rtype().
Definition at line 2269 of file wfe_omp_directives.cxx.
References Direct_Memory(), Equiv_Expression(), FALSE, OPCODE_is_load(), OPCODE_is_store(), WN_kid0(), WN_kid1(), WN_offset(), WN_opcode(), and WN_st().
| void WFE_check_barrier | ( | ) |
Definition at line 2451 of file wfe_omp_directives.cxx.
References cs, msg, NULL, OPR_BLOCK, SRCPOS_filenum, SRCPOS_linenum, WFE_bind_to_same(), WFE_CS_top(), wfe_cscf, WFE_is_top(), wfe_omp_barrier, wfe_omp_critical, WFE_omp_error(), wfe_omp_for, wfe_omp_master, wfe_omp_ordered, wfe_omp_parallel, wfe_omp_sections, wfe_omp_single, WFE_Set_LFnum(), WFE_Stmt_Top(), and WN_operator().
| void WFE_check_critical | ( | char * | name | ) |
Definition at line 2135 of file wfe_omp_directives.cxx.
References msg, NULL, WFE_CS_Find_fgname(), WFE_CS_top(), wfe_omp_critical, and WFE_omp_error().
Definition at line 156 of file wfe_omp_directives.cxx.
Definition at line 119 of file wfe_omp_directives.cxx.
References fprintf(), SCLASS_FORMAL_REF, and WN_st().
| void WFE_check_flush | ( | ) |
Definition at line 2530 of file wfe_omp_directives.cxx.
References cs, msg, NULL, OPR_BLOCK, SRCPOS_filenum, SRCPOS_linenum, WFE_CS_top(), wfe_cscf, WFE_is_top(), WFE_omp_error(), WFE_Set_LFnum(), WFE_Stmt_Top(), and WN_operator().
Definition at line 392 of file wfe_omp_directives.cxx.
References clause_firstprivate, clause_lastprivate, clause_private, clause_reduction, fprintf(), msg, NULL, OPR_BLOCK, OPR_DO_LOOP, ST_is_thread_private, WFE_bind_to_same(), WFE_Check_Cflag(), WFE_check_default(), WFE_check_firstprivate(), WFE_check_lastprivate(), WFE_check_private(), WFE_check_reduction(), WFE_CS_Find_Rtn(), WFE_CS_top(), wfe_omp_critical, WFE_omp_error(), wfe_omp_for, wfe_omp_master, wfe_omp_ordered, wfe_omp_parallel, wfe_omp_sections, wfe_omp_single, WN_first(), WN_index, WN_next(), WN_operator(), check_stmt::wn_prag, WN_pragma(), WN_PRAGMA_COPYIN, WN_PRAGMA_COPYPRIVATE, WN_PRAGMA_DEFAULT, WN_PRAGMA_FIRSTPRIVATE, WN_PRAGMA_IF, WN_PRAGMA_LASTLOCAL, WN_PRAGMA_LOCAL, WN_PRAGMA_MPSCHEDTYPE, WN_PRAGMA_NUMTHREADS, WN_PRAGMA_REDUCTION, WN_st(), and WN_st_idx().
Definition at line 129 of file wfe_omp_directives.cxx.
References fprintf(), SCLASS_FORMAL_REF, ST_is_const_var, and WN_st().
| void WFE_check_master | ( | ) |
Definition at line 2076 of file wfe_omp_directives.cxx.
References msg, NULL, WFE_bind_to_same(), WFE_CS_top(), WFE_omp_error(), wfe_omp_for, wfe_omp_master, wfe_omp_parallel, wfe_omp_sections, and wfe_omp_single.
| void WFE_check_ordered | ( | ) |
Definition at line 2377 of file wfe_omp_directives.cxx.
References clause_ordered, msg, NULL, WFE_CS_Find(), WFE_CS_Find_Cflag(), WFE_CS_top(), wfe_omp_critical, WFE_omp_error(), wfe_omp_for, wfe_omp_parallel, and wfe_omp_parallel_for.
Definition at line 175 of file wfe_omp_directives.cxx.
References msg, NULL, ST_is_thread_private, WFE_check_default(), WFE_check_firstprivate(), WFE_check_private(), WFE_check_reduction(), WFE_CS_top(), WFE_omp_error(), WN_first(), WN_next(), check_stmt::wn_prag, WN_pragma(), WN_PRAGMA_COPYIN, WN_PRAGMA_COPYPRIVATE, WN_PRAGMA_DEFAULT, WN_PRAGMA_FIRSTPRIVATE, WN_PRAGMA_IF, WN_PRAGMA_LOCAL, WN_PRAGMA_MPSCHEDTYPE, WN_PRAGMA_NUMTHREADS, WN_PRAGMA_REDUCTION, and WN_st().
Definition at line 1444 of file wfe_omp_directives.cxx.
References clause_firstprivate, clause_lastprivate, clause_private, clause_reduction, fprintf(), msg, NULL, OPR_BLOCK, OPR_DO_LOOP, ST_is_thread_private, WFE_Check_Cflag(), WFE_check_default(), WFE_check_firstprivate(), WFE_check_lastprivate(), WFE_check_private(), WFE_check_reduction(), WFE_CS_top(), WFE_omp_error(), WN_first(), WN_index, WN_next(), WN_operator(), check_stmt::wn_prag, WN_pragma(), WN_PRAGMA_COPYIN, WN_PRAGMA_COPYPRIVATE, WN_PRAGMA_DEFAULT, WN_PRAGMA_FIRSTPRIVATE, WN_PRAGMA_IF, WN_PRAGMA_LASTLOCAL, WN_PRAGMA_LOCAL, WN_PRAGMA_MPSCHEDTYPE, WN_PRAGMA_NUMTHREADS, WN_PRAGMA_REDUCTION, and WN_st().
Definition at line 1810 of file wfe_omp_directives.cxx.
References clause_firstprivate, clause_lastprivate, clause_private, clause_reduction, msg, NULL, ST_is_thread_private, WFE_Check_Cflag(), WFE_check_default(), WFE_check_firstprivate(), WFE_check_lastprivate(), WFE_check_private(), WFE_check_reduction(), WFE_CS_top(), WFE_omp_error(), WN_first(), WN_next(), check_stmt::wn_prag, WN_pragma(), WN_PRAGMA_COPYIN, WN_PRAGMA_COPYPRIVATE, WN_PRAGMA_DEFAULT, WN_PRAGMA_FIRSTPRIVATE, WN_PRAGMA_IF, WN_PRAGMA_LASTLOCAL, WN_PRAGMA_LOCAL, WN_PRAGMA_MPSCHEDTYPE, WN_PRAGMA_NUMTHREADS, WN_PRAGMA_REDUCTION, and WN_st().
Definition at line 102 of file wfe_omp_directives.cxx.
References fprintf(), SCLASS_FORMAL_REF, ST_is_const_var, and WN_st().
Definition at line 147 of file wfe_omp_directives.cxx.
References fprintf(), ST_is_const_var, and WN_st().
| void WFE_check_section | ( | ) |
Definition at line 1080 of file wfe_omp_directives.cxx.
References i, msg, NULL, WFE_CS_Find(), WFE_CS_top(), WFE_omp_error(), wfe_omp_parallel_sections, and wfe_omp_sections.
Definition at line 735 of file wfe_omp_directives.cxx.
References clause_firstprivate, clause_lastprivate, clause_private, clause_reduction, msg, NULL, ST_is_thread_private, WFE_bind_to_same(), WFE_Check_Cflag(), WFE_check_default(), WFE_check_firstprivate(), WFE_check_lastprivate(), WFE_check_private(), WFE_check_reduction(), WFE_CS_Find_Rtn(), WFE_CS_top(), wfe_omp_critical, WFE_omp_error(), wfe_omp_for, wfe_omp_master, wfe_omp_ordered, wfe_omp_parallel, wfe_omp_sections, wfe_omp_single, WN_first(), WN_next(), check_stmt::wn_prag, WN_pragma(), WN_PRAGMA_COPYIN, WN_PRAGMA_COPYPRIVATE, WN_PRAGMA_DEFAULT, WN_PRAGMA_FIRSTPRIVATE, WN_PRAGMA_IF, WN_PRAGMA_LASTLOCAL, WN_PRAGMA_LOCAL, WN_PRAGMA_MPSCHEDTYPE, WN_PRAGMA_NUMTHREADS, WN_PRAGMA_REDUCTION, WN_st(), and WN_st_idx().
| void WFE_check_single | ( | ) |
Definition at line 1123 of file wfe_omp_directives.cxx.
References clause_copyprivate, clause_firstprivate, clause_private, clause_reduction, find(), check_stmt::kind, msg, NULL, ST_is_thread_private, WFE_bind_to_same(), WFE_Check_Cflag(), WFE_check_default(), WFE_check_firstprivate(), WFE_check_private(), WFE_check_reduction(), WFE_CS_enclose(), WFE_CS_Find(), WFE_CS_Find_Rtn(), WFE_CS_top(), wfe_omp_critical, WFE_omp_error(), wfe_omp_for, wfe_omp_master, wfe_omp_ordered, wfe_omp_parallel, wfe_omp_parallel_for, wfe_omp_sections, wfe_omp_single, WN_first(), WN_next(), check_stmt::wn_prag, WN_pragma(), WN_PRAGMA_COPYIN, WN_PRAGMA_COPYPRIVATE, WN_PRAGMA_DEFAULT, WN_PRAGMA_FIRSTPRIVATE, WN_PRAGMA_IF, WN_PRAGMA_LOCAL, WN_PRAGMA_MPSCHEDTYPE, WN_PRAGMA_NUMTHREADS, WN_PRAGMA_REDUCTION, WN_st(), and WN_st_idx().
Definition at line 2607 of file wfe_omp_directives.cxx.
References fprintf(), Get_Current_PU, ST_list::next, NULL, PU_lexical_level, SCLASS_PSTATIC, ST_list::st, ST_is_thread_private, ST_level, and ST_storage_class().
| void WFE_expand_barrier | ( | ) |
Definition at line 2504 of file wfe_omp_directives.cxx.
References File_info, Get_Current_PU, NULL, Set_FILE_INFO_has_mp(), Set_PU_has_mp(), Set_PU_uplevel(), SRCPOS_filenum, SRCPOS_linenum, WFE_check_barrier(), WFE_CS_pop(), WFE_CS_push(), wfe_omp_barrier, WFE_Stmt_Append(), WN_CreatePragma, WN_PRAGMA_BARRIER, and WN_set_pragma_omp.
| void WFE_expand_end_atomic | ( | ) |
Definition at line 2362 of file wfe_omp_directives.cxx.
References format_rhs_atomic_stmt(), WFE_CS_pop(), wfe_omp_atomic, WFE_Stmt_Append(), WFE_Stmt_Pop(), and WFE_Stmt_Top().
| void WFE_expand_end_critical | ( | ) |
Definition at line 2193 of file wfe_omp_directives.cxx.
References TRUE, WFE_CS_pop(), wfe_omp_critical, WFE_Stmt_Append(), WFE_Stmt_Pop(), WFE_Stmt_Top(), WN_CreateBarrier, WN_CreatePragma, WN_PRAGMA_CRITICAL_SECTION_END, WN_set_pragma_omp, and WN_st().
| void WFE_expand_end_for | ( | ) |
Definition at line 723 of file wfe_omp_directives.cxx.
References WFE_check_for(), WFE_CS_pop(), WFE_maybe_call_dtors(), WFE_maybe_localize_vars(), wfe_omp_for, WFE_Stmt_Pop(), WFE_Stmt_Top(), and wn.
| void WFE_expand_end_master | ( | ) |
Definition at line 2127 of file wfe_omp_directives.cxx.
References WFE_CS_pop(), wfe_omp_master, and WFE_Stmt_Pop().
| void WFE_expand_end_ordered | ( | ) |
Definition at line 2433 of file wfe_omp_directives.cxx.
References NULL, TRUE, WFE_check_ordered(), WFE_CS_pop(), wfe_omp_ordered, WFE_Stmt_Append(), WN_CreateBarrier, WN_CreatePragma, WN_PRAGMA_ORDERED_END, and WN_set_pragma_omp.
| void WFE_expand_end_parallel | ( | ) |
Definition at line 379 of file wfe_omp_directives.cxx.
References WFE_check_parallel(), WFE_CS_pop(), WFE_maybe_call_dtors(), WFE_maybe_localize_vars(), wfe_omp_parallel, WFE_Stmt_Pop(), WFE_Stmt_Top(), and wn.
| void WFE_expand_end_parallel_for | ( | ) |
Definition at line 1796 of file wfe_omp_directives.cxx.
References WFE_check_parallel_for(), WFE_CS_pop(), WFE_maybe_call_dtors(), WFE_maybe_localize_vars(), wfe_omp_parallel_for, WFE_Stmt_Pop(), and WFE_Stmt_Top().
| void WFE_expand_end_parallel_sections | ( | ) |
Definition at line 2065 of file wfe_omp_directives.cxx.
References WFE_check_parallel_sections(), WFE_CS_pop(), WFE_maybe_call_dtors(), WFE_maybe_localize_vars(), wfe_omp_parallel_sections, WFE_Stmt_Pop(), and WFE_Stmt_Top().
| void WFE_expand_end_section | ( | ) |
Definition at line 1097 of file wfe_omp_directives.cxx.
References WFE_check_section(), WFE_CS_pop(), wfe_omp_section, WFE_Stmt_Append(), WFE_Stmt_Pop(), and WFE_Stmt_Top().
| void WFE_expand_end_sections | ( | ) |
Definition at line 1111 of file wfe_omp_directives.cxx.
References WFE_check_sections(), WFE_CS_pop(), WFE_maybe_call_dtors(), WFE_maybe_localize_vars(), wfe_omp_sections, WFE_Stmt_Pop(), and WFE_Stmt_Top().
| void WFE_expand_end_single | ( | ) |
Definition at line 1432 of file wfe_omp_directives.cxx.
References WFE_check_single(), WFE_CS_pop(), WFE_maybe_call_dtors(), WFE_maybe_localize_vars(), wfe_omp_single, WFE_Stmt_Pop(), and WFE_Stmt_Top().
Definition at line 2563 of file wfe_omp_directives.cxx.
References Barrier_Lvalues_On, FALSE, i, INTRN_SYNCHRONIZE, WN_list::next, NULL, OPC_VINTRINSIC_CALL, SRCPOS_filenum, SRCPOS_linenum, sync(), TRUE, UINT, WFE_check_flush(), WFE_CS_pop(), WFE_CS_push(), wfe_omp_flush, WFE_Stmt_Append(), WN_list::wn, WN_Create_Intrinsic, WN_CreateBarrier, WN_CreateIdname, WN_kid(), and WN_st().
| void WFE_expand_start_atomic | ( | ) |
Definition at line 2225 of file wfe_omp_directives.cxx.
References File_info, Get_Current_PU, NULL, Set_FILE_INFO_has_mp(), Set_PU_has_mp(), Set_PU_uplevel(), SRCPOS_filenum, SRCPOS_linenum, WFE_CS_push(), wfe_omp_atomic, WFE_Stmt_Append(), WFE_Stmt_Push(), WN_CreateBlock, WN_CreatePragma, WN_PRAGMA_ATOMIC, and WN_set_pragma_omp.
Definition at line 2152 of file wfe_omp_directives.cxx.
References FALSE, File_info, Get_Current_PU, Set_FILE_INFO_has_mp(), Set_PU_has_mp(), Set_PU_uplevel(), SRCPOS_filenum, SRCPOS_linenum, WFE_check_critical(), WFE_CS_push(), wfe_omp_critical, WFE_Set_Nameflag(), WFE_Stmt_Append(), WFE_Stmt_Push(), WN_CreateBarrier, WN_CreateBlock, WN_CreatePragma, WN_PRAGMA_CRITICAL_SECTION_BEGIN, and WN_set_pragma_omp.
| void WFE_expand_start_do_loop | ( | WN * | index, | |
| WN * | start, | |||
| WN * | end, | |||
| WN * | step, | |||
| struct nesting * | nest | |||
| ) |
Definition at line 2684 of file wfe_omp_directives.cxx.
References NULL, WFE_Stmt_Append(), WFE_Stmt_Push(), WN_CreateBlock, and WN_CreateDO.
| void WFE_expand_start_for | ( | struct For_clause_wn_type * | for_clause_wn | ) |
Definition at line 557 of file wfe_omp_directives.cxx.
References schedule_2_wn::chunk_size_wn, clause_firstprivate, clause_lastprivate, clause_ordered, clause_private, clause_reduction, DECL_ST, dtor_call_stack, File_info, FIRSTPRIVATE, For_clause_wn_type::firstprivate_clause, Get_Current_PU, Get_ST, Is_True, For_clause_wn_type::lastprivate_clause, local_node_stack, ST_list::next, WN_list::next, For_clause_wn_type::nowait_clause, NULL, OPR_CALL, OPR_PRAGMA, For_clause_wn_type::ordered_clause, PRIVATE, For_clause_wn_type::private_clause, For_clause_wn_type::reduction_clause, region, REGION_KIND_MP, For_clause_wn_type::schedule_1_clause, For_clause_wn_type::schedule_2_clause, schedule_2_wn::schedule_2_kind, Set_FILE_INFO_has_mp(), Set_PU_has_mp(), Set_PU_uplevel(), SK_DYNAMIC, SK_GUIDED, SK_NONE, SK_RUNTIME, SK_STATIC, SRCPOS_filenum, SRCPOS_linenum, ST_list::st, ST_list::var, WFE_CS_push(), WFE_handle_non_pods(), wfe_omp_for, WFE_region(), WFE_Set_Cflag(), WFE_Set_Prag(), WFE_Set_Region(), WFE_Stmt_Append(), WFE_Stmt_Pop(), WFE_Stmt_Top(), WN_list::wn, wn, WN_CreatePragma, WN_CreateXpragma, WN_kid0(), WN_operator(), WN_PRAGMA_CHUNKSIZE, WN_PRAGMA_FIRSTPRIVATE, WN_PRAGMA_LASTLOCAL, WN_PRAGMA_LOCAL, WN_PRAGMA_MPSCHEDTYPE, WN_PRAGMA_NOWAIT, WN_PRAGMA_ORDERED, WN_PRAGMA_PDO_BEGIN, WN_PRAGMA_SCHEDTYPE_DYNAMIC, WN_PRAGMA_SCHEDTYPE_GSS, WN_PRAGMA_SCHEDTYPE_RUNTIME, WN_PRAGMA_SCHEDTYPE_SIMPLE, WN_region_body, and WN_set_pragma_omp.
| void WFE_expand_start_master | ( | ) |
Definition at line 2099 of file wfe_omp_directives.cxx.
References File_info, Get_Current_PU, NULL, REGION_KIND_MP, Set_FILE_INFO_has_mp(), Set_PU_has_mp(), Set_PU_uplevel(), SRCPOS_filenum, SRCPOS_linenum, WFE_CS_push(), wfe_omp_master, WFE_region(), WFE_Stmt_Append(), WFE_Stmt_Pop(), WN_CreatePragma, WN_PRAGMA_MASTER_BEGIN, and WN_set_pragma_omp.
| void WFE_expand_start_ordered | ( | ) |
Definition at line 2410 of file wfe_omp_directives.cxx.
References FALSE, File_info, Get_Current_PU, NULL, Set_FILE_INFO_has_mp(), Set_PU_has_mp(), Set_PU_uplevel(), SRCPOS_filenum, SRCPOS_linenum, WFE_CS_push(), wfe_omp_ordered, WFE_Stmt_Append(), WN_CreateBarrier, WN_CreatePragma, WN_PRAGMA_ORDERED_BEGIN, and WN_set_pragma_omp.
| void WFE_expand_start_parallel | ( | struct Parallel_clause_wn_type * | parallel_clause_wn | ) |
Definition at line 241 of file wfe_omp_directives.cxx.
References BOOL, clause_copyin, clause_firstprivate, clause_private, clause_reduction, clause_shared, Parallel_clause_wn_type::copyin_clause, DECL_ST, Parallel_clause_wn_type::default_clause, dtor_call_stack, FALSE, File_info, FIRSTPRIVATE, Parallel_clause_wn_type::firstprivate_clause, FmtAssert, Get_Current_PU, Get_ST, Parallel_clause_wn_type::if_clause, Is_True, local_node_stack, ST_list::next, WN_list::next, no_default, NULL, Parallel_clause_wn_type::num_threads_clause, OPR_CALL, OPR_PRAGMA, PRIVATE, Parallel_clause_wn_type::private_clause, Parallel_clause_wn_type::reduction_clause, region, REGION_KIND_MP, Set_FILE_INFO_has_mp(), Set_PU_has_mp(), Set_PU_uplevel(), Parallel_clause_wn_type::shared_clause, SRCPOS_filenum, SRCPOS_linenum, ST_list::st, TRUE, ST_list::var, WFE_CS_push(), WFE_handle_non_pods(), wfe_omp_parallel, WFE_region(), WFE_Set_Cflag(), WFE_Set_Prag(), WFE_Set_Region(), WFE_Stmt_Append(), WFE_Stmt_Pop(), WFE_Stmt_Top(), WN_list::wn, wn, WN_CreatePragma, WN_CreateXpragma, WN_kid0(), WN_operator(), WN_PRAGMA_COPYIN, WN_PRAGMA_DEFAULT, WN_PRAGMA_FIRSTPRIVATE, WN_PRAGMA_IF, WN_PRAGMA_LOCAL, WN_PRAGMA_NUMTHREADS, WN_PRAGMA_PARALLEL_BEGIN, WN_PRAGMA_SHARED, WN_region_body, and WN_set_pragma_omp.
| void WFE_expand_start_parallel_for | ( | struct Parallel_for_clause_wn_type * | parallel_for_clause_wn | ) |
Definition at line 1575 of file wfe_omp_directives.cxx.
References BOOL, clause_copyin, clause_firstprivate, clause_lastprivate, clause_ordered, clause_private, clause_reduction, clause_shared, Parallel_for_clause_wn_type::copyin_clause, cs, DECL_ST, Parallel_for_clause_wn_type::default_clause, dtor_call_stack, FALSE, File_info, FIRSTPRIVATE, Parallel_for_clause_wn_type::firstprivate_clause, FmtAssert, Get_Current_PU, Get_ST, Parallel_for_clause_wn_type::if_clause, Is_True, Parallel_for_clause_wn_type::lastprivate_clause, local_node_stack, ST_list::next, WN_list::next, no_default, NULL, Parallel_for_clause_wn_type::num_threads_clause, OPR_CALL, OPR_PRAGMA, Parallel_for_clause_wn_type::ordered_clause, PRIVATE, Parallel_for_clause_wn_type::private_clause, Parallel_for_clause_wn_type::reduction_clause, REGION_KIND_MP, Parallel_for_clause_wn_type::schedule_1_clause, Parallel_for_clause_wn_type::schedule_2_clause, Set_FILE_INFO_has_mp(), Set_PU_has_mp(), Set_PU_uplevel(), Parallel_for_clause_wn_type::shared_clause, SK_DYNAMIC, SK_GUIDED, SK_NONE, SK_RUNTIME, SK_STATIC, SRCPOS_filenum, SRCPOS_linenum, ST_list::st, TRUE, ST_list::var, WFE_CS_push(), WFE_CS_top(), WFE_handle_non_pods(), wfe_omp_parallel_for, WFE_region(), WFE_Set_Cflag(), WFE_Set_Prag(), WFE_Set_Region(), WFE_Stmt_Append(), WFE_Stmt_Pop(), WFE_Stmt_Top(), WN_list::wn, WN_CreatePragma, WN_CreateXpragma, WN_kid0(), WN_operator(), WN_PRAGMA_CHUNKSIZE, WN_PRAGMA_COPYIN, WN_PRAGMA_DEFAULT, WN_PRAGMA_FIRSTPRIVATE, WN_PRAGMA_IF, WN_PRAGMA_LASTLOCAL, WN_PRAGMA_LOCAL, WN_PRAGMA_MPSCHEDTYPE, WN_PRAGMA_NUMTHREADS, WN_PRAGMA_ORDERED, WN_PRAGMA_PARALLEL_DO, WN_PRAGMA_SCHEDTYPE_DYNAMIC, WN_PRAGMA_SCHEDTYPE_GSS, WN_PRAGMA_SCHEDTYPE_RUNTIME, WN_PRAGMA_SCHEDTYPE_SIMPLE, WN_PRAGMA_SHARED, WN_region_body, and WN_set_pragma_omp.
| void WFE_expand_start_parallel_sections | ( | struct Parallel_sections_clause_wn_type * | parallel_sections_clause_wn | ) |
Definition at line 1922 of file wfe_omp_directives.cxx.
References BOOL, clause_copyin, clause_firstprivate, clause_lastprivate, clause_private, clause_reduction, clause_shared, Parallel_sections_clause_wn_type::copyin_clause, DECL_ST, Parallel_sections_clause_wn_type::default_clause, dtor_call_stack, FALSE, File_info, FIRSTPRIVATE, Parallel_sections_clause_wn_type::firstprivate_clause, FmtAssert, Get_Current_PU, Get_ST, Parallel_sections_clause_wn_type::if_clause, Is_True, Parallel_sections_clause_wn_type::lastprivate_clause, local_node_stack, ST_list::next, WN_list::next, no_default, NULL, Parallel_sections_clause_wn_type::num_threads_clause, OPR_CALL, OPR_PRAGMA, PRIVATE, Parallel_sections_clause_wn_type::private_clause, Parallel_sections_clause_wn_type::reduction_clause, REGION_KIND_MP, Set_FILE_INFO_has_mp(), Set_PU_has_mp(), Set_PU_uplevel(), Parallel_sections_clause_wn_type::shared_clause, SRCPOS_filenum, SRCPOS_linenum, ST_list::st, TRUE, ST_list::var, WFE_CS_push(), WFE_handle_non_pods(), wfe_omp_parallel_sections, WFE_region(), WFE_Set_Cflag(), WFE_Set_Prag(), WFE_Set_Region(), WFE_Stmt_Append(), WFE_Stmt_Pop(), WFE_Stmt_Top(), WN_list::wn, WN_CreatePragma, WN_CreateXpragma, WN_kid0(), WN_operator(), WN_PRAGMA_COPYIN, WN_PRAGMA_DEFAULT, WN_PRAGMA_FIRSTPRIVATE, WN_PRAGMA_IF, WN_PRAGMA_LASTLOCAL, WN_PRAGMA_LOCAL, WN_PRAGMA_NUMTHREADS, WN_PRAGMA_PARALLEL_SECTIONS, WN_PRAGMA_SHARED, WN_region_body, and WN_set_pragma_omp.
| void WFE_expand_start_section | ( | ) |
Definition at line 971 of file wfe_omp_directives.cxx.
References NULL, SRCPOS_filenum, SRCPOS_linenum, WFE_CS_push(), wfe_omp_section, WFE_Stmt_Append(), WFE_Stmt_Push(), wn, WN_CreateBlock, WN_CreatePragma, WN_PRAGMA_SECTION, and WN_set_pragma_omp.
| void WFE_expand_start_sections | ( | struct Sections_clause_wn_type * | sections_clause_wn | ) |
Definition at line 878 of file wfe_omp_directives.cxx.
References clause_firstprivate, clause_lastprivate, clause_private, clause_reduction, DECL_ST, dtor_call_stack, File_info, FIRSTPRIVATE, Sections_clause_wn_type::firstprivate_clause, Get_Current_PU, Get_ST, Is_True, Sections_clause_wn_type::lastprivate_clause, local_node_stack, ST_list::next, WN_list::next, Sections_clause_wn_type::nowait_clause, NULL, OPR_CALL, OPR_PRAGMA, PRIVATE, Sections_clause_wn_type::private_clause, Sections_clause_wn_type::reduction_clause, region, REGION_KIND_MP, Set_FILE_INFO_has_mp(), Set_PU_has_mp(), Set_PU_uplevel(), SRCPOS_filenum, SRCPOS_linenum, ST_list::st, ST_list::var, WFE_CS_push(), WFE_handle_non_pods(), wfe_omp_sections, WFE_region(), WFE_Set_Cflag(), WFE_Set_Prag(), WFE_Set_Region(), WFE_Stmt_Append(), WFE_Stmt_Pop(), WFE_Stmt_Top(), WN_list::wn, wn, WN_CreatePragma, WN_operator(), WN_PRAGMA_FIRSTPRIVATE, WN_PRAGMA_LASTLOCAL, WN_PRAGMA_LOCAL, WN_PRAGMA_NOWAIT, WN_PRAGMA_PSECTION_BEGIN, WN_region_body, and WN_set_pragma_omp.
| void WFE_expand_start_single | ( | struct Single_clause_wn_type * | single_clause_wn | ) |
Definition at line 1350 of file wfe_omp_directives.cxx.
References clause_copyprivate, clause_firstprivate, clause_private, Single_clause_wn_type::copyprivate_clause, DECL_ST, dtor_call_stack, File_info, FIRSTPRIVATE, Single_clause_wn_type::firstprivate_clause, Get_Current_PU, Get_ST, Is_True, local_node_stack, ST_list::next, Single_clause_wn_type::nowait_clause, NULL, OPR_CALL, OPR_PRAGMA, PRIVATE, Single_clause_wn_type::private_clause, REGION_KIND_MP, Set_FILE_INFO_has_mp(), Set_PU_has_mp(), Set_PU_uplevel(), SRCPOS_filenum, SRCPOS_linenum, ST_list::st, ST_list::var, WFE_CS_push(), WFE_handle_non_pods(), wfe_omp_single, WFE_region(), WFE_Set_Cflag(), WFE_Set_Prag(), WFE_Set_Region(), WFE_Stmt_Append(), WFE_Stmt_Pop(), WFE_Stmt_Top(), WN_CreatePragma, WN_operator(), WN_PRAGMA_COPYPRIVATE, WN_PRAGMA_FIRSTPRIVATE, WN_PRAGMA_LOCAL, WN_PRAGMA_NOWAIT, WN_PRAGMA_SINGLE_PROCESS_BEGIN, WN_region_body, and WN_set_pragma_omp.
Definition at line 2654 of file wfe_omp_directives.cxx.
References ST_list::next, Set_ST_is_thread_private, SRCPOS_filenum, SRCPOS_linenum, ST_list::st, WFE_check_threadprivate(), WFE_CS_pop(), WFE_CS_push(), wfe_omp_threadprivate, WFE_Stmt_Append(), WN_CreatePragma, WN_PRAGMA_THREADPRIVATE, and WN_set_pragma_omp.
Referenced by expand_threadprivate().
| void WFE_omp_error | ( | CHECK_STMT * | cs, | |
| bool | chkflag, | |||
| char * | msg | |||
| ) |
Definition at line 76 of file wfe_omp_directives.cxx.
References dirname, ErrMsg(), check_stmt::kind, sprintf(), wfe_omp_for, wfe_omp_parallel, wfe_omp_parallel_for, wfe_omp_parallel_sections, wfe_omp_sections, and wfe_omp_single.
Definition at line 45 of file wfe_omp_directives.cxx.
References getenv(), strcmp(), Trace_Omp, TRUE, and WFE_CS_Init().
| WN* WFE_region | ( | REGION_KIND | kind | ) |
Definition at line 53 of file wfe_omp_directives.cxx.
References region, WFE_Stmt_Append(), WFE_Stmt_Push(), WN_CreateBlock, and WN_CreateRegion.
Definition at line 42 of file wfe_omp_directives.cxx.
1.5.6