#include <anl_loop_construct.h>

Public Member Functions | |
| ANL_LOOP_CONSTRUCT (WN *loop, INT32 construct_level, ANL_FUNC_ENTRY *func_entry, MEM_POOL *pool) | |
| WN * | Next_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 |
Definition at line 54 of file anl_loop_construct.h.
enum ANL_LOOP_CONSTRUCT::ANL_LOOP_KIND [private] |
| 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.
| ANL_LOOP_CONSTRUCT::ANL_LOOP_CONSTRUCT | ( | WN * | loop, | |
| INT32 | construct_level, | |||
| ANL_FUNC_ENTRY * | func_entry, | |||
| MEM_POOL * | pool | |||
| ) |
Definition at line 392 of file anl_loop_construct.cxx.
References _func_entry, _id, _loop_kind, _loop_region, ANL_DO_LOOP, ANL_DOACROSS_LOOP, ANL_PARALLELDO_LOOP, ANL_PDO_LOOP, ANL_WHILE_AS_DO_LOOP, ANL_WHILE_LOOP, FALSE, ANL_FUNC_ENTRY::Next_Construct_Id(), NULL, OPR_DO_WHILE, OPR_REGION, OPR_WHILE_DO, COUNTER::Post_Incr(), ANL_FUNC_ENTRY::Pu_Translator(), ANL_FUNC_ENTRY::Set_Construct_Id(), W2CF_TRANSLATOR::Whileloop_Looks_Like_Forloop(), WN_current_loop_nest, WN_first(), WN_operator(), WN_pragma(), WN_PRAGMA_DOACROSS, WN_PRAGMA_PARALLEL_DO, WN_PRAGMA_PDO_BEGIN, and WN_region_pragmas.

| 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().

| BOOL ANL_LOOP_CONSTRUCT::_Is_Parallel_Loop | ( | ) | const [inline, private] |
Definition at line 84 of file anl_loop_construct.h.
References _loop_kind, ANL_DOACROSS_LOOP, ANL_PARALLELDO_LOOP, and ANL_PDO_LOOP.
Referenced by _First_Loop_Stmt(), _Last_Loop_Stmt(), and _Loop_Srcpos_Range().
| 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().

| void ANL_LOOP_CONSTRUCT::_Loop_Srcpos_Range | ( | ANL_SRCPOS * | min, | |
| ANL_SRCPOS * | max | |||
| ) | [private] |
Definition at line 118 of file anl_loop_construct.cxx.
References _First_Loop_Stmt(), _func_entry, _Is_Parallel_Loop(), _Last_Loop_Stmt(), _loop, _loop_kind, _loop_region, Adjust_Srcpos_Range(), ANL_DO_LOOP, ANL_SRCPOS::Column(), ANL_SRCPOS::Filenum(), Is_End_Of_Loop_Comment(), Is_True, W2CF_TRANSLATOR::Language_is_C(), ANL_SRCPOS::Linenum(), NULL, OPR_DO_LOOP, ANL_FUNC_ENTRY::Pu_Translator(), Remove_Stmt_In_Block(), WN_do_body, WN_first(), WN_next(), WN_operator(), WN_pragma(), WN_PRAGMA_END_MARKER, WN_PRAGMA_NOWAIT, WN_PRAGMA_PDO_END, WN_prev(), WN_region_body, WN_region_pragmas, and WN_while_body.
Referenced by _Write_Loop_Header().

| void ANL_LOOP_CONSTRUCT::_Write_Loop_Directive | ( | ANL_CBUF * | cbuf | ) | [private] |
Definition at line 285 of file anl_loop_construct.cxx.
References _func_entry, _id, _loop_kind, _loop_region, ANL_DOACROSS_LOOP, ANL_PARALLELDO_LOOP, ANL_PDO_LOOP, ANL_CBUF::Append_Pragma_Preamble(), W2CF_TRANSLATOR::ClauseList_To_String(), FALSE, ANL_FUNC_ENTRY::Get_Pragma_Srcpos_Range(), W2CF_TRANSLATOR::Is_A_Pragma_Clause(), W2CF_TRANSLATOR::Language_is_C(), NULL, ANL_FUNC_ENTRY::Pu_Translator(), WN_first(), WN_max_loop_nest, WN_next(), WN_pragma(), WN_pragma_compiler_generated, WN_PRAGMA_NOWAIT, WN_pragma_omp, WN_PRAGMA_PDO_END, WN_region_pragmas, ANL_SRCPOS::Write(), ANL_CBUF::Write_Char(), ANL_CBUF::Write_Int(), and ANL_CBUF::Write_String().
Referenced by Write().

| void ANL_LOOP_CONSTRUCT::_Write_Loop_Header | ( | ANL_CBUF * | cbuf | ) | [private] |
Definition at line 230 of file anl_loop_construct.cxx.
References _func_entry, _id, _loop, _loop_kind, _Loop_Srcpos_Range(), ANL_DO_LOOP, ANL_DOACROSS_LOOP, ANL_PARALLELDO_LOOP, ANL_PDO_LOOP, ANL_WHILE_AS_DO_LOOP, ANL_WHILE_LOOP, W2CF_TRANSLATOR::Expr_To_String(), W2CF_TRANSLATOR::Language_is_C(), ANL_FUNC_ENTRY::Pu_Translator(), WN_index, WN_prev(), WN_st(), WN_while_test, ANL_SRCPOS::Write(), ANL_CBUF::Write_Char(), ANL_CBUF::Write_Int(), and ANL_CBUF::Write_String().
Referenced by Write().

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().

| 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().

| 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().

| 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().

| void ANL_LOOP_CONSTRUCT::Write | ( | ANL_CBUF * | cbuf | ) |
Definition at line 473 of file anl_loop_construct.cxx.
References _construct_level, _First_Loop_Stmt(), _func_entry, _id, _Last_Loop_Stmt(), _loop, _loop_kind, _pool, _Write_Loop_Directive(), _Write_Loop_Header(), ANL_DOACROSS_LOOP, ANL_PARALLELDO_LOOP, ANL_PDO_LOOP, ANL_WHILE_AS_DO_LOOP, ANL_WHILE_LOOP, ANL_CBUF::Chars(), ANL_FUNC_ENTRY::Emit_Nested_Original_Constructs(), ANL_VARLIST::Insert_Var_Refs(), Is_Valid_Dir(), NULL, ANL_FUNC_ENTRY::Pu_Translator(), ANL_CBUF::Size(), WN_do_body, WN_first(), WN_index, WN_last(), WN_next(), WN_prev(), WN_st(), WN_while_body, ANL_VARLIST::Write(), ANL_CBUF::Write_Char(), ANL_CBUF::Write_Int(), and ANL_CBUF::Write_String().
Referenced by ANL_FUNC_ENTRY::Emit_Nested_Original_Constructs().

INT32 ANL_LOOP_CONSTRUCT::_construct_level [private] |
Definition at line 72 of file anl_loop_construct.h.
Referenced by Write().
ANL_FUNC_ENTRY* ANL_LOOP_CONSTRUCT::_func_entry [private] |
Definition at line 73 of file anl_loop_construct.h.
Referenced by _Loop_Srcpos_Range(), _Write_Loop_Directive(), _Write_Loop_Header(), ANL_LOOP_CONSTRUCT(), and Write().
INT64 ANL_LOOP_CONSTRUCT::_id [private] |
Definition at line 68 of file anl_loop_construct.h.
Referenced by _Write_Loop_Directive(), _Write_Loop_Header(), ANL_LOOP_CONSTRUCT(), and Write().
WN* ANL_LOOP_CONSTRUCT::_loop [private] |
Definition at line 71 of file anl_loop_construct.h.
Referenced by _First_Loop_Stmt(), _Last_Loop_Stmt(), _Loop_Srcpos_Range(), _Write_Loop_Header(), Next_Stmt(), and Write().
ANL_LOOP_KIND ANL_LOOP_CONSTRUCT::_loop_kind [private] |
Definition at line 69 of file anl_loop_construct.h.
Referenced by _Is_Parallel_Loop(), _Loop_Srcpos_Range(), _Write_Loop_Directive(), _Write_Loop_Header(), ANL_LOOP_CONSTRUCT(), and Write().
WN* ANL_LOOP_CONSTRUCT::_loop_region [private] |
Definition at line 70 of file anl_loop_construct.h.
Referenced by _First_Loop_Stmt(), _Last_Loop_Stmt(), _Loop_Srcpos_Range(), _Write_Loop_Directive(), and ANL_LOOP_CONSTRUCT().
MEM_POOL* ANL_LOOP_CONSTRUCT::_pool [private] |
Definition at line 74 of file anl_loop_construct.h.
Referenced by Write().
1.6.1