Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include "defs.h"
#include "glob.h"
#include "symtab.h"
#include "errors.h"
#include "wn.h"
#include "wn_util.h"
#include "ir_reader.h"
#include "cwh_defines.h"
#include "cwh_stmt.h"
#include "cwh_directive.h"
#include "cwh_block.h"
#include "cwh_block.i"
Go to the source code of this file.
Functions | |
void | cwh_block_push_block (WN *deferred, WN *append, BOOL is_top_pdo) |
void | cwh_block_pop_block (void) |
WN * | cwh_block_pop_region (void) |
WN * | cwh_block_set_region_pragmas (BOOL assert) |
void | cwh_block_add_to_enclosing_regions (WN_PRAGMA_ID id, ST *st) |
void | cwh_block_push_region (WN *region) |
void | cwh_block_dump (void) |
static void | cwh_block_bump (void) |
WN * | cwh_block_current (void) |
void | cwh_block_set_current (WN *blk) |
WN * | cwh_block_new_and_current (void) |
WN * | cwh_block_new_and_decl (void) |
WN * | cwh_block_exchange_current (WN *blk) |
void | cwh_block_append (WN *wn) |
void | cwh_block_append_given_block (WN *wn, WN *block) |
void | cwh_block_insert_after (WN *wn, WN *in) |
void | cwh_block_append_given_id (WN *wn, enum block_id id, BOOL first) |
void | cwh_block_append_given (enum block_id id) |
static WN ** | cwh_block_find_address (enum block_id id) |
void | cwh_block_init_pu () |
BOOL | cwh_block_toggle_debug (BOOL debug) |
Variables | |
static char * | source_file = __FILE__ |
void cwh_block_add_to_enclosing_regions | ( | WN_PRAGMA_ID | id, |
ST * | st | ||
) |
Definition at line 217 of file cwh_block.cxx.
References Add_Pragma_To_MP_Regions(), block_stack, block_stack_top, DevAssert, FALSE, OPR_REGION, REGION_KIND_MP, block_stack_t::wn, wn, WN_operator(), WN_PRAGMA_LOCAL, and WN_region_kind().
Referenced by cwh_mp_region().
void cwh_block_append | ( | WN * | wn | ) |
Definition at line 413 of file cwh_block.cxx.
References cwh_block_append_given_block(), and cwh_block_current_inline.
Referenced by cwh_addr_do_bounds_check(), cwh_addr_insert_bounds_check(), cwh_addr_pstid(), cwh_addr_pstore_ST(), cwh_addr_pstore_WN(), cwh_addr_stid(), cwh_addr_store_ST(), cwh_addr_store_WN(), cwh_block_append_given(), cwh_block_pop_block(), cwh_directive_barrier_insert(), cwh_directive_insert_do_loop_directives(), cwh_directive_pragma_to_region(), cwh_inline_allocate(), cwh_intrin_call(), cwh_intrin_get_return_value(), cwh_intrin_sync_intrin(), cwh_io_no_desc(), cwh_io_split_io_items(), cwh_io_split_io_statement(), cwh_mp_region(), cwh_region(), cwh_stmt_add_pragma(), cwh_stmt_add_xpragma(), cwh_stmt_append_truebr(), cwh_stmt_assigned_goto(), cwh_stmt_call_helper(), cwh_stmt_computed_goto(), cwh_stmt_goto(), cwh_stmt_return_altentry(), fei_allocate(), fei_arith_goto(), fei_brtrue(), fei_close(), fei_copyin_bound(), fei_critical_open_mp(), fei_criticalsection(), fei_doloop(), fei_dowhile(), fei_end_ioblock(), fei_endcritical_open_mp(), fei_endcriticalsection(), fei_enddo(), fei_endguard(), fei_endordered_open_mp(), fei_entry_pt(), fei_flush_open_mp(), fei_formatted_read(), fei_formatted_write(), fei_guard(), fei_if(), fei_inquire(), fei_iolength(), fei_label_def_named(), fei_namelist_read(), fei_namelist_write(), fei_new_select(), fei_nullify(), fei_omp_set_lock(), fei_omp_test_lock(), fei_omp_unset_lock(), fei_open(), fei_ordered_open_mp(), fei_pdo(), fei_prefetch_ref(), fei_pstore(), fei_redistribute(), fei_return(), fei_start_ioblock(), fei_stop(), fei_store(), fei_unformatted_read(), fei_unformatted_write(), fei_use(), and fei_where().
void cwh_block_append_given | ( | enum block_id | id | ) |
Definition at line 500 of file cwh_block.cxx.
References block, cwh_block_append(), cwh_block_find_address(), and NULL.
Referenced by fei_doloop(), fei_stmt(), and fei_user_code_start().
void cwh_block_append_given_block | ( | WN * | wn, |
WN * | block | ||
) |
Definition at line 427 of file cwh_block.cxx.
References current_srcpos, cwh_block_add_debug_line, OPC_BLOCK, USRCPOS_srcpos, WN_INSERT_BlockLast, WN_opcode(), and WN_Set_Linenum().
Referenced by cwh_block_append(), fei_flush_open_mp(), and fei_new_select_case().
void cwh_block_append_given_id | ( | WN * | wn, |
enum block_id | id, | ||
BOOL | first | ||
) |
Definition at line 474 of file cwh_block.cxx.
References block, cwh_block_find_address(), WN_CreateBlock(), WN_INSERT_BlockFirst, and WN_INSERT_BlockLast.
Referenced by cwh_addr_store_ST(), cwh_directive_add_pragma_to_loop(), cwh_mp_region(), cwh_stab_distrib_pragmas(), cwh_types_copyin_pragma(), fei_interface(), and fei_namelist().
static void cwh_block_bump | ( | void | ) | [static] |
Definition at line 310 of file cwh_block.cxx.
References BLOCK_CHUNK_SIZE, block_stack, block_stack_size, and block_stack_top.
Referenced by cwh_block_push_block(), and cwh_block_push_region().
WN* cwh_block_current | ( | void | ) |
Definition at line 335 of file cwh_block.cxx.
References WN_block.
Referenced by cwh_stmt_assigned_goto(), cwh_stmt_computed_goto(), cwh_stmt_init_pu(), cwh_stmt_select_char(), fei_new_select(), and fei_where().
void cwh_block_dump | ( | void | ) |
Definition at line 270 of file cwh_block.cxx.
References block_stack_t::block, block_stack, block_stack_top, dump_wn(), block_stack_t::is_parallel_do, block_stack_t::is_top_pdo, OPC_REGION, block_stack_t::u, block_stack_t::wn, wn, and WN_opcode().
WN* cwh_block_exchange_current | ( | WN * | blk | ) |
Definition at line 396 of file cwh_block.cxx.
References cwh_block_current_inline, and cwh_block_set_current().
Referenced by cwh_addr_insert_bounds_check(), cwh_block_set_region_pragmas(), cwh_directive_pragma_to_region(), cwh_intrin_ieee_intrin_helper(), and cwh_stmt_call_helper().
static WN** cwh_block_find_address | ( | enum block_id | id | ) | [static] |
Definition at line 522 of file cwh_block.cxx.
References block, Defer_Block, DevAssert, First_Block, Preamble_Block, Top_of_Loop_Block, WN_copyin_block, WN_decl_block, WN_defer_block, and WN_top_of_loop_block.
Referenced by cwh_block_append_given(), and cwh_block_append_given_id().
void cwh_block_init_pu | ( | ) |
Definition at line 558 of file cwh_block.cxx.
References cwh_block_add_debug_line, FALSE, NULL, WN_copyin_block, WN_decl_block, WN_defer_block, and WN_top_of_loop_block.
Referenced by fei_proc_def().
void cwh_block_insert_after | ( | WN * | wn, |
WN * | in | ||
) |
Definition at line 448 of file cwh_block.cxx.
References current_srcpos, cwh_block_add_debug_line, cwh_block_current_inline, USRCPOS_srcpos, WN_INSERT_BlockAfter(), and WN_Set_Linenum().
Referenced by cwh_stmt_select_case_char(), cwh_stmt_str_falsebr_util(), and fei_new_select_case().
WN* cwh_block_new_and_current | ( | void | ) |
Definition at line 365 of file cwh_block.cxx.
References cwh_block_current_inline, cwh_block_set_current(), wn, and WN_CreateBlock().
Referenced by cwh_intrin_ieee_intrin_helper(), cwh_stmt_assigned_goto(), cwh_stmt_call_helper(), cwh_stmt_computed_goto(), cwh_stmt_init_pu(), fei_new_select(), and fei_where().
WN* cwh_block_new_and_decl | ( | void | ) |
Definition at line 376 of file cwh_block.cxx.
References cwh_block_decl, cwh_block_set_current(), wn, and WN_CreateBlock().
void cwh_block_pop_block | ( | void | ) |
Definition at line 115 of file cwh_block.cxx.
References block, block_stack_t::block, block_stack, block_stack_top, cwh_block_append(), cwh_block_pop_region(), cwh_block_set_current(), DevAssert, block_stack_t::is_parallel_do, block_stack_t::is_top_pdo, OPC_REGION, block_stack_t::u, block_stack_t::wn, and WN_opcode().
Referenced by fei_enddo(), and fei_endif().
WN* cwh_block_pop_region | ( | void | ) |
Definition at line 156 of file cwh_block.cxx.
References block, block_stack, block_stack_top, cwh_block_set_current(), DevAssert, OPC_REGION, block_stack_t::region_parent, block_stack_t::u, block_stack_t::wn, and WN_opcode().
Referenced by cwh_block_pop_block(), cwh_directive_pop_and_nowait(), cwh_directive_pop_and_nowait_or_copyprivate(), fei_endparalleldo_open_mp(), fei_par_endcase(), and fei_regionend().
void cwh_block_push_block | ( | WN * | deferred, |
WN * | append, | ||
BOOL | is_top_pdo | ||
) |
Definition at line 83 of file cwh_block.cxx.
References block_stack_t::block, block_stack, block_stack_top, cwh_block_bump(), cwh_block_current_inline, FALSE, block_stack_t::is_parallel_do, block_stack_t::is_top_pdo, parallel_do_count, TRUE, block_stack_t::u, and block_stack_t::wn.
Referenced by fei_doforever(), fei_doloop(), fei_dowhile(), and fei_if().
void cwh_block_push_region | ( | WN * | region | ) |
Definition at line 251 of file cwh_block.cxx.
References block_stack, block_stack_top, cwh_block_bump(), cwh_block_current_inline, DevAssert, OPC_REGION, block_stack_t::region_parent, block_stack_t::u, block_stack_t::wn, and WN_opcode().
Referenced by cwh_region().
void cwh_block_set_current | ( | WN * | blk | ) |
Definition at line 350 of file cwh_block.cxx.
References WN_block.
Referenced by cwh_addr_insert_bounds_check(), cwh_block_exchange_current(), cwh_block_new_and_current(), cwh_block_new_and_decl(), cwh_block_pop_block(), cwh_block_pop_region(), cwh_directive_pragma_to_region(), cwh_doacross(), cwh_parallel(), cwh_region(), cwh_stmt_assigned_goto(), cwh_stmt_computed_goto(), fei_do_open_mp(), fei_doall(), fei_doloop(), fei_doparallel(), fei_dowhile(), fei_else(), fei_if(), fei_master_open_mp(), fei_new_select(), fei_opaque(), fei_par_case(), fei_parallel_region(), fei_paralleldo_open_mp(), fei_parallelsections_open_mp(), fei_parallelworkshare_open_mp(), fei_pdo(), fei_psection(), fei_purple_conditional(), fei_purple_unconditional(), fei_regionbegin(), fei_sections_open_mp(), fei_single_open_mp(), fei_singleprocess(), fei_where(), and fei_workshare_open_mp().
WN* cwh_block_set_region_pragmas | ( | BOOL | assert | ) |
Definition at line 189 of file cwh_block.cxx.
References block_stack, block_stack_top, cwh_block_current_inline, cwh_block_exchange_current(), DevAssert, NULL, OPR_REGION, block_stack_t::wn, wn, WN_operator(), and WN_region_pragmas.
Referenced by fei_opaque(), fei_purple_conditional(), and fei_purple_unconditional().
BOOL cwh_block_toggle_debug | ( | BOOL | debug | ) |
Definition at line 578 of file cwh_block.cxx.
References cwh_block_add_debug_line, and debug().
Referenced by cwh_stmt_init_pu(), fei_entry_pt(), fei_gen_func_entry(), and fei_user_code_start().
char* source_file = __FILE__ [static] |
Definition at line 54 of file cwh_block.cxx.