osprey/dipa/rta/pu_info.h File Reference

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

Include dependency graph for pu_info.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_InfoRead_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_InfoCurrent_PU_Info


Define Documentation

#define Clear_PU_Info_flags ( pu,
flag_value   )     (pu)->flags &= ~(flag_value)

Definition at line 182 of file pu_info.h.

#define Is_Set_PU_Info_flags ( pu,
flag_value   )     ((pu)->flags & (flag_value))

Definition at line 183 of file pu_info.h.

#define PU_DELETED   0x10000000

Definition at line 113 of file pu_info.h.

#define PU_HAS_GLOBALS   0x1

Definition at line 98 of file pu_info.h.

#define PU_HAS_NESTED_PU   0x2

Definition at line 100 of file pu_info.h.

#define PU_HEADER_VERSION   1

Definition at line 67 of file pu_info.h.

#define PU_Info_ac_internal_ptr ( pu   )     (void *) PU_Info_subsect_ptr((pu), WT_AC_INTERNAL)

Definition at line 227 of file pu_info.h.

#define PU_Info_alias_class_ptr ( pu   )     (INT32 *) PU_Info_subsect_ptr((pu), WT_ALIAS_CLASS)

Definition at line 225 of file pu_info.h.

#define PU_Info_child ( pu   )     (pu)->child

Definition at line 179 of file pu_info.h.

#define PU_Info_cu_dst ( pu   )     (pu)->cu_dst

Definition at line 176 of file pu_info.h.

#define PU_Info_cu_dst ( pu   )     (pu)->cu_dst

Definition at line 176 of file pu_info.h.

#define PU_Info_depgraph_ptr ( pu   )     (void *)PU_Info_subsect_ptr((pu), WT_DEPGRAPH)

Definition at line 217 of file pu_info.h.

#define PU_Info_feedback_ptr ( pu   )     (void *)PU_Info_subsect_ptr((pu), WT_FEEDBACK)

Definition at line 221 of file pu_info.h.

#define PU_Info_flags ( pu   )     (pu)->flags

Definition at line 173 of file pu_info.h.

#define PU_Info_frequencies_ptr ( pu   )     (INT32 *) PU_Info_subsect_ptr((pu), WT_FREQ)

Definition at line 223 of file pu_info.h.

#define PU_Info_maptab ( pu   )     (pu)->maptab

Definition at line 177 of file pu_info.h.

#define PU_Info_next ( pu   )     (pu)->next

Definition at line 178 of file pu_info.h.

#define PU_Info_proc_id ( pu   )     (pu)->proc_sym

Definition at line 157 of file pu_info.h.

#define PU_Info_proc_sym ( pu   )     (pu)->proc_sym

Definition at line 156 of file pu_info.h.

#define PU_Info_pu_dst ( pu   )     (pu)->pu_dst

Definition at line 174 of file pu_info.h.

#define PU_Info_regions_ptr ( pu   )     (struct region_id *)PU_Info_subsect_ptr((pu), WT_REGIONS)

Definition at line 219 of file pu_info.h.

#define PU_Info_state ( pu,
ndx   )     (Subsect_State)(((pu)->state >> (((ndx) + 1) << 1)) & 0x3)

Definition at line 203 of file pu_info.h.

#define PU_Info_subsect_offset ( pu,
scn   )     (pu)->subsect[scn].offset

Definition at line 170 of file pu_info.h.

#define PU_Info_subsect_ptr ( pu,
scn   )     (pu)->subsect[scn].u.ptr

Definition at line 172 of file pu_info.h.

#define PU_Info_subsect_size ( pu,
scn   )     (pu)->subsect[scn].u.size

Definition at line 171 of file pu_info.h.

#define PU_Info_symtab_ptr ( pu   )     (LOCAL_SYMTAB_HEADER_TABLE *) PU_Info_subsect_ptr((pu), WT_SYMTAB)

Definition at line 213 of file pu_info.h.

#define PU_Info_tree_ptr ( pu   )     (WN *)PU_Info_subsect_ptr((pu), WT_TREE)

Definition at line 215 of file pu_info.h.

#define PU_INTERNAL_MASK   0xf0000000

Definition at line 112 of file pu_info.h.

#define PU_IS_COMPILER_GENERATED   0x4

Definition at line 101 of file pu_info.h.

#define PU_IS_DRA_CLONE   0x8

Definition at line 102 of file pu_info.h.

#define PU_PREGS_RENUMBERED   0x10

Definition at line 103 of file pu_info.h.

#define Set_PU_Info_ac_internal_ptr ( pu,
 )     PU_Info_subsect_ptr((pu), WT_AC_INTERNAL) = (void *) (x)

Definition at line 244 of file pu_info.h.

#define Set_PU_Info_alias_class_ptr ( pu,
 )     PU_Info_subsect_ptr((pu), WT_ALIAS_CLASS) = (void *) (x)

Definition at line 242 of file pu_info.h.

#define Set_PU_Info_cu_dst ( pu,
 )     PU_Info_cu_dst(pu) = x;

Definition at line 249 of file pu_info.h.

#define Set_PU_Info_depgraph_ptr ( pu,
 )     PU_Info_subsect_ptr((pu), WT_DEPGRAPH) = (void *)(x)

Definition at line 234 of file pu_info.h.

#define Set_PU_Info_feedback_ptr ( pu,
 )     PU_Info_subsect_ptr((pu), WT_FEEDBACK) = (void *)(x)

Definition at line 238 of file pu_info.h.

#define Set_PU_Info_flags ( pu,
flag_value   )     (pu)->flags |= (flag_value)

Definition at line 181 of file pu_info.h.

#define Set_PU_Info_frequencies_ptr ( pu,
 )     PU_Info_subsect_ptr((pu), WT_FREQ) = (void *) (x)

Definition at line 240 of file pu_info.h.

#define Set_PU_Info_pu_dst ( pu,
 )     PU_Info_pu_dst(pu) = x;

Definition at line 247 of file pu_info.h.

#define Set_PU_Info_regions_ptr ( pu,
 )     PU_Info_subsect_ptr((pu), WT_REGIONS) = (void *)(x)

Definition at line 236 of file pu_info.h.

#define Set_PU_Info_state ( pu,
ndx,
st   ) 

Value:

(pu)->state = (pu)->state & \
    ~(0x3 << (((ndx) + 1) << 1)) | (st << (((ndx) + 1) << 1))

Definition at line 205 of file pu_info.h.

#define Set_PU_Info_symtab_ptr ( pu,
 )     PU_Info_subsect_ptr((pu), WT_SYMTAB) = (void *)(x)

Definition at line 232 of file pu_info.h.

#define Set_PU_Info_tree_ptr ( pu,
 )     PU_Info_subsect_ptr((pu), WT_TREE) = (void *)(x)

Definition at line 230 of file pu_info.h.

#define WT_AC_INTERNAL   0x7

Definition at line 88 of file pu_info.h.

#define WT_ALIAS_CLASS   0x8

Definition at line 89 of file pu_info.h.

#define WT_DEPGRAPH   0x2

Definition at line 83 of file pu_info.h.

#define WT_FEEDBACK   0x5

Definition at line 86 of file pu_info.h.

#define WT_FREQ   0x6

Definition at line 87 of file pu_info.h.

#define WT_LAST   WT_SUBSECTIONS

Definition at line 92 of file pu_info.h.

Referenced by Print_whirl_pu_from_bits().

#define WT_PREFETCH   0x3

Definition at line 84 of file pu_info.h.

#define WT_PROC_SYM   -1

Definition at line 93 of file pu_info.h.

#define WT_REGIONS   0x4

Definition at line 85 of file pu_info.h.

#define WT_SUBSECTIONS   0x9

Definition at line 91 of file pu_info.h.

#define WT_SYMTAB   0x0

Definition at line 81 of file pu_info.h.

#define WT_TREE   0x1

Definition at line 82 of file pu_info.h.


Typedef Documentation


Enumeration Type Documentation

Enumerator:
Subsect_Missing 
Subsect_Exists 
Subsect_InMem 
Subsect_Written 
Subsect_Missing 
Subsect_Exists 
Subsect_InMem 
Subsect_Written 

Definition at line 196 of file pu_info.h.


Function Documentation

void PU_Info_init ( PU_Info pu  ) 

PU_Info* Read_PU_Infos ( char *  base,
INT32  size,
INT32 p_num_PUs 
)

void Restore_Local_Symtab ( PU_Info pu  ) 

void Save_Local_Symtab ( SYMTAB_IDX  level,
PU_Info pu 
)

INT Sizeof_PU_Infos ( PU_Info pu_tree  ) 

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().

INT Write_PU_Infos ( PU_Info pu_tree,
char *  base 
)


Variable Documentation


Generated on Wed Apr 8 14:39:58 2009 for Open64 by  doxygen 1.5.6