Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include "defs.h"
#include "stab.h"
#include "wn.h"
#include "ir_reader.h"
#include "strtab.h"
#include "stblock.h"
#include "data_layout.h"
#include "erbe.h"
#include "cxx_hash.h"
Go to the source code of this file.
Typedefs | |
typedef HASH_TABLE< ST *, BOOL > | ST_HASH_TABLE |
Functions | |
void | Process_Fill_Align_Pragmas (WN *func_wn) |
void | Fill_Align_Initialize_Parameters (INT *L1_sz, INT *L2_sz, INT *pg_sz) |
static void | Process_Fill_Align_Pragmas_Recursive (WN *wn, WN *func_wn) |
static void | Fill_Align_Symbol (WN *wn, WN *func_wn) |
static BOOL | Local_Variable (ST *st) |
static BOOL | Global_Variable (ST *st) |
static BOOL | Common_Variable (ST *st) |
static BOOL | Known_Size (ST *st) |
static WN * | Find_Alloca (WN *block, ST *sym) |
Variables | |
static ST_HASH_TABLE * | symbol_ht |
static MEM_POOL | symbol_ht_pool |
static INT | L1_cache_line_sz |
static INT | L2_cache_line_sz |
static INT | page_sz |
typedef HASH_TABLE<ST*, BOOL> ST_HASH_TABLE |
Definition at line 64 of file fill_align.cxx.
static BOOL Common_Variable | ( | ST * | st | ) | [static] |
Definition at line 157 of file fill_align.cxx.
References FALSE, Is_Global_Symbol(), Is_True, SCLASS_COMMON, ST_base_idx(), ST_name(), ST_sclass(), ST_st_idx(), and TRUE.
Referenced by Fill_Align_Symbol().
void Fill_Align_Initialize_Parameters | ( | INT * | L1_sz, |
INT * | L2_sz, | ||
INT * | pg_sz | ||
) |
Definition at line 41 of file fill_align_targ.cxx.
References L1_cache_line_sz, L2_cache_line_sz, Target, and TARGET_ITANIUM.
Referenced by Process_Fill_Align_Pragmas().
static void Fill_Align_Symbol | ( | WN * | wn, |
WN * | func_wn | ||
) | [static] |
Definition at line 255 of file fill_align.cxx.
References Alloca_Dealloca_On, Allocate_Object(), CLASS_VAR, Clear_ST_gprel(), Common_Variable(), Copy_TY(), CURRENT_SYMTAB, EC_Bad_Pragma_Abort, Enter_ST, ErrMsgSrcpos(), FALSE, File_info, FILE_INFO_ipa(), Find_Alloca(), FLD_last_field(), FLD_ofst(), FmtAssert, FOREACH_SYMBOL, Global_Variable(), Is_Global_Symbol(), Is_True, KIND_STRUCT, Known_Size(), L1_cache_line_sz, L2_cache_line_sz, Local_Variable(), Make_fld_iter(), Mtype_comparison(), MTYPE_V, name, New_ST_Block(), OPR_ADD, OPR_ALLOCA, OPR_ASHR, OPR_INTCONST, OPR_INTRINSIC_CALL, OPR_SHL, OPR_STID, page_sz, Read_Global_Data, Save_Str2(), Set_FLD_ofst(), Set_ST_base(), Set_ST_ofst(), Set_ST_type(), Set_TY_align(), Set_TY_size(), ST_base(), ST_class(), ST_name(), ST_ofst(), ST_sclass(), St_Table, ST_type(), symbol_ht, TRUE, TY_align(), TY_fld(), TY_kind(), TY_size(), Ty_Table, WN_CreateExp2(), WN_CreateIntconst(), WN_CreateStid(), WN_desc(), WN_func_body, WN_Get_Linenum(), WN_kid0(), WN_next(), WN_operator(), WN_pragma(), WN_pragma_arg2(), WN_PRAGMA_FILL, WN_pragmas, WN_prev(), WN_RLdid(), WN_rtype(), and WN_st_idx().
Referenced by Process_Fill_Align_Pragmas_Recursive().
static WN* Find_Alloca | ( | WN * | block, |
ST * | sym | ||
) | [static] |
Definition at line 202 of file fill_align.cxx.
References DevWarn(), Is_True, NULL, OPC_BLOCK, OPC_REGION, OPR_PRAGMA, OPR_STID, ST_name(), St_Table, WN_first(), WN_next(), WN_opcode(), WN_operator(), WN_pragma(), WN_PRAGMA_PREAMBLE_END, WN_region_body, and WN_st_idx().
Referenced by Fill_Align_Symbol().
static BOOL Global_Variable | ( | ST * | st | ) | [static] |
Definition at line 150 of file fill_align.cxx.
References FALSE, Is_Global_Symbol(), SCLASS_COMMON, ST_sclass(), and TRUE.
Referenced by Fill_Align_Symbol().
static BOOL Known_Size | ( | ST * | st | ) | [static] |
Definition at line 175 of file fill_align.cxx.
References FALSE, KIND_ARRAY, ST_type(), TRUE, TY_AR_const_lbnd(), TY_AR_const_ubnd(), TY_AR_ndims(), TY_kind(), and Ty_Table.
Referenced by Fill_Align_Symbol().
static BOOL Local_Variable | ( | ST * | st | ) | [static] |
Definition at line 139 of file fill_align.cxx.
References FALSE, SCLASS_AUTO, SCLASS_PSTATIC, ST_base(), ST_sclass(), and TRUE.
Referenced by Fill_Align_Symbol().
void Process_Fill_Align_Pragmas | ( | WN * | func_wn | ) |
Definition at line 76 of file fill_align.cxx.
References CXX_NEW, FALSE, Fill_Align_Initialize_Parameters(), initialized, L1_cache_line_sz, L2_cache_line_sz, MEM_POOL_Initialize, MEM_POOL_Push_Freeze, page_sz, Process_Fill_Align_Pragmas_Recursive(), and symbol_ht.
Referenced by Backend_Processing().
static void Process_Fill_Align_Pragmas_Recursive | ( | WN * | wn, |
WN * | func_wn | ||
) | [static] |
Definition at line 98 of file fill_align.cxx.
References Fill_Align_Symbol(), OPCODE_operator(), OPR_BLOCK, OPR_PRAGMA, WN_first(), WN_kid(), WN_kid_count(), WN_next(), WN_opcode(), WN_operator(), WN_pragma(), WN_PRAGMA_ALIGN, and WN_PRAGMA_FILL.
Referenced by Process_Fill_Align_Pragmas().
INT L1_cache_line_sz [static] |
Definition at line 67 of file fill_align.cxx.
Referenced by Fill_Align_Initialize_Parameters(), Fill_Align_Symbol(), and Process_Fill_Align_Pragmas().
INT L2_cache_line_sz [static] |
Definition at line 67 of file fill_align.cxx.
Referenced by Fill_Align_Initialize_Parameters(), Fill_Align_Symbol(), and Process_Fill_Align_Pragmas().
Definition at line 67 of file fill_align.cxx.
Referenced by Fill_Align_Symbol(), and Process_Fill_Align_Pragmas().
ST_HASH_TABLE* symbol_ht [static] |
Definition at line 65 of file fill_align.cxx.
Referenced by Fill_Align_Symbol(), and Process_Fill_Align_Pragmas().
MEM_POOL symbol_ht_pool [static] |
Definition at line 66 of file fill_align.cxx.