ANL_LOOP_CONSTRUCT Class Reference

#include <anl_loop_construct.h>

Collaboration diagram for ANL_LOOP_CONSTRUCT:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ANL_LOOP_CONSTRUCT (WN *loop, INT32 construct_level, ANL_FUNC_ENTRY *func_entry, MEM_POOL *pool)
WNNext_Stmt ()
void Write (ANL_CBUF *cbuf)

Private Types

enum  ANL_LOOP_KIND {
  ANL_DO_LOOP, ANL_WHILE_LOOP, ANL_WHILE_AS_DO_LOOP, ANL_DOACROSS_LOOP,
  ANL_PARALLELDO_LOOP, ANL_PDO_LOOP
}

Private Member Functions

WN_First_Loop_Stmt ()
WN_Last_Loop_Stmt ()
BOOL _Is_Parallel_Loop () const
void _Loop_Srcpos_Range (ANL_SRCPOS *min, ANL_SRCPOS *max)
void _Write_Loop_Header (ANL_CBUF *cbuf)
void _Write_Loop_Directive (ANL_CBUF *cbuf)

Static Private Member Functions

static BOOL Is_Valid_Dir (ANL_PRAGMA_ATTRIBUTE *dir, INT32 construct_level)
static BOOL Is_End_Of_Loop_Comment (WN *end_stmt)
static void Remove_Stmt_In_Block (WN *stmt)

Private Attributes

INT64 _id
ANL_LOOP_KIND _loop_kind
WN_loop_region
WN_loop
INT32 _construct_level
ANL_FUNC_ENTRY_func_entry
MEM_POOL_pool

Detailed Description

Definition at line 54 of file anl_loop_construct.h.


Member Enumeration Documentation

Enumerator:
ANL_DO_LOOP 
ANL_WHILE_LOOP 
ANL_WHILE_AS_DO_LOOP 
ANL_DOACROSS_LOOP 
ANL_PARALLELDO_LOOP 
ANL_PDO_LOOP 

Definition at line 58 of file anl_loop_construct.h.


Constructor & Destructor Documentation

ANL_LOOP_CONSTRUCT::ANL_LOOP_CONSTRUCT ( WN loop,
INT32  construct_level,
ANL_FUNC_ENTRY func_entry,
MEM_POOL pool 
)

Member Function Documentation

WN * ANL_LOOP_CONSTRUCT::_First_Loop_Stmt (  )  [private]

Definition at line 94 of file anl_loop_construct.cxx.

References _Is_Parallel_Loop(), _loop, _loop_region, NULL, and WN_prev().

Referenced by _Loop_Srcpos_Range(), and Write().

Here is the call graph for this function:

BOOL ANL_LOOP_CONSTRUCT::_Is_Parallel_Loop (  )  const [inline, private]
WN * ANL_LOOP_CONSTRUCT::_Last_Loop_Stmt (  )  [private]

Definition at line 106 of file anl_loop_construct.cxx.

References _Is_Parallel_Loop(), _loop, _loop_region, NULL, and WN_next().

Referenced by _Loop_Srcpos_Range(), and Write().

Here is the call graph for this function:

void ANL_LOOP_CONSTRUCT::_Loop_Srcpos_Range ( ANL_SRCPOS min,
ANL_SRCPOS max 
) [private]
void ANL_LOOP_CONSTRUCT::_Write_Loop_Directive ( ANL_CBUF cbuf  )  [private]
void ANL_LOOP_CONSTRUCT::_Write_Loop_Header ( ANL_CBUF cbuf  )  [private]
BOOL ANL_LOOP_CONSTRUCT::Is_End_Of_Loop_Comment ( WN end_stmt  )  [static, private]

Definition at line 69 of file anl_loop_construct.cxx.

References Index_To_Str(), OPR_COMMENT, WN_GetComment(), and WN_operator().

Referenced by _Loop_Srcpos_Range().

Here is the call graph for this function:

BOOL ANL_LOOP_CONSTRUCT::Is_Valid_Dir ( ANL_PRAGMA_ATTRIBUTE dir,
INT32  construct_level 
) [static, private]

Definition at line 62 of file anl_loop_construct.cxx.

References ANL_PRAGMA_ATTRIBUTE::Is_Loop_Construct_Attribute().

Referenced by Write().

Here is the call graph for this function:

WN * ANL_LOOP_CONSTRUCT::Next_Stmt (  ) 

Definition at line 463 of file anl_loop_construct.cxx.

References _loop, and WN_next().

Referenced by ANL_FUNC_ENTRY::Emit_Nested_Original_Constructs().

Here is the call graph for this function:

void ANL_LOOP_CONSTRUCT::Remove_Stmt_In_Block ( WN stmt  )  [static, private]

Definition at line 76 of file anl_loop_construct.cxx.

References block, NULL, OPR_BLOCK, WN_DELETE_FromBlock(), and WN_operator().

Referenced by _Loop_Srcpos_Range().

Here is the call graph for this function:

void ANL_LOOP_CONSTRUCT::Write ( ANL_CBUF cbuf  ) 

Member Data Documentation

Definition at line 72 of file anl_loop_construct.h.

Referenced by Write().

Definition at line 74 of file anl_loop_construct.h.

Referenced by Write().


The documentation for this class was generated from the following files:

Generated on Tue Nov 17 06:37:42 2009 for Open64 (mfef90, whirl2f, and IR tools) by  doxygen 1.6.1