Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
cwh_directive.cxx File Reference
#include "defs.h"
#include "glob.h"
#include "stab.h"
#include "strtab.h"
#include "errors.h"
#include "targ_const.h"
#include "config_targ.h"
#include "const.h"
#include "pu_info.h"
#include "wn.h"
#include "wn_util.h"
#include "f90_utils.h"
#include "targ_sim.h"
#include "i_cvrt.h"
#include "cwh_defines.h"
#include "cwh_addr.h"
#include "cwh_expr.h"
#include "cwh_stk.h"
#include "cwh_block.h"
#include "cwh_types.h"
#include "cwh_preg.h"
#include "cwh_stab.h"
#include "cwh_auxst.h"
#include "cwh_stmt.h"
#include "cwh_directive.h"
#include "cwh_directive.i"
Include dependency graph for cwh_directive.cxx:

Go to the source code of this file.

Functions

INTPTR fei_task_var (INTPTR sym_idx, INT32 context)
static WNcwh_region (REGION_KIND kind)
WNcwh_mp_region (WN_PRAGMA_ID wn_pragma_id, int threadcount, int datacount, int ontocount, int reductioncount, int chunkcount, int is_omp)
int fei_parallel_region (INT32 ifexpr, INT32 maxcpus, INT32 context_start, INT32 context_end, INT32 lineno, INT32 flags)
void fei_endparallel_region (INT32 task_x, INT32 lineno)
int fei_doparallel (INT32 induc_symx, INT32 work_dist, INT32 work_dist_opnd, INT32 lineno)
void fei_task_endloop (INT32 taskloop_x, INT32 lineno, INT32 nowait)
void fei_doall (INT32 ifexpr, INT32 maxcpus, INT32 context_start, INT32 context_end, INT32 induc_symx, INT32 work_dist, INT32 work_dist_opnd, INT32 flags, INT32 lineno)
static void cwh_doacross (int task_if_idx, int schedtype, int threadcount, int datacount, int ontocount, int reductioncount, int chunkcount, WN_PRAGMA_ID pragma_id, int is_omp)
void fei_doacross (int task_if_idx, int schedtype, int threadcount, int datacount, int ontocount, int reductioncount, int chunkcount)
void fei_paralleldo (int task_if_idx, int schedtype, int threadcount, int datacount, int ontocount, int reductioncount, int chunkcount)
static void cwh_parallel (int task_if_idx, int defaultt, int is_omp)
void fei_parallel (int task_if_idx)
void fei_endparallel (void)
void fei_pdo (int sched_type, int ordered, int thread_count, int data_count, int onto_count, int reduction_count, int chunk_count)
void fei_endpdo (int nowait)
void fei_singleprocess (void)
void fei_endsingleprocess (int nowait)
void fei_criticalsection (int var_count)
void fei_endcriticalsection (void)
void fei_barrier (void)
void fei_section (void)
void fei_psection (void)
void fei_endpsection (int nowait)
void fei_copy_in (int list_count)
void fei_dynamic (int list_count)
void fei_redistribute (int array, int dim, int distribution, int cyclic_exists, int onto_exists)
static void cwh_reorder (int expressions, WN_PRAGMA_ID wn_pragma_id)
void fei_interchange (int expressions)
void fei_blockable (int expressions)
void fei_fission (void)
void fei_flush (int list_count)
void fei_fuse (int level)
void fei_assert (int assertion, int list_count)
void fei_fill_symbol (INT32 count, INT32 C_value)
void fei_align_symbol (INT32 count, INT32 C_value)
static void cwh_directive_fill_align (INT32 count, INT32 C_value, WN_PRAGMA_ID pragma)
void fei_unroll (void)
void fei_page_place (void)
void fei_prefetch_ref_disable (int array, int size)
void fei_prefetch_ref (int stride, int level, int kind, int size)
void fei_prefetch (int n1, int n2)
void fei_prefetch_manual (int n)
void fei_regionbegin (void)
void fei_regionend (void)
void fei_section_gp (int list_count)
void fei_section_nongp (int list_count)
void fei_blocking_size (void)
void fei_purple_conditional (void)
void fei_purple_unconditional (void)
void fei_opaque (void)
void fei_concurrentize (int state)
int fei_par_case (INT32 task_x, INT32 lineno)
void fei_par_endcase (INT32 task_x, INT32 lineno)
int fei_guard (INT32 guard_num, INT32 lineno)
void fei_endguard (INT32 task_x, INT32 guard_num, INT32 lineno)
void fei_parallelsections_open_mp (int task_if_idx, int defaultt)
void fei_paralleldo_open_mp (int task_if_idx, int defaultt, int ordered, int scheduletype, int schedulechunk, int threadcount, int datacount, int ontocount)
void fei_parallelworkshare_open_mp (int task_if_idx, int defaultt)
void fei_workshare_open_mp (void)
void fei_single_open_mp (void)
void fei_sections_open_mp (void)
void fei_do_open_mp (int ordered, int scheduletype, int schedulechunk, int threadcount, int datacount, int ontocount)
void fei_parallel_open_mp (int task_if_idx, int defaultt)
static STcwh_create_str_st (char *string)
void fei_critical_open_mp (char *name)
void fei_endcritical_open_mp (char *name)
void fei_barrier_open_mp (void)
void fei_section_open_mp (void)
void fei_master_open_mp (void)
void fei_endmaster_open_mp (void)
void fei_ordered_open_mp (void)
void fei_endsingle_open_mp (int nowait)
void fei_enddo_open_mp (int nowait)
void fei_endsections_open_mp (int nowait)
void fei_endordered_open_mp (void)
void fei_endparalleldo_open_mp (void)
void fei_endparallel_open_mp (void)
void fei_endparallelsections_open_mp (void)
void fei_endparallelworkshare_open_mp (void)
void fei_endworkshare_open_mp (int nowait)
void fei_flush_open_mp (void)
void fei_atomic_open_mp (void)
void fei_xxx_openad (char *str)
void fei_dependent_independent_openad (void)
void cwh_directive_add_do_loop_directive (WN *directive)
void cwh_directive_insert_do_loop_directives (void)
void cwh_directive_barrier_insert (WN *ins, int args)
static void cwh_directive_pragma_to_region (WN *prag, WN *region)
static void cwh_directive_set_PU_flags (BOOL nested)
static void cwh_directive_set_LNO_flags (void)
static void cwh_directive_pop_and_nowait (BOOL nowait, BOOL is_omp)
static void cwh_directive_pop_and_nowait_or_copyprivate (BOOL nowait)
static void cwh_directive_add_pragma_to_loop (WN *wn, BOOL is_omp)
static void cwh_directive_work_dist (INT32 work_dist, INT32 work_dist_opnd)
static void cwh_directive_load_value_pragma (INT32 item, WN_PRAGMA_ID pragma, BOOL is_omp)
void fei_copyin_bound (INTPTR sym_idx)

Variables

static char * source_file = __FILE__
static int task_var_count
static int task_nest_count
static int task_lastthread_count
static int task_affinity_count

Function Documentation

static ST* cwh_create_str_st ( char *  string) [static]

Definition at line 2132 of file cwh_directive.cxx.

References Be_Type_Tbl, FALSE, Gen_String_Sym(), Host_To_Targ_String(), MTYPE_I1, and MTYPE_STRING.

Referenced by fei_critical_open_mp(), fei_endcritical_open_mp(), and fei_xxx_openad().

Here is the call graph for this function:

void cwh_directive_add_do_loop_directive ( WN directive)

Definition at line 2513 of file cwh_directive.cxx.

References do_loop_directive_block, WN_CreateBlock(), and WN_INSERT_BlockLast.

Here is the call graph for this function:

static void cwh_directive_add_pragma_to_loop ( WN wn,
BOOL  is_omp 
) [static]

Definition at line 2719 of file cwh_directive.cxx.

References current_srcpos, cwh_block_append_given_id(), FALSE, Top_of_Loop_Block, USRCPOS_srcpos, WN_Set_Linenum(), and WN_set_pragma_omp.

Referenced by cwh_mp_region().

Here is the call graph for this function:

static void cwh_directive_fill_align ( INT32  count,
INT32  C_value,
WN_PRAGMA_ID  pragma 
) [static]

Definition at line 2532 of file cwh_directive.cxx.

References cwh_block_append(), do_loop_directive_block, and NULL.

Referenced by fei_doloop().

Here is the call graph for this function:

static void cwh_directive_pragma_to_region ( WN prag,
WN region 
) [static]
static void cwh_directive_set_LNO_flags ( void  ) [static]

Definition at line 2640 of file cwh_directive.cxx.

References File_info, Get_Current_PU(), Set_FILE_INFO_needs_lno(), and Set_PU_mp_needs_lno().

Referenced by cwh_directive_set_PU_flags(), cwh_mp_region(), fei_page_place(), and fei_redistribute().

Here is the call graph for this function:

static void cwh_doacross ( int  task_if_idx,
int  schedtype,
int  threadcount,
int  datacount,
int  ontocount,
int  reductioncount,
int  chunkcount,
WN_PRAGMA_ID  pragma_id,
int  is_omp 
) [static]
WN* cwh_mp_region ( WN_PRAGMA_ID  wn_pragma_id,
int  threadcount,
int  datacount,
int  ontocount,
int  reductioncount,
int  chunkcount,
int  is_omp 
)
static void cwh_parallel ( int  task_if_idx,
int  defaultt,
int  is_omp 
) [static]
static WN* cwh_region ( REGION_KIND  kind) [static]

Definition at line 337 of file cwh_directive.cxx.

References cwh_block_append(), cwh_block_push_region(), cwh_block_set_current(), WN_CreateBlock(), and WN_CreateRegion().

Referenced by cwh_mp_region(), and fei_regionbegin().

Here is the call graph for this function:

static void cwh_reorder ( int  expressions,
WN_PRAGMA_ID  wn_pragma_id 
) [static]

Definition at line 1346 of file cwh_directive.cxx.

References cwh_expr_operand(), cwh_stk_pop_ST(), cwh_stmt_add_pragma(), DevAssert, FALSE, free(), NULL, OPR_INTCONST, wn, WN_const_val(), and WN_operator().

Referenced by fei_blockable(), and fei_interchange().

Here is the call graph for this function:

void fei_align_symbol ( INT32  count,
INT32  C_value 
)

Definition at line 1541 of file cwh_directive.cxx.

References cwh_directive_fill_align(), and WN_PRAGMA_ALIGN.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_atomic_open_mp ( void  )

Definition at line 2455 of file cwh_directive.cxx.

References cwh_directive_set_PU_flags(), cwh_stmt_add_pragma(), FALSE, TRUE, and WN_PRAGMA_ATOMIC.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_barrier ( void  )

Definition at line 1086 of file cwh_directive.cxx.

References cwh_directive_barrier_insert(), NULL, wn, WN_CreatePragma(), and WN_PRAGMA_BARRIER.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_barrier_open_mp ( void  )

Definition at line 2202 of file cwh_directive.cxx.

References cwh_directive_barrier_insert(), NULL, wn, WN_CreatePragma(), WN_PRAGMA_BARRIER, and WN_set_pragma_omp.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_blockable ( int  expressions)

Definition at line 1384 of file cwh_directive.cxx.

References cwh_reorder(), and WN_PRAGMA_BLOCKABLE.

Here is the call graph for this function:

void fei_blocking_size ( void  )

Definition at line 1761 of file cwh_directive.cxx.

References cwh_expr_operand(), cwh_stmt_add_pragma(), DevAssert, FALSE, NULL, OPR_INTCONST, WN_const_val(), WN_operator(), and WN_PRAGMA_BLOCKING_SIZE.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_concurrentize ( int  state)

Definition at line 1807 of file cwh_directive.cxx.

References cwh_stmt_add_pragma(), WN_PRAGMA_KAP_CONCURRENTIZE, and WN_PRAGMA_KAP_NOCONCURRENTIZE.

Here is the call graph for this function:

void fei_criticalsection ( int  var_count)

Definition at line 2491 of file cwh_directive.cxx.

References block_pu, cwh_stk_pop_WN(), cwh_stmt_add_to_preamble(), pu_pragma_placement_last, and task_var_count.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_doacross ( int  task_if_idx,
int  schedtype,
int  threadcount,
int  datacount,
int  ontocount,
int  reductioncount,
int  chunkcount 
)

Definition at line 813 of file cwh_directive.cxx.

References cwh_doacross(), and WN_PRAGMA_DOACROSS.

Here is the call graph for this function:

void fei_doall ( INT32  ifexpr,
INT32  maxcpus,
INT32  context_start,
INT32  context_end,
INT32  induc_symx,
INT32  work_dist,
INT32  work_dist_opnd,
INT32  flags,
INT32  lineno 
)
void fei_dynamic ( int  list_count)

Definition at line 1210 of file cwh_directive.cxx.

References cwh_stk_pop_ST(), cwh_stmt_add_pragma(), FALSE, and WN_PRAGMA_DYNAMIC.

Here is the call graph for this function:

void fei_endcritical_open_mp ( char *  name)

Definition at line 2178 of file cwh_directive.cxx.

References cwh_block_append(), cwh_create_str_st(), cwh_stmt_add_pragma(), NULL, TRUE, wn, WN_CreateBarrier(), WN_PRAGMA_CRITICAL_SECTION_END, and WN_set_pragma_omp.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_endcriticalsection ( void  )

Definition at line 1067 of file cwh_directive.cxx.

References cwh_block_append(), cwh_stmt_add_pragma(), TRUE, wn, WN_CreateBarrier(), and WN_PRAGMA_CRITICAL_SECTION_END.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_enddo_open_mp ( int  nowait)

Definition at line 2305 of file cwh_directive.cxx.

References cwh_directive_pop_and_nowait(), and TRUE.

Here is the call graph for this function:

void fei_endguard ( INT32  task_x,
INT32  guard_num,
INT32  lineno 
)

Definition at line 1862 of file cwh_directive.cxx.

References cwh_block_append(), cwh_stmt_add_pragma(), TRUE, wn, WN_CreateBarrier(), and WN_PRAGMA_CRITICAL_SECTION_END.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_endmaster_open_mp ( void  )

Definition at line 2257 of file cwh_directive.cxx.

References cwh_directive_pop_and_nowait(), FALSE, and TRUE.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_endordered_open_mp ( void  )

Definition at line 2333 of file cwh_directive.cxx.

References cwh_block_append(), cwh_stmt_add_pragma(), TRUE, wn, WN_CreateBarrier(), WN_PRAGMA_ORDERED_END, and WN_set_pragma_omp.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_endparallel ( void  )

Definition at line 913 of file cwh_directive.cxx.

References cwh_directive_pop_and_nowait(), and FALSE.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_endparallel_open_mp ( void  )

Definition at line 2368 of file cwh_directive.cxx.

References cwh_directive_pop_and_nowait(), FALSE, and TRUE.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_endparallel_region ( INT32  task_x,
INT32  lineno 
)

Definition at line 615 of file cwh_directive.cxx.

References cwh_directive_pop_and_nowait(), and FALSE.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_endparalleldo_open_mp ( void  )

Definition at line 2352 of file cwh_directive.cxx.

References cwh_block_pop_region().

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

Definition at line 2381 of file cwh_directive.cxx.

References cwh_directive_pop_and_nowait(), FALSE, and TRUE.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

Definition at line 2394 of file cwh_directive.cxx.

References cwh_directive_pop_and_nowait(), FALSE, and TRUE.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_endpdo ( int  nowait)

Definition at line 983 of file cwh_directive.cxx.

References cwh_directive_pop_and_nowait(), and FALSE.

Here is the call graph for this function:

void fei_endpsection ( int  nowait)

Definition at line 1143 of file cwh_directive.cxx.

References cwh_directive_pop_and_nowait(), and FALSE.

Here is the call graph for this function:

void fei_endsections_open_mp ( int  nowait)

Definition at line 2320 of file cwh_directive.cxx.

References cwh_directive_pop_and_nowait(), and TRUE.

Here is the call graph for this function:

void fei_endsingle_open_mp ( int  nowait)

Definition at line 2290 of file cwh_directive.cxx.

References cwh_directive_pop_and_nowait_or_copyprivate().

Here is the call graph for this function:

void fei_endsingleprocess ( int  nowait)

Definition at line 1021 of file cwh_directive.cxx.

References cwh_directive_pop_and_nowait(), and FALSE.

Here is the call graph for this function:

void fei_endworkshare_open_mp ( int  nowait)

Definition at line 2408 of file cwh_directive.cxx.

References cwh_directive_pop_and_nowait(), and TRUE.

Here is the call graph for this function:

void fei_fill_symbol ( INT32  count,
INT32  C_value 
)

Definition at line 1525 of file cwh_directive.cxx.

References cwh_directive_fill_align(), and WN_PRAGMA_FILL.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_fission ( void  )

Definition at line 1395 of file cwh_directive.cxx.

References cwh_expr_operand(), cwh_stmt_add_pragma(), DevAssert, FALSE, NULL, OPR_INTCONST, wn, WN_const_val(), WN_operator(), and WN_PRAGMA_FISSION.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_flush ( int  list_count)

Definition at line 1411 of file cwh_directive.cxx.

References cwh_directive_barrier_insert(), NULL, OPC_VINTRINSIC_CALL, and WN_Create_Intrinsic().

Here is the call graph for this function:

void fei_flush_open_mp ( void  )
void fei_fuse ( int  level)

Definition at line 1426 of file cwh_directive.cxx.

References cwh_expr_operand(), cwh_stmt_add_pragma(), DevAssert, FALSE, NULL, OPR_INTCONST, wn, WN_const_val(), WN_operator(), and WN_PRAGMA_FUSE.

Here is the call graph for this function:

int fei_guard ( INT32  guard_num,
INT32  lineno 
)

Definition at line 1850 of file cwh_directive.cxx.

References cwh_block_append(), cwh_stmt_add_pragma(), FALSE, wn, WN_CreateBarrier(), and WN_PRAGMA_CRITICAL_SECTION_BEGIN.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_interchange ( int  expressions)

Definition at line 1378 of file cwh_directive.cxx.

References cwh_reorder(), and WN_PRAGMA_INTERCHANGE.

Here is the call graph for this function:

void fei_master_open_mp ( void  )

Definition at line 2235 of file cwh_directive.cxx.

References cwh_block_set_current(), cwh_directive_set_PU_flags(), cwh_mp_region(), FALSE, and WN_PRAGMA_MASTER_BEGIN.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_opaque ( void  )

Definition at line 1798 of file cwh_directive.cxx.

References cwh_block_set_current(), cwh_block_set_region_pragmas(), cwh_stmt_add_pragma(), and WN_PRAGMA_OPAQUE.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_ordered_open_mp ( void  )

Definition at line 2270 of file cwh_directive.cxx.

References cwh_block_append(), cwh_stmt_add_pragma(), FALSE, TRUE, wn, WN_CreateBarrier(), WN_PRAGMA_ORDERED_BEGIN, and WN_set_pragma_omp.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_page_place ( void  )

Definition at line 1593 of file cwh_directive.cxx.

References cwh_directive_set_LNO_flags(), cwh_expr_address(), cwh_expr_operand(), cwh_stmt_add_xpragma(), f_NONE, FALSE, NULL, and WN_PRAGMA_PAGE_PLACE.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

int fei_par_case ( INT32  task_x,
INT32  lineno 
)

Definition at line 1821 of file cwh_directive.cxx.

References cwh_block_set_current(), cwh_directive_set_PU_flags(), cwh_mp_region(), cwh_stmt_add_pragma(), FALSE, WN_PRAGMA_PSECTION_BEGIN, and WN_PRAGMA_SECTION.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_par_endcase ( INT32  task_x,
INT32  lineno 
)

Definition at line 1841 of file cwh_directive.cxx.

References cwh_block_pop_region().

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_parallel ( int  task_if_idx)

Definition at line 897 of file cwh_directive.cxx.

References cwh_parallel().

Here is the call graph for this function:

void fei_parallel_open_mp ( int  task_if_idx,
int  defaultt 
)

Definition at line 2118 of file cwh_directive.cxx.

References cwh_parallel().

Here is the call graph for this function:

int fei_parallel_region ( INT32  ifexpr,
INT32  maxcpus,
INT32  context_start,
INT32  context_end,
INT32  lineno,
INT32  flags 
)
void fei_paralleldo ( int  task_if_idx,
int  schedtype,
int  threadcount,
int  datacount,
int  ontocount,
int  reductioncount,
int  chunkcount 
)

Definition at line 836 of file cwh_directive.cxx.

References cwh_doacross(), and WN_PRAGMA_PARALLEL_DO.

Here is the call graph for this function:

void fei_pdo ( int  sched_type,
int  ordered,
int  thread_count,
int  data_count,
int  onto_count,
int  reduction_count,
int  chunk_count 
)
void fei_prefetch ( int  n1,
int  n2 
)

Definition at line 1700 of file cwh_directive.cxx.

References cwh_stmt_add_pragma(), FALSE, NULL, and WN_PRAGMA_PREFETCH.

Here is the call graph for this function:

void fei_prefetch_manual ( int  n)

Definition at line 1708 of file cwh_directive.cxx.

References cwh_stmt_add_pragma(), FALSE, NULL, and WN_PRAGMA_PREFETCH_MANUAL.

Here is the call graph for this function:

void fei_prefetch_ref_disable ( int  array,
int  size 
)

Definition at line 1611 of file cwh_directive.cxx.

References cast_to_STB, cwh_stmt_add_pragma(), DevAssert, FALSE, al::form, if(), is_ST, al::item, and WN_PRAGMA_PREFETCH_REF_DISABLE.

Here is the call graph for this function:

void fei_psection ( void  )

Definition at line 1123 of file cwh_directive.cxx.

References cwh_block_set_current(), cwh_directive_set_PU_flags(), cwh_mp_region(), FALSE, and WN_PRAGMA_PSECTION_BEGIN.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_purple_conditional ( void  )

Definition at line 1778 of file cwh_directive.cxx.

References cwh_block_set_current(), cwh_block_set_region_pragmas(), cwh_expr_operand(), cwh_stmt_add_xpragma(), FALSE, NULL, and WN_PRAGMA_PURPLE_CONDITIONAL.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_purple_unconditional ( void  )

Definition at line 1789 of file cwh_directive.cxx.

References cwh_block_set_current(), cwh_block_set_region_pragmas(), cwh_stmt_add_pragma(), and WN_PRAGMA_PURPLE_UNCONDITIONAL.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_regionbegin ( void  )

Definition at line 1714 of file cwh_directive.cxx.

References cwh_block_set_current(), cwh_region(), and REGION_KIND_PRAGMA.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_regionend ( void  )

Definition at line 1721 of file cwh_directive.cxx.

References cwh_block_pop_region().

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_section ( void  )

Definition at line 1105 of file cwh_directive.cxx.

References cwh_stmt_add_pragma(), and WN_PRAGMA_SECTION.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_section_gp ( int  list_count)

Definition at line 1729 of file cwh_directive.cxx.

References cwh_stk_pop_ST(), Has_Base_Block(), SCLASS_COMMON, Set_ST_gprel(), ST_base(), and ST_sclass().

Here is the call graph for this function:

void fei_section_nongp ( int  list_count)

Definition at line 1745 of file cwh_directive.cxx.

References cwh_stk_pop_ST(), Has_Base_Block(), SCLASS_COMMON, Set_ST_not_gprel(), ST_base(), and ST_sclass().

Here is the call graph for this function:

void fei_section_open_mp ( void  )

Definition at line 2222 of file cwh_directive.cxx.

References cwh_stmt_add_pragma(), TRUE, and WN_PRAGMA_SECTION.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_sections_open_mp ( void  )

Definition at line 2052 of file cwh_directive.cxx.

References cwh_block_set_current(), cwh_directive_set_PU_flags(), cwh_mp_region(), FALSE, and WN_PRAGMA_PSECTION_BEGIN.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_single_open_mp ( void  )

Definition at line 2032 of file cwh_directive.cxx.

References cwh_block_set_current(), cwh_directive_set_PU_flags(), cwh_mp_region(), FALSE, and WN_PRAGMA_SINGLE_PROCESS_BEGIN.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_singleprocess ( void  )

Definition at line 997 of file cwh_directive.cxx.

References cwh_block_set_current(), cwh_directive_set_PU_flags(), cwh_mp_region(), FALSE, and WN_PRAGMA_SINGLE_PROCESS_BEGIN.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_task_endloop ( INT32  taskloop_x,
INT32  lineno,
INT32  nowait 
)

Definition at line 690 of file cwh_directive.cxx.

References cwh_directive_barrier_insert(), NULL, wn, WN_CreatePragma(), and WN_PRAGMA_BARRIER.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

INTPTR fei_task_var ( INTPTR  sym_idx,
INT32  context 
)

Definition at line 147 of file cwh_directive.cxx.

References cast_to_STB, Context_Affinity, Context_Getfirst, Context_Lastlocal, Context_Lastthread, Context_Nest, Context_Omp_Affinity, Context_Omp_Copyin, Context_Omp_Copyprivate, Context_Omp_Firstprivate, Context_Omp_Flush, Context_Omp_Lastprivate, Context_Omp_Nest, Context_Omp_Private, Context_Omp_Reduction_And, Context_Omp_Reduction_Band, Context_Omp_Reduction_Bneqv, Context_Omp_Reduction_Bor, Context_Omp_Reduction_Eqv, Context_Omp_Reduction_Max, Context_Omp_Reduction_Min, Context_Omp_Reduction_Minus, Context_Omp_Reduction_Mult, Context_Omp_Reduction_Neqv, Context_Omp_Reduction_Or, Context_Omp_Reduction_Plus, Context_Omp_Shared, Context_OpenAD_Dependent, Context_OpenAD_Independent, Context_Private, Context_Shared, cwh_addr_address_ST(), cwh_stk_push(), DevAssert, al::form, Has_Base_Block(), if(), is_ST, al::item, NULL, OPR_ADD, OPR_BAND, OPR_BIOR, OPR_BXOR, OPR_EQ, OPR_LAND, OPR_LIOR, OPR_MAX, OPR_MIN, OPR_MPY, OPR_NE, OPR_SUB, SCLASS_AUTO, ST_base(), ST_is_return_var(), ST_is_temp_var(), ST_sclass(), task_affinity_count, task_lastthread_count, task_nest_count, task_var_count, wn, WN_COPY_Tree(), WN_CreatePragma(), WN_CreateXpragma(), WN_item, WN_kid0(), WN_PRAGMA_AFFINITY, WN_PRAGMA_COPYIN, WN_PRAGMA_COPYPRIVATE, WN_PRAGMA_FIRSTPRIVATE, WN_PRAGMA_FLUSH, WN_PRAGMA_LASTLOCAL, WN_PRAGMA_LASTTHREAD, WN_PRAGMA_LOCAL, WN_PRAGMA_OPENAD_DEPENDENT, WN_PRAGMA_OPENAD_INDEPENDENT, WN_PRAGMA_REDUCTION, WN_PRAGMA_SHARED, and WN_set_pragma_omp.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_unroll ( void  )

Definition at line 1580 of file cwh_directive.cxx.

References cwh_expr_operand(), cwh_stmt_add_pragma(), DevAssert, FALSE, NULL, OPR_INTCONST, WN_const_val(), WN_Delete, WN_operator(), and WN_PRAGMA_UNROLL.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_workshare_open_mp ( void  )

Definition at line 2012 of file cwh_directive.cxx.

References cwh_block_set_current(), cwh_directive_set_PU_flags(), cwh_mp_region(), FALSE, and WN_PRAGMA_WORKSHARE.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:

void fei_xxx_openad ( char *  str)

Definition at line 2469 of file cwh_directive.cxx.

References cwh_create_str_st(), cwh_stmt_add_pragma(), FALSE, NULL, and WN_PRAGMA_OPENAD_XXX.

Referenced by cvrt_exp_to_pdg().

Here is the call graph for this function:


Variable Documentation

char* source_file = __FILE__ [static]

Definition at line 93 of file cwh_directive.cxx.

int task_affinity_count [static]

Definition at line 133 of file cwh_directive.cxx.

Referenced by cwh_mp_region(), and fei_task_var().

int task_lastthread_count [static]

Definition at line 132 of file cwh_directive.cxx.

Referenced by cwh_mp_region(), and fei_task_var().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines