Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
cwh_stk.cxx File Reference
#include "defs.h"
#include "symtab.h"
#include "wn.h"
#include "wn_util.h"
#include "ir_reader.h"
#include "cwh_defines.h"
#include "cwh_stk.h"
Include dependency graph for cwh_stk.cxx:

Go to the source code of this file.

Classes

struct  stk_entry_t

Defines

#define STK_SIZE_CHANGE   512
#define STK_EMPTY   -1

Functions

void cwh_stk_push (void *item, enum item_class Class)
void cwh_stk_push_typed (void *item, enum item_class Class, TY_IDX ty)
void cwh_stk_push_STR (void *len, void *addr, TY_IDX ty, enum item_class addr_class)
WNcwh_stk_pop_WN (void)
WNcwh_stk_pop_WHIRL (void)
STcwh_stk_pop_ST (void)
FLD_IDX cwh_stk_pop_FLD (void)
WNcwh_stk_pop_ADDR (void)
WNcwh_stk_pop_DEREF (void)
void cwh_stk_pop_STR (void)
STcwh_stk_pop_PCONST (void)
LABEL_IDX cwh_stk_pop_LB (void)
void cwh_stk_pop_whatever (void)
enum item_class cwh_stk_get_class (void)
TY_IDX cwh_stk_get_TY (void)
TY_IDX cwh_stk_get_FLD_TY (void)
INT32 cwh_stk_count_STRs (INT32 n)
BOOL cwh_stk_is_byte_STR (INT32 n)
void cwh_stk_verify_empty (void)
void cwh_stk_dump (void)
WNcwh_stk_pop_iostmt (IOSTATEMENT opc, INT32 eeeflag)
INT32 cwh_stk_get_num_inquire_items (void)
void cwh_stk_push_top_item_again (void)
char * cwh_stk_fld_name (void)

Variables

static char * source_file = __FILE__
static INT32 current_size = 0
static stk_entry_tstk = NULL
static INT32 top = STK_EMPTY

Define Documentation

#define STK_EMPTY   -1

Definition at line 84 of file cwh_stk.cxx.

Referenced by cwh_stk_verify_empty().

#define STK_SIZE_CHANGE   512

Definition at line 83 of file cwh_stk.cxx.

Referenced by cwh_stk_push_typed(), and cwh_types_push_dtype().


Function Documentation

Definition at line 425 of file cwh_stk.cxx.

References c, DevAssert, STR_item, and top.

Referenced by cwh_stmt_call_helper().

void cwh_stk_dump ( void  )

Definition at line 539 of file cwh_stk.cxx.

References ADDR_item, DEREF_item, DUMP_LB, DUMP_ST, DUMP_WN, f, FLD_item, FLD_name(), FLD_ofst(), LB_item, NULL, PCONST_item, ST_item, ST_item_whole_array, STR_item, top, WN_item, and WN_item_whole_array.

Here is the call graph for this function:

char* cwh_stk_fld_name ( void  )

Definition at line 800 of file cwh_stk.cxx.

References FLD_item, FLD_name(), free(), NULL, s, and top.

Referenced by fei_dv_deref(), fei_nseq_subscr(), and fei_seq_subscr().

Here is the call graph for this function:

Definition at line 406 of file cwh_stk.cxx.

References DevAssert, FLD_item, FLD_type(), stk_entry_t::item, and top.

Referenced by cwh_io_ioitem(), fei_control_list(), fei_return(), and fei_set_dv_hdr_fld().

Here is the call graph for this function:

Definition at line 692 of file cwh_stk.cxx.

References cwh_stk_pop_WN(), NULL, OPR_IO_ITEM, top, wn, WN_item, WN_item_whole_array, and WN_operator_is.

Referenced by fei_iolength().

Here is the call graph for this function:

Definition at line 238 of file cwh_stk.cxx.

References stk_entry_t::Class, DevAssert, FLD_item, top, and UNDEF.

Referenced by cwh_addr_offset(), fei_dv_def(), fei_dv_deref(), and fei_field_dot().

WN* cwh_stk_pop_iostmt ( IOSTATEMENT  opc,
INT32  eeeflag 
)
ST* cwh_stk_pop_PCONST ( void  )

Definition at line 318 of file cwh_stk.cxx.

References stk_entry_t::Class, DevAssert, PCONST_item, top, and UNDEF.

Referenced by cwh_expr_operand(), fei_pstore(), fei_store(), and TCON_from_stack().

void cwh_stk_push ( void *  item,
enum item_class  Class 
)

Definition at line 99 of file cwh_stk.cxx.

References cwh_stk_push_typed(), and return().

Referenced by cwh_addr_do_bounds_check(), cwh_addr_pstid(), cwh_addr_stid(), cwh_ceiling_floor(), cwh_char_intrin(), cwh_dope_read_bound(), cwh_expr_compare_bitwise(), cwh_expr_unop(), cwh_inline_allocate(), cwh_intrin_ieee_intrin_call_helper(), cwh_intrin_ieee_intrin_helper(), cwh_intrin_popcnt_leadz_helper(), cwh_intrin_sync_intrin(), cwh_io_ioitem(), cwh_stk_push_STR(), cwh_stmt_call_helper(), cwh_stmt_character_store(), cwh_stmt_select_case_char(), cwh_stmt_select_char(), do_char_intrin_nt(), do_simple(), fei_abs(), fei_addr(), fei_addr_con(), fei_adjustr(), fei_alloc(), fei_arg_addr(), fei_array_construct(), fei_as_ref(), fei_constant(), fei_control_list(), fei_copy_in(), fei_cot(), fei_count(), fei_dv_def(), fei_dv_deref(), fei_dv_ptr_asg(), fei_else(), fei_exponent(), fei_exponentiate(), fei_function_ref(), fei_gen_func_entry(), fei_get_dv_hdr_fld(), fei_ibits(), fei_ieee_sign_xfer(), fei_if(), fei_imag(), fei_implied_do(), fei_IO_list(), fei_iolength(), fei_iotype(), fei_islg(), fei_label_addr(), fei_label_def_named(), fei_label_ref(), fei_length(), fei_malloc(), fei_member_ref(), fei_multiply_high(), fei_mvbits(), fei_near(), fei_new_select(), fei_new_select_case(), fei_noio_implied_do(), fei_non_conform_store(), fei_nseq_subscr(), fei_object_ref(), fei_omp_set_lock(), fei_omp_test_lock(), fei_omp_unset_lock(), fei_poppar(), fei_pos_diff(), fei_push_arith_con(), fei_push_pattern_con(), fei_ranf(), fei_ranget(), fei_ranset(), fei_rename_list(), fei_rtc(), fei_scale(), fei_seg_ref(), fei_seq_subscr(), fei_set_exponent(), fei_sign_xfer(), fei_subscr_src_triplet(), fei_subscr_triplet(), fei_task_var(), fei_trunc(), fei_unit(), simple_intrinsic(), and simple_intrinsic_nt().

Here is the call graph for this function:

void cwh_stk_push_top_item_again ( void  )

Definition at line 725 of file cwh_stk.cxx.

References ADDR_item, cwh_stk_push_typed(), DEREF_item, DevAssert, FLD_item, LB_item, PCONST_item, return(), ST_item, ST_item_whole_array, STR_item, top, WN_COPY_Tree(), WN_item, and WN_item_whole_array.

Referenced by fei_control_list().

Here is the call graph for this function:

void cwh_stk_verify_empty ( void  )

Definition at line 521 of file cwh_stk.cxx.

References DevAssert, STK_EMPTY, and top.

Referenced by fei_user_code_start(), and PDGCS_do_proc().


Variable Documentation

INT32 current_size = 0 [static]

Definition at line 86 of file cwh_stk.cxx.

Referenced by cwh_stk_push_typed().

char* source_file = __FILE__ [static]

Definition at line 58 of file cwh_stk.cxx.

stk_entry_t* stk = NULL [static]

Definition at line 87 of file cwh_stk.cxx.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines