osprey/kg++fe/wfe_omp_directives.cxx File Reference

#include "gnu_config.h"
#include "system.h"
#include "gnu/tree.h"
#include "cp-tree.h"
#include "wn.h"
#include "wn_util.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 "tree_symtab.h"
#include "stdio.h"
#include "errors.h"
#include "const.h"
#include "erglob.h"
#include <stack>

Include dependency graph for wfe_omp_directives.cxx:

Go to the source code of this file.

Enumerations

enum  PRAGMA_TYPE { PRIVATE, FIRSTPRIVATE }

Functions/Subroutines

void WFE_Omp_Init (void)
WNWFE_region (REGION_KIND kind)
void WFE_omp_error (CHECK_STMT *cs, bool chkflag, char *msg)
void WFE_check_private (WN *wn_p, bool chkflag)
void WFE_check_firstprivate (WN *wn_fp, bool chkflag)
void WFE_check_lastprivate (WN *wn_lp, bool chkflag)
void WFE_check_reduction (WN *wn_r, bool chkflag)
void WFE_check_default (WN *wn_d, bool chkflag)
void WFE_check_parallel (WN *parallel_wn)
static BOOL WFE_is_default_constructor (tree fndecl)
static BOOL WFE_maybe_call_default_ctor (tree var, WN **c, WN **d)
static BOOL WFE_maybe_call_copy_ctor (tree var, WN **c, WN **d)
static void WFE_maybe_call_dtors (WN *wn)
static void WFE_localize_var (WN *block, ST *old_st, ST *new_st)
static void WFE_maybe_localize_vars (WN *wn)
static BOOL WFE_handle_non_pods (tree var, WN *block, PRAGMA_TYPE p)
void WFE_expand_start_parallel (struct Parallel_clause_wn_type *parallel_clause_wn)
void WFE_expand_end_parallel ()
void WFE_check_for (WN *for_wn)
void WFE_expand_start_for (struct For_clause_wn_type *for_clause_wn)
void WFE_expand_end_for ()
void WFE_check_sections (WN *sections_wn)
void WFE_expand_start_sections (struct Sections_clause_wn_type *sections_clause_wn)
void WFE_expand_start_section ()
void WFE_check_section ()
void WFE_expand_end_section ()
void WFE_expand_end_sections ()
void WFE_check_single ()
void WFE_expand_start_single (struct Single_clause_wn_type *single_clause_wn)
void WFE_expand_end_single ()
void WFE_check_parallel_for (WN *parallel_for_wn)
void WFE_expand_start_parallel_for (struct Parallel_for_clause_wn_type *parallel_for_clause_wn)
void WFE_expand_end_parallel_for ()
void WFE_check_parallel_sections (WN *parallel_sections_wn)
void WFE_expand_start_parallel_sections (struct Parallel_sections_clause_wn_type *parallel_sections_clause_wn)
void WFE_expand_end_parallel_sections ()
void WFE_check_master ()
void WFE_expand_start_master ()
void WFE_expand_end_master ()
void WFE_check_critical (char *name)
void WFE_expand_start_critical (ST *region_phrase, char *critical_name)
void WFE_expand_end_critical ()
void WFE_expand_start_atomic ()
static BOOL Direct_Memory (WN *wn1)
static BOOL Equiv_Expression (WN *wn1, WN *wn2)
static BOOL Same_Location (WN *wn1, WN *wn2)
static WNFind_Same_Location (WN *loc, WN *wn, WN **parent, int *kidnum)
static void format_rhs_atomic_stmt (WN *wn)
void WFE_expand_end_atomic ()
void WFE_check_ordered ()
void WFE_expand_start_ordered ()
void WFE_expand_end_ordered ()
void WFE_check_barrier ()
void WFE_expand_barrier ()
void WFE_check_flush ()
void WFE_expand_flush (WN_list *flush_variables)
void WFE_check_threadprivate (ST_list *threadprivate_variables)
void WFE_expand_start_do_loop (WN *index, WN *start, WN *end, WN *step)
void WFE_expand_end_do_loop (void)

Variables

std::stack< WN * > dtor_call_stack
std::stack< WN * > local_node_stack
BOOL Trace_Omp = FALSE


Enumeration Type Documentation

Enumerator:
PRIVATE 
FIRSTPRIVATE 

Definition at line 73 of file wfe_omp_directives.cxx.


Function Documentation

static BOOL Direct_Memory ( WN wn1  )  [static]

Definition at line 2642 of file wfe_omp_directives.cxx.

References OPR_LDID, OPR_STID, and WN_operator().

static BOOL Equiv_Expression ( WN wn1,
WN wn2 
) [static]

Definition at line 2649 of file wfe_omp_directives.cxx.

References Equiv_Expression(), FALSE, INT, TRUE, WN_Equiv(), WN_kid(), and WN_kid_count().

static WN* Find_Same_Location ( WN loc,
WN wn,
WN **  parent,
int *  kidnum 
) [static]

static void format_rhs_atomic_stmt ( WN wn  )  [static]

static BOOL Same_Location ( WN wn1,
WN wn2 
) [static]

void WFE_check_barrier (  ) 

void WFE_check_critical ( char *  name  ) 

void WFE_check_default ( WN wn_d,
bool  chkflag 
)

void WFE_check_firstprivate ( WN wn_fp,
bool  chkflag 
)

void WFE_check_flush (  ) 

void WFE_check_for ( WN for_wn  ) 

void WFE_check_lastprivate ( WN wn_lp,
bool  chkflag 
)

void WFE_check_master (  ) 

void WFE_check_ordered (  ) 

void WFE_check_parallel ( WN parallel_wn  ) 

void WFE_check_parallel_for ( WN parallel_for_wn  ) 

void WFE_check_parallel_sections ( WN parallel_sections_wn  ) 

void WFE_check_private ( WN wn_p,
bool  chkflag 
)

void WFE_check_reduction ( WN wn_r,
bool  chkflag 
)

void WFE_check_section (  ) 

void WFE_check_sections ( WN sections_wn  ) 

void WFE_check_single (  ) 

void WFE_check_threadprivate ( ST_list threadprivate_variables  ) 

void WFE_expand_barrier (  ) 

Definition at line 2892 of file wfe_omp_directives.cxx.

Referenced by expand_barrier().

void WFE_expand_end_atomic (  ) 

Definition at line 2755 of file wfe_omp_directives.cxx.

Referenced by expand_end_atomic().

void WFE_expand_end_critical (  ) 

Definition at line 2587 of file wfe_omp_directives.cxx.

Referenced by expand_end_critical().

void WFE_expand_end_do_loop ( void   ) 

Definition at line 3054 of file wfe_omp_directives.cxx.

References WFE_Stmt_Pop().

Referenced by expand_end_do_loop().

void WFE_expand_end_for (  ) 

Definition at line 1083 of file wfe_omp_directives.cxx.

Referenced by expand_end_for().

void WFE_expand_end_master (  ) 

Definition at line 2522 of file wfe_omp_directives.cxx.

Referenced by expand_end_master().

void WFE_expand_end_ordered (  ) 

Definition at line 2823 of file wfe_omp_directives.cxx.

Referenced by expand_end_ordered().

void WFE_expand_end_parallel (  ) 

Definition at line 731 of file wfe_omp_directives.cxx.

Referenced by expand_end_parallel().

void WFE_expand_end_parallel_for (  ) 

Definition at line 2168 of file wfe_omp_directives.cxx.

Referenced by expand_end_parallel_for().

void WFE_expand_end_parallel_sections (  ) 

Definition at line 2460 of file wfe_omp_directives.cxx.

Referenced by expand_end_parallel_sections().

void WFE_expand_end_section (  ) 

Definition at line 1444 of file wfe_omp_directives.cxx.

Referenced by expand_end_section().

void WFE_expand_end_sections (  ) 

Definition at line 1456 of file wfe_omp_directives.cxx.

Referenced by expand_end_sections().

void WFE_expand_end_single (  ) 

Definition at line 1782 of file wfe_omp_directives.cxx.

Referenced by expand_end_single().

void WFE_expand_flush ( WN_list flush_variables  ) 

Definition at line 2950 of file wfe_omp_directives.cxx.

Referenced by expand_flush().

void WFE_expand_start_atomic (  ) 

Definition at line 2618 of file wfe_omp_directives.cxx.

Referenced by expand_start_atomic().

void WFE_expand_start_critical ( ST region_phrase,
char *  critical_name 
)

Definition at line 2546 of file wfe_omp_directives.cxx.

Referenced by expand_start_critical().

void WFE_expand_start_do_loop ( WN index,
WN start,
WN end,
WN step 
)

void WFE_expand_start_for ( struct For_clause_wn_type for_clause_wn  ) 

Definition at line 907 of file wfe_omp_directives.cxx.

Referenced by expand_start_for().

void WFE_expand_start_master (  ) 

Definition at line 2495 of file wfe_omp_directives.cxx.

Referenced by expand_start_master().

void WFE_expand_start_ordered (  ) 

Definition at line 2800 of file wfe_omp_directives.cxx.

Referenced by expand_start_ordered().

void WFE_expand_start_parallel ( struct Parallel_clause_wn_type parallel_clause_wn  ) 

Definition at line 563 of file wfe_omp_directives.cxx.

Referenced by expand_start_parallel().

void WFE_expand_start_parallel_for ( struct Parallel_for_clause_wn_type parallel_for_clause_wn  ) 

Definition at line 1924 of file wfe_omp_directives.cxx.

Referenced by expand_start_parallel_for().

void WFE_expand_start_parallel_sections ( struct Parallel_sections_clause_wn_type parallel_sections_clause_wn  ) 

Definition at line 2291 of file wfe_omp_directives.cxx.

Referenced by expand_start_parallel_sections().

void WFE_expand_start_section (  ) 

Definition at line 1343 of file wfe_omp_directives.cxx.

Referenced by expand_start_section().

void WFE_expand_start_sections ( struct Sections_clause_wn_type sections_clause_wn  ) 

Definition at line 1237 of file wfe_omp_directives.cxx.

Referenced by expand_start_sections().

void WFE_expand_start_single ( struct Single_clause_wn_type single_clause_wn  ) 

Definition at line 1687 of file wfe_omp_directives.cxx.

Referenced by expand_start_single().

static BOOL WFE_handle_non_pods ( tree  var,
WN block,
PRAGMA_TYPE  p 
) [static]

static BOOL WFE_is_default_constructor ( tree  fndecl  )  [static]

static void WFE_localize_var ( WN block,
ST old_st,
ST new_st 
) [static]

static BOOL WFE_maybe_call_copy_ctor ( tree  var,
WN **  c,
WN **  d 
) [static]

static BOOL WFE_maybe_call_default_ctor ( tree  var,
WN **  c,
WN **  d 
) [static]

static void WFE_maybe_call_dtors ( WN wn  )  [static]

static void WFE_maybe_localize_vars ( WN wn  )  [static]

void WFE_omp_error ( CHECK_STMT cs,
bool  chkflag,
char *  msg 
)

void WFE_Omp_Init ( void   ) 

Definition at line 82 of file wfe_omp_directives.cxx.

References getenv(), strcmp(), Trace_Omp, TRUE, and WFE_CS_Init().

Referenced by WFE_Init().

WN* WFE_region ( REGION_KIND  kind  ) 


Variable Documentation

BOOL Trace_Omp = FALSE

Definition at line 79 of file wfe_omp_directives.cxx.


Generated on Wed Apr 8 15:48:54 2009 for Open64 by  doxygen 1.5.6