#include <elf.h>#include "dwarf_DST_mem.h"

Go to the source code of this file.
Data Types | |
| type | pu_info |
Defines | |
| #define | PU_HEADER_VERSION 1 |
| #define | WT_SYMTAB 0x0 |
| #define | WT_TREE 0x1 |
| #define | WT_DEPGRAPH 0x2 |
| #define | WT_PREFETCH 0x3 |
| #define | WT_REGIONS 0x4 |
| #define | WT_FEEDBACK 0x5 |
| #define | WT_FREQ 0x6 |
| #define | WT_AC_INTERNAL 0x7 |
| #define | WT_ALIAS_CLASS 0x8 |
| #define | WT_SUBSECTIONS 0x9 |
| #define | WT_LAST WT_SUBSECTIONS |
| #define | WT_PROC_SYM -1 |
| #define | PU_HAS_GLOBALS 0x1 |
| #define | PU_HAS_NESTED_PU 0x2 |
| #define | PU_IS_COMPILER_GENERATED 0x4 |
| #define | PU_IS_DRA_CLONE 0x8 |
| #define | PU_PREGS_RENUMBERED 0x10 |
| #define | PU_INTERNAL_MASK 0xf0000000 |
| #define | PU_DELETED 0x10000000 |
| #define | PU_Info_proc_sym(pu) (pu)->proc_sym |
| #define | PU_Info_proc_id(pu) (pu)->proc_sym |
| #define | PU_Info_subsect_offset(pu, scn) (pu)->subsect[scn].offset |
| #define | PU_Info_subsect_size(pu, scn) (pu)->subsect[scn].u.size |
| #define | PU_Info_subsect_ptr(pu, scn) (pu)->subsect[scn].u.ptr |
| #define | PU_Info_flags(pu) (pu)->flags |
| #define | PU_Info_pu_dst(pu) (pu)->pu_dst |
| #define | PU_Info_cu_dst(pu) (pu)->cu_dst |
| #define | PU_Info_cu_dst(pu) (pu)->cu_dst |
| #define | PU_Info_maptab(pu) (pu)->maptab |
| #define | PU_Info_next(pu) (pu)->next |
| #define | PU_Info_child(pu) (pu)->child |
| #define | Set_PU_Info_flags(pu, flag_value) (pu)->flags |= (flag_value) |
| #define | Clear_PU_Info_flags(pu, flag_value) (pu)->flags &= ~(flag_value) |
| #define | Is_Set_PU_Info_flags(pu, flag_value) ((pu)->flags & (flag_value)) |
| #define | PU_Info_state(pu, ndx) (Subsect_State)(((pu)->state >> (((ndx) + 1) << 1)) & 0x3) |
| #define | Set_PU_Info_state(pu, ndx, st) |
| #define | PU_Info_symtab_ptr(pu) (LOCAL_SYMTAB_HEADER_TABLE *) PU_Info_subsect_ptr((pu), WT_SYMTAB) |
| #define | PU_Info_tree_ptr(pu) (WN *)PU_Info_subsect_ptr((pu), WT_TREE) |
| #define | PU_Info_depgraph_ptr(pu) (void *)PU_Info_subsect_ptr((pu), WT_DEPGRAPH) |
| #define | PU_Info_regions_ptr(pu) (struct region_id *)PU_Info_subsect_ptr((pu), WT_REGIONS) |
| #define | PU_Info_feedback_ptr(pu) (void *)PU_Info_subsect_ptr((pu), WT_FEEDBACK) |
| #define | PU_Info_frequencies_ptr(pu) (INT32 *) PU_Info_subsect_ptr((pu), WT_FREQ) |
| #define | PU_Info_alias_class_ptr(pu) (INT32 *) PU_Info_subsect_ptr((pu), WT_ALIAS_CLASS) |
| #define | PU_Info_ac_internal_ptr(pu) (void *) PU_Info_subsect_ptr((pu), WT_AC_INTERNAL) |
| #define | Set_PU_Info_tree_ptr(pu, x) PU_Info_subsect_ptr((pu), WT_TREE) = (void *)(x) |
| #define | Set_PU_Info_symtab_ptr(pu, x) PU_Info_subsect_ptr((pu), WT_SYMTAB) = (void *)(x) |
| #define | Set_PU_Info_depgraph_ptr(pu, x) PU_Info_subsect_ptr((pu), WT_DEPGRAPH) = (void *)(x) |
| #define | Set_PU_Info_regions_ptr(pu, x) PU_Info_subsect_ptr((pu), WT_REGIONS) = (void *)(x) |
| #define | Set_PU_Info_feedback_ptr(pu, x) PU_Info_subsect_ptr((pu), WT_FEEDBACK) = (void *)(x) |
| #define | Set_PU_Info_frequencies_ptr(pu, x) PU_Info_subsect_ptr((pu), WT_FREQ) = (void *) (x) |
| #define | Set_PU_Info_alias_class_ptr(pu, x) PU_Info_subsect_ptr((pu), WT_ALIAS_CLASS) = (void *) (x) |
| #define | Set_PU_Info_ac_internal_ptr(pu, x) PU_Info_subsect_ptr((pu), WT_AC_INTERNAL) = (void *) (x) |
| #define | Set_PU_Info_pu_dst(pu, x) PU_Info_pu_dst(pu) = x; |
| #define | Set_PU_Info_cu_dst(pu, x) PU_Info_cu_dst(pu) = x; |
Typedefs | |
| typedef struct pu_info | PU_Info |
| typedef enum subsect_state | Subsect_State |
Enumerations | |
| enum | subsect_state { Subsect_Missing = 0, Subsect_Exists = 1, Subsect_InMem = 2, Subsect_Written = 3, Subsect_Missing = 0, Subsect_Exists = 1, Subsect_InMem = 2, Subsect_Written = 3 } |
Functions/Subroutines | |
| void | PU_Info_init (PU_Info *pu) |
| INT | Sizeof_PU_Infos (PU_Info *pu_tree) |
| INT | Write_PU_Infos (PU_Info *pu_tree, char *base) |
| PU_Info * | Read_PU_Infos (char *base, INT32 size, INT32 *p_num_PUs) |
| void | Save_Local_Symtab (SYMTAB_IDX level, PU_Info *pu) |
| void | Restore_Local_Symtab (PU_Info *pu) |
Variables | |
| PU_Info * | Current_PU_Info |
| #define PU_Info_state | ( | pu, | |||
| ndx | ) | (Subsect_State)(((pu)->state >> (((ndx) + 1) << 1)) & 0x3) |
| #define PU_Info_symtab_ptr | ( | pu | ) | (LOCAL_SYMTAB_HEADER_TABLE *) PU_Info_subsect_ptr((pu), WT_SYMTAB) |
| #define WT_LAST WT_SUBSECTIONS |
| typedef enum subsect_state Subsect_State |
| enum subsect_state |
Definition at line 76 of file pu_info.cxx.
References DST_INVALID_IDX, NULL, PU_Info_child, PU_Info_cu_dst, PU_Info_flags, PU_Info_maptab, PU_Info_next, PU_Info_proc_id, PU_Info_pu_dst, and pu_info::state.
Referenced by Create_MicroTask(), cwh_pdgcs_pu_mem(), DRA_Add_Clone(), OUTPUT_FUNC_START_PROFILER::Generate_Func_Start_Profiler_PU(), IP_FILE_HDR_Add_New_PU(), IPA_Start_Function(), Read_PU_Infos(), WFE_Assemble_Asm(), WFE_Start_Function(), WGEN_Assemble_Asm(), and WGEN_Start_Function().
Definition at line 258 of file pu_info.cxx.
References addr(), BZERO, INT, INT32, malloc, mINT32, n, NULL, pu, PU_HEADER_VERSION, PU_Info_child, PU_Info_flags, PU_Info_init(), PU_Info_next, PU_Info_proc_id, PU_Info_pu_dst, PU_Info_subsect_offset, PU_Info_subsect_size, Set_PU_Info_state, Subsect_Exists, WT_PROC_SYM, and WT_SUBSECTIONS.
Referenced by WN_get_PU_Infos().
Definition at line 415 of file pu_info.cxx.
References Current_scope, FmtAssert, SAVED_SCOPE::Get_Scope(), PU_Info_proc_sym, PU_Info_state, PU_Info_symtab_ptr, PU_lexical_level, Scope_tab, St_Table, Subsect_InMem, and WT_SYMTAB.
Referenced by DRA_Add_Clone(), and Preprocess_PU().
| void Save_Local_Symtab | ( | SYMTAB_IDX | level, | |
| PU_Info * | pu | |||
| ) |
Definition at line 385 of file pu_info.cxx.
References Current_scope, CURRENT_SYMTAB, CXX_NEW, FmtAssert, MEM_POOL_Alloc, NULL, pool, PU_Info_proc_sym, PU_Info_state, PU_Info_symtab_ptr, PU_lexical_level, Scope_tab, Set_PU_Info_symtab_ptr, St_Table, Subsect_InMem, and WT_SYMTAB.
Referenced by Create_MicroTask(), DRA_Add_Clone(), and OUTPUT_FUNC_START_PROFILER::Generate_Func_Start_Profiler_PU().
Definition at line 92 of file pu_info.cxx.
References INT32, mINT32, number_PU_Infos(), and WT_SUBSECTIONS.
Referenced by ir_size(), and WN_write_PU_Infos().
Definition at line 147 of file pu_info.cxx.
References addr(), INT32, mINT32, PU_HEADER_VERSION, write_PU_fields(), write_PU_subsect_info(), and WT_SUBSECTIONS.
Referenced by WN_write_PU_Infos().
Definition at line 73 of file pu_info.cxx.
Referenced by Allocate_PU_Points_To_Summary(), Backend_Processing(), Build_CG_Dependence_Graph(), Change_ST_Of_Current_PU(), Copy_Non_MP_Tree(), Create_Func_DST(), Create_Local_Symbol(), Create_MicroTask(), EMITTER::Emit(), Formal_Position(), Gen_MP_SingleProcess_Region(), Get_MP_accessed_id_list(), Get_points_to_summary(), Inliner_Read_PUs(), IPA_NODE_CONTEXT::IPA_NODE_CONTEXT(), LNO_Processing(), Localize_Variable(), lower_bit_field_id(), lower_mp(), LowerMP_PU_Init(), main(), Pre_Optimizer(), Preprocess_PU(), Process_Parallel_Do(), Process_Parallel_Region(), Process_PDO(), process_pu(), read_pu(), Rename_Privatized_COMMON(), OPT_STAB::Summarize_points_to(), This_preopt_renumbers_pregs(), Translate_Label(), Walk_and_Localize(), WN_Rename_Duplicate_Labels(), write_pu(), and IPA_NODE_CONTEXT::~IPA_NODE_CONTEXT().
1.5.6