Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
wn_mp.h File Reference
#include <elf.h>
#include "dwarf_DST.h"
#include "pu_info.h"
#include "cxx_template.h"
Include dependency graph for wn_mp.h:

Go to the source code of this file.

Defines

#define wnmp_INCLUDED   "wn_mp.h"

Typedefs

typedef DYN_ARRAY< WN * > REDUCTION_LIST

Enumerations

enum  MP_process_type {
  MPP_UNKNOWN, MPP_COPYIN, MPP_CRITICAL_SECTION, MPP_SINGLE,
  MPP_ORPHANED_SINGLE, MPP_PDO, MPP_ORPHANED_PDO, MPP_PARALLEL_DO,
  MPP_PARALLEL_REGION
}

Functions

WNlower_mp (WN *, WN *, INT32)
void LowerMP_PU_Init (void)
WNGen_MP_Getlock (ST *lock)
WNGen_MP_Unlock (ST *lock)
WNGen_MP_Setlock (void)
WNGen_MP_Unsetlock (void)
INT MP_Reduction_Combine_Cycles (REDUCTION_LIST *rlist, BOOL *using_critical)
WNGen_OMP_Begin_SPR (MP_process_type mpt)
WNGen_OMP_End_SPR (MP_process_type mpt)
BOOL Is_Nonpod_Finalization_IF (WN *wn, BOOL *is_first_and_last)
void Move_Non_POD_Finalization_Code (WN *block)
void MP_Fix_Dependence_Graph (PU_Info *parent_pu_info, PU_Info *child_pu_info, WN *child_wn)
WNCopy_Non_MP_Tree (WN *tree)
DST_IDX Find_DST_From_ST (ST *st, PU_Info *pu_info)
void Create_New_DST (DST_INFO_IDX dst, ST *st, BOOL append_to_nested)
BOOL WN_has_pragma_with_side_effect (WN *wn)

Define Documentation

#define wnmp_INCLUDED   "wn_mp.h"

Fortran MP Lowering Support ---------------------------

Description:

This interface describes all the declarations and data needed to perform and support Fortran MP lowering.

Exported functions:

These functions are from wn_mp.cxx:

lower_mp called when first MP pragma is encountered, identifies, extracts, converts and replaces an entire parallel region in the whirl tree

LowerMP_PU_Init per-PU initialization for the MP lowerer

Gen_MP_Getlock, Gen_MP_Unlock, Gen_MP_Setlock, Gen_MP_Unsetlock Generate Whirl for mutex operations

These functions are from wn_mp_dg.cxx:

Copy_Non_MP_Tree Copy all but MP pragmas in a tree

MP_Fix_Dependence_Graph what the name suggests

Definition at line 69 of file wn_mp.h.


Typedef Documentation

typedef DYN_ARRAY<WN *> REDUCTION_LIST

Definition at line 100 of file wn_mp.h.


Enumeration Type Documentation

Enumerator:
MPP_UNKNOWN 
MPP_COPYIN 
MPP_CRITICAL_SECTION 
MPP_SINGLE 
MPP_ORPHANED_SINGLE 
MPP_PDO 
MPP_ORPHANED_PDO 
MPP_PARALLEL_DO 
MPP_PARALLEL_REGION 

Definition at line 104 of file wn_mp.h.


Function Documentation

WN* Copy_Non_MP_Tree ( WN tree)
void Create_New_DST ( DST_INFO_IDX  dst,
ST st,
BOOL  append_to_nested 
)
DST_IDX Find_DST_From_ST ( ST st,
PU_Info pu_info 
)
WN* Gen_MP_Getlock ( ST lock)
WN* Gen_MP_Setlock ( void  )
WN* Gen_MP_Unlock ( ST lock)
WN* Gen_MP_Unsetlock ( void  )
BOOL Is_Nonpod_Finalization_IF ( WN wn,
BOOL is_first_and_last 
)
WN* lower_mp ( WN ,
WN ,
INT32   
)
void LowerMP_PU_Init ( void  )
void MP_Fix_Dependence_Graph ( PU_Info parent_pu_info,
PU_Info child_pu_info,
WN child_wn 
)
INT MP_Reduction_Combine_Cycles ( REDUCTION_LIST rlist,
BOOL using_critical 
)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines