Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
cwh_stab.i File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _full_split_st
struct  FIELD_ITEM
struct  renamings

Defines

#define ERR_OP   -1
#define I4_OP   0
#define U4_OP   1
#define I8_OP   2
#define U8_OP   3
#define F4_OP   0
#define F8_OP   1
#define FQ_OP   2
#define C4_OP   0
#define C8_OP   1
#define CQ_OP   2
#define SCLASS_BASED   SCLASS_COUNT
#define NOT_IN_PU   (CURRENT_SYMTAB == GLOBAL_SYMTAB)
#define HOST_ST_SIZE_CHANGE   512
#define NUM_INAMEMAP   sizeof(Iname_Map)/sizeof(INTRIN_NAME)
#define FIELDS_fp(i)   (fp_table[i].fp)
#define FIELDS_prev_array_index(i)   (fp_table[i].prev_array_index)
#define FIELDS_first_offset(i)   (fp_table[i].first_offset)
#define FIELDS_last_offset(i)   (fp_table[i].last_offset)

Typedefs

typedef struct FIELD_ITEMFIELDS
typedef struct renamings INTRIN_NAME

Functions

static STcwh_stab_earlier_hosted (const char *name)
static void cwh_stab_enter_hosted (ST *st)
static void cwh_stab_adjust_name (ST *st)
static void cwh_stab_set_linenum (ST *st, INT32 lineno)
static void cwh_stab_formal_ref (ST *st, BOOL host)
static void cwh_stab_find_overlaps (FIELDS fp, INT32 nf)
static BOOL cwh_stab_split_common (ST *c, FIELDS fp_table, INT32 nf)
static BOOL need_to_split (INT64 cur_offset, INT64 base_offset, INT64 rel_offset, int delta)
static void cwh_stab_dump_FIELDS (FIELDS fp_table, INT32 ftom, INT32 to)
static void cwh_stab_full_split (ST *c, enum list_name list=l_COMLIST)
static void cwh_stab_emit_split (ST *c, FIELDS fp_table, INT32 from, INT32 to)
static STcwh_stab_split_ST (ST *c, INT64 low_off, INT64 high_off)
static STcwh_stab_common_ST (char *name, INT64 size, mUINT16 al)
static STcwh_stab_module_ST (char *name, INT64 size, mUINT16 al)
static void cwh_stab_altres_offset (ST *st, BOOL hosted)
static void cwh_stab_altres_offset_comp (ST *st, BOOL allF4C4)
static STcwh_stab_altentry_temp (char *name, BOOL hosted)
static void cwh_stab_distrib_pragmas (ST *st)
static void cwh_stab_mk_flds (ST *block, enum list_name list)
static void cwh_stab_emit_list (LIST **lp, enum list_name list, void(*fp)(ST *, enum list_name))
static void cwh_stab_to_list_of_equivs (ST *st, BOOL hosted)
static STcwh_stab_earlier_common (char *name_string, BOOL is_dup)
static STcwh_stab_seen_common_element (ST *c, INT64 offset, char *name)
static PU_IDX cwh_stab_mk_pu (TY_IDX pty, SYMTAB_IDX level)
static INTPTR fei_proc_parent (char *name_string, INT32 lineno, INT32 sym_class, INT32 unused1, INT32 num_dum_args, INT32 parent_stx, INT32 first_st_idx, INT32 aux_idx, TYPE result_type, INTPTR st_idx, INT64 flags)
static INTPTR fei_proc_def (char *name_string, INT32 lineno, INT32 sym_class, INT32 Class, INT32 unused1, INT32 unused2, INT32 num_dum_args, INT32 parent_stx, INT32 first_st_idx, INT32 aux_idx, TYPE result_type, INT32 cmcs_node, INT32 st_idx, INT64 flags, INT32 coarray_concurrent)
static INTPTR fei_proc_interface (char *name_string, INT32 lineno, INT32 sym_class, INT32 Class, INT32 unused1, INT32 unused2, INT32 num_dum_args, INT32 parent_stx, INT32 first_st_idx, INT32 aux_idx, TYPE result_type, INT32 cmcs_node, INT32 st_idx, INT64 flags, INT32 coarray_concurrent)
static INTPTR fei_proc_imp (INT32 lineno, char *name_string, INT32 unused1, INT32 unused2, INT32 sclass, INT32 Class, TYPE result_type, INT64 flags, INT32 in_interface)
static void cwh_stab_adjust_base_name (ST *st)

Variables

static OPCODE Intconst_Opcode [4]
static const mINT8 op_form [MTYPE_LAST+1]
static const OPCODE Const_Opcode [MTYPE_LAST+1]
static const ST_CLASS object_map [Name+1]
static const ST_SCLASS segment_map [Seg_Coment+1]
STProcedure_ST
static STAlttemp_ST
static STAltbase_ST
STAltaddress_ST
static STMain_ST
static BOOL Has_nested_proc
static INT32 entry_point_count = 0
static LISTTop_Text = NULL
static LISTNamelist
static STB_pktSTB_list
static INT32 Host_Current_Size = 0
static ST ** Host_STs = NULL
static INT32 Host_Top = -1
static LISTEquivalences
static LISTHosted_Equivalences
static LISTCommons_Already_Seen
BOOL FE_Partial_Split = TRUE
static INT32 FE_Full_Split_Array_Limit = 16384
static struct _full_split_st FE_Full_Split_Limits []
static const INTRIN_NAME Iname_Map []
static INT32 FE_Full_Split_Limits_Count = 2
PREG_det preg_for_distribute
static STst_for_distribute_temp
BOOL cwh_stab_pu_has_globals
static char *const crayf90_def_main = "main___"
static char *const def_main_u = "MAIN__"
static char *const def_main = "MAIN_"
static INT32 interface_pu = 0

Define Documentation

#define C4_OP   0

Definition at line 50 of file cwh_stab.i.

#define C8_OP   1

Definition at line 51 of file cwh_stab.i.

#define CQ_OP   2

Definition at line 52 of file cwh_stab.i.

#define ERR_OP   -1

Definition at line 39 of file cwh_stab.i.

#define F4_OP   0

Definition at line 46 of file cwh_stab.i.

#define F8_OP   1

Definition at line 47 of file cwh_stab.i.

#define FIELDS_first_offset (   i)    (fp_table[i].first_offset)
#define FIELDS_fp (   i)    (fp_table[i].fp)
#define FIELDS_last_offset (   i)    (fp_table[i].last_offset)
#define FIELDS_prev_array_index (   i)    (fp_table[i].prev_array_index)

Definition at line 699 of file cwh_stab.i.

Referenced by cwh_stab_dump_FIELDS(), and cwh_stab_split_common().

#define FQ_OP   2

Definition at line 48 of file cwh_stab.i.

#define HOST_ST_SIZE_CHANGE   512

Definition at line 236 of file cwh_stab.i.

Referenced by cwh_stab_enter_hosted().

#define I4_OP   0

Definition at line 41 of file cwh_stab.i.

#define I8_OP   2

Definition at line 43 of file cwh_stab.i.

Definition at line 195 of file cwh_stab.i.

Referenced by fei_next_func_idx().

#define NUM_INAMEMAP   sizeof(Iname_Map)/sizeof(INTRIN_NAME)

Definition at line 291 of file cwh_stab.i.

Referenced by fei_proc_imp().

#define SCLASS_BASED   SCLASS_COUNT

Definition at line 134 of file cwh_stab.i.

Referenced by fei_object(), and Get_Array_Type().

#define U4_OP   1

Definition at line 42 of file cwh_stab.i.

#define U8_OP   3

Definition at line 44 of file cwh_stab.i.


Typedef Documentation

typedef struct FIELD_ITEM * FIELDS
typedef struct renamings INTRIN_NAME

Function Documentation

static void cwh_stab_adjust_base_name ( ST st) [static]
static void cwh_stab_adjust_name ( ST st) [static]
static ST* cwh_stab_altentry_temp ( char *  name,
BOOL  hosted 
) [static]
static void cwh_stab_altres_offset ( ST st,
BOOL  hosted 
) [static]
static void cwh_stab_altres_offset_comp ( ST st,
BOOL  allF4C4 
) [static]
static ST* cwh_stab_common_ST ( char *  name,
INT64  size,
mUINT16  al 
) [static]
static void cwh_stab_distrib_pragmas ( ST st) [static]
static void cwh_stab_dump_FIELDS ( FIELDS  fp_table,
INT32  ftom,
INT32  to 
) [static]
static ST* cwh_stab_earlier_common ( char *  name_string,
BOOL  is_dup 
) [static]
static ST* cwh_stab_earlier_hosted ( const char *  name) [static]
static void cwh_stab_emit_list ( LIST **  lp,
enum list_name  list,
void(*)(ST *, enum list_name fp 
) [static]
static void cwh_stab_emit_split ( ST c,
FIELDS  fp_table,
INT32  from,
INT32  to 
) [static]
static void cwh_stab_enter_hosted ( ST st) [static]
static void cwh_stab_find_overlaps ( FIELDS  fp,
INT32  nf 
) [static]
static void cwh_stab_formal_ref ( ST st,
BOOL  host 
) [static]
static void cwh_stab_full_split ( ST c,
enum list_name  list = l_COMLIST 
) [static]
static void cwh_stab_mk_flds ( ST block,
enum list_name  list 
) [static]
static PU_IDX cwh_stab_mk_pu ( TY_IDX  pty,
SYMTAB_IDX  level 
) [static]
static ST* cwh_stab_module_ST ( char *  name,
INT64  size,
mUINT16  al 
) [static]
static ST* cwh_stab_seen_common_element ( ST c,
INT64  offset,
char *  name 
) [static]
static void cwh_stab_set_linenum ( ST st,
INT32  lineno 
) [static]
static BOOL cwh_stab_split_common ( ST c,
FIELDS  fp_table,
INT32  nf 
) [static]
static ST* cwh_stab_split_ST ( ST c,
INT64  low_off,
INT64  high_off 
) [static]
static void cwh_stab_to_list_of_equivs ( ST st,
BOOL  hosted 
) [static]
static INTPTR fei_proc_def ( char *  name_string,
INT32  lineno,
INT32  sym_class,
INT32  Class,
INT32  unused1,
INT32  unused2,
INT32  num_dum_args,
INT32  parent_stx,
INT32  first_st_idx,
INT32  aux_idx,
TYPE  result_type,
INT32  cmcs_node,
INT32  st_idx,
INT64  flags,
INT32  coarray_concurrent 
) [static]

Definition at line 288 of file cwh_stab.cxx.

References cast_to_int, cast_to_ST, cast_to_STB, cast_to_TY, CLASS_FUNC, crayf90_def_main, Current_scope, CURRENT_SYMTAB, cwh_add_to_module_files_table(), cwh_auxst_add_item(), cwh_auxst_add_to_list(), cwh_auxst_alloc_proc_entry(), cwh_auxst_clear(), cwh_auxst_find_item(), cwh_block_init_pu(), cwh_stab_adjust_name(), cwh_stab_mk_pu(), cwh_stab_packet(), cwh_stab_pu_has_globals, cwh_stab_set_linenum(), cwh_types_mk_procedure_TY(), def_main, DevWarn(), entry_point_count, EXPORT_LOCAL_INTERNAL, EXPORT_OPTIONAL, EXPORT_PREEMPTIBLE, F90_Module, FALSE, FEI_PROC_ELEMENTAL, FEI_PROC_ENTRY, FEI_PROC_HAS_ALT_ENTRY, FEI_PROC_HASRSLT, fei_proc_imp(), FEI_PROC_IN_INTERFACE, FEI_PROC_MODULE, FEI_PROC_OPTIONAL_DIR, FEI_PROC_RECURSE, Fort_Blockdata, GLOBAL_SYMTAB, Has_nested_proc, idx, is_ST, l_ALTENTRY, PU::lexical_level, Main_Pgm, Main_ST, New_ST(), NULL, PDGCS_Proc_Extern, PDGCS_Proc_Imported, PDGCS_Proc_Intern, PREG_det::preg, preg_for_distribute, Procedure_ST, Pu_Table, Save_Str(), SCLASS_TEXT, Scope_tab, Set_PU_f90_lang(), Set_PU_has_altentry(), Set_PU_is_inline_function(), Set_PU_is_mainpu(), Set_PU_is_nested_func(), Set_PU_need_unparsed(), Set_PU_no_inline(), Set_PU_prototype(), Set_PU_recursive(), Set_PU_uplevel(), Set_ST_auxst_has_rslt_tmp, Set_ST_auxst_is_altentry, Set_ST_auxst_is_elemental, Set_ST_export(), Set_ST_is_coarray_concurrent(), Set_ST_is_in_module(), Set_ST_ofst(), Set_ST_pu(), Set_ST_sclass(), SCOPE::st, st_for_distribute_temp, ST_Init(), ST_name(), ST_pu(), still_in_preamble, t_TY, test_flag, Top_Text, and TRUE.

Referenced by fei_proc().

Here is the call graph for this function:

static INTPTR fei_proc_parent ( char *  name_string,
INT32  lineno,
INT32  sym_class,
INT32  unused1,
INT32  num_dum_args,
INT32  parent_stx,
INT32  first_st_idx,
INT32  aux_idx,
TYPE  result_type,
INTPTR  st_idx,
INT64  flags 
) [static]
static BOOL need_to_split ( INT64  cur_offset,
INT64  base_offset,
INT64  rel_offset,
int  delta 
) [static]

Variable Documentation

ST* Altbase_ST [static]

Definition at line 190 of file cwh_stab.i.

Referenced by cwh_stab_altentry_temp(), cwh_stab_altres_offset(), and fei_next_func_idx().

ST* Alttemp_ST [static]

Definition at line 189 of file cwh_stab.i.

Referenced by fei_next_func_idx().

char* const crayf90_def_main = "main___" [static]

Definition at line 714 of file cwh_stab.i.

Referenced by fei_proc_def().

char* const def_main = "MAIN_" [static]

Definition at line 716 of file cwh_stab.i.

Referenced by fei_proc_def().

char* const def_main_u = "MAIN__" [static]

Definition at line 715 of file cwh_stab.i.

INT32 FE_Full_Split_Array_Limit = 16384 [static]

Definition at line 267 of file cwh_stab.i.

Referenced by cwh_stab_split_common().

Definition at line 703 of file cwh_stab.i.

Referenced by cwh_stab_split_common().

Definition at line 259 of file cwh_stab.i.

Definition at line 193 of file cwh_stab.i.

Referenced by cwh_stab_end_procs(), fei_next_func_idx(), and fei_proc_def().

INT32 Host_Current_Size = 0 [static]

Definition at line 237 of file cwh_stab.i.

Referenced by cwh_stab_enter_hosted().

ST** Host_STs = NULL [static]

Definition at line 238 of file cwh_stab.i.

Referenced by cwh_stab_earlier_hosted(), and cwh_stab_enter_hosted().

INT32 Host_Top = -1 [static]

Definition at line 239 of file cwh_stab.i.

Referenced by cwh_stab_earlier_hosted(), cwh_stab_enter_hosted(), and fei_next_func_idx().

Definition at line 292 of file cwh_stab.i.

Referenced by fei_proc_imp().

OPCODE Intconst_Opcode[4] [static]
Initial value:

Definition at line 35 of file cwh_stab.i.

Referenced by fei_arith_con().

ST* Main_ST [static]

Definition at line 192 of file cwh_stab.i.

Referenced by cwh_stab_main_ST(), and fei_proc_def().

LIST* Namelist [static]

Definition at line 216 of file cwh_stab.i.

Initial value:

Definition at line 55 of file cwh_stab.i.

Referenced by fei_arith_con().

Definition at line 707 of file cwh_stab.i.

Referenced by cwh_load_distribute_temp(), fei_proc_def(), and fei_proc_interface().

STB_pkt* STB_list [static]

Definition at line 227 of file cwh_stab.i.

Referenced by cwh_stab_free_packet(), cwh_stab_packet_typed(), and fei_next_func_idx().

LIST* Top_Text = NULL [static]

Definition at line 209 of file cwh_stab.i.

Referenced by fei_proc_def(), fei_proc_imp(), and fei_proc_interface().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines