osprey/be/cg/annotations.h File Reference

#include "mempool.h"
#include "srcpos.h"
#include "symtab.h"
#include "register.h"

Include dependency graph for annotations.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Types

type  annotation
type  loopinfo
type  entryinfo
type  exitinfo
type  callinfo
type  ROTATING_KERNEL_INFO
type  ASM_OP_ANNOT

Defines

#define ANNOT_next(a)   ((a)->next)
#define ANNOT_info(a)   ((a)->info)
#define ANNOT_kind(a)   ((a)->kind)
#define ANNOT_label(a)   ((LABEL_IDX)(INTPTR)ANNOT_info(a))
#define ANNOT_pragma(a)   ((WN *)ANNOT_info(a))
#define ANNOT_entryinfo(a)   ((ENTRYINFO *)ANNOT_info(a))
#define ANNOT_exitinfo(a)   ((EXITINFO *)ANNOT_info(a))
#define ANNOT_callinfo(a)   ((CALLINFO *)ANNOT_info(a))
#define ANNOT_note(a)   ((NOTE *)ANNOT_info(a))
#define ANNOT_loopinfo(a)   ((LOOPINFO *)ANNOT_info(a))
#define ANNOT_switch(a)   ((ST *)ANNOT_info(a))
#define ANNOT_rotating_kernel(a)   ((ROTATING_KERNEL_INFO*)ANNOT_info(a))
#define ANNOT_asminfo(a)   ((ASMINFO *)ANNOT_info(a))
#define LOOPINFO_wn(x)   ((x)->wn)
#define LOOPINFO_srcpos(x)   ((x)->srcpos)
#define LOOPINFO_line(x)   (Srcpos_To_Line(LOOPINFO_srcpos(x)))
#define LOOPINFO_trip_count_tn(x)   ((x)->trip_count_tn)
#define ENTRYINFO_name(x)   ((x)->name)
#define ENTRYINFO_sp_adj(x)   ((x)->sp_adj)
#define ENTRYINFO_entry_wn(x)   ((x)->entry_wn)
#define ENTRYINFO_srcpos(x)   ((x)->srcpos)
#define EXITINFO_sp_adj(x)   ((x)->sp_adj)
#define EXITINFO_srcpos(x)   ((x)->srcpos)
#define CALLINFO_call_st(x)   ((x)->call_st)
#define CALLINFO_call_wn(x)   ((x)->call_wn)
#define ROTATING_KERNEL_INFO_succeeded(x)   ((x)->succeeded)
#define ROTATING_KERNEL_INFO_failure_code(x)   ((x)->failure_code)
#define ROTATING_KERNEL_INFO_live_in(x)   ((x)->live_in)
#define ROTATING_KERNEL_INFO_kill(x)   ((x)->kill)
#define ROTATING_KERNEL_INFO_ii(x)   ((x)->ii)
#define ROTATING_KERNEL_INFO_stage_count(x)   ((x)->stage_count)
#define ROTATING_KERNEL_INFO_min_ii(x)   ((x)->min_ii)
#define ROTATING_KERNEL_INFO_res_min_ii(x)   ((x)->res_min_ii)
#define ROTATING_KERNEL_INFO_rec_min_ii(x)   ((x)->rec_min_ii)
#define ROTATING_KERNEL_INFO_sched_len(x)   ((x)->sched_len)
#define ROTATING_KERNEL_INFO_min_sched_len(x)   ((x)->min_sched_len)
#define ROTATING_KERNEL_INFO_res_counts(x)   ((x)->res_counts)
#define ROTATING_KERNEL_INFO_copyin(x)   ((x)->copyin)
#define ROTATING_KERNEL_INFO_copyout(x)   ((x)->copyout)
#define ROTATING_KERNEL_INFO_localdef(x)   ((x)->localdef)
#define ANNOT_First(list, kind)   (ANNOT_Get (list, kind))
#define ANNOT_Next(list, kind)   (ANNOT_Get (ANNOT_next(list), kind))
#define ASM_OP_size   50
#define ASM_OP_wn(x)   ((x)->wn)
#define ASM_OP_clobber_set(x)   ((x)->clobber_set)
#define ASM_OP_result_constraint(x)   ((x)->result_constraint)
#define ASM_OP_result_subclass(x)   ((x)->result_subclass)
#define ASM_OP_result_position(x)   ((x)->result_position)
#define ASM_OP_result_clobber(x)   ((x)->result_clobber)
#define ASM_OP_result_memory(x)   ((x)->result_memory)
#define ASM_OP_opnd_constraint(x)   ((x)->opnd_constraint)
#define ASM_OP_opnd_subclass(x)   ((x)->opnd_subclass)
#define ASM_OP_opnd_position(x)   ((x)->opnd_position)
#define ASM_OP_opnd_memory(x)   ((x)->opnd_memory)

Typedefs

typedef struct annotation ANNOTATION
typedef struct loopinfo LOOPINFO
typedef struct entryinfo ENTRYINFO
typedef struct exitinfo EXITINFO
typedef struct callinfo CALLINFO

Enumerations

enum  ANNOTATION_KIND {
  ANNOT_LABEL = 0, ANNOT_PRAGMA = 1, ANNOT_ENTRYINFO = 2, ANNOT_EXITINFO = 3,
  ANNOT_CALLINFO = 4, ANNOT_NOTE = 5, ANNOT_LOOPINFO = 6, ANNOT_SWITCH = 7,
  ANNOT_ROTATING_KERNEL = 8, ANNOT_ASMINFO = 9
}

Functions/Subroutines

ANNOTATIONANNOT_Add (ANNOTATION *annot_list, ANNOTATION_KIND kind, void *info, MEM_POOL *pool)
ANNOTATIONANNOT_Unlink (ANNOTATION *annot_list, ANNOTATION *this1)
ANNOTATIONANNOT_Get (ANNOTATION *annot_list, ANNOTATION_KIND kind)


Define Documentation

#define ANNOT_asminfo ( a   )     ((ASMINFO *)ANNOT_info(a))

Definition at line 166 of file annotations.h.

Referenced by BB_Transfer_Asminfo().

#define ANNOT_callinfo ( a   )     ((CALLINFO *)ANNOT_info(a))

#define ANNOT_entryinfo ( a   )     ((ENTRYINFO *)ANNOT_info(a))

#define ANNOT_exitinfo ( a   )     ((EXITINFO *)ANNOT_info(a))

#define ANNOT_First ( list,
kind   )     (ANNOT_Get (list, kind))

#define ANNOT_info ( a   )     ((a)->info)

#define ANNOT_kind ( a   )     ((a)->kind)

#define ANNOT_label ( a   )     ((LABEL_IDX)(INTPTR)ANNOT_info(a))

#define ANNOT_loopinfo ( a   )     ((LOOPINFO *)ANNOT_info(a))

#define ANNOT_Next ( list,
kind   )     (ANNOT_Get (ANNOT_next(list), kind))

#define ANNOT_next ( a   )     ((a)->next)

#define ANNOT_note ( a   )     ((NOTE *)ANNOT_info(a))

Definition at line 162 of file annotations.h.

Referenced by NOTE_BB_Act(), and NOTE_Retrieve_Note_For_Handler().

#define ANNOT_pragma ( a   )     ((WN *)ANNOT_info(a))

#define ANNOT_rotating_kernel ( a   )     ((ROTATING_KERNEL_INFO*)ANNOT_info(a))

#define ANNOT_switch ( a   )     ((ST *)ANNOT_info(a))

Definition at line 164 of file annotations.h.

Referenced by Finalize_BB(), and r_assemble_op().

#define ASM_OP_clobber_set (  )     ((x)->clobber_set)

#define ASM_OP_opnd_constraint (  )     ((x)->opnd_constraint)

Definition at line 307 of file annotations.h.

Referenced by Handle_ASM().

#define ASM_OP_opnd_memory (  )     ((x)->opnd_memory)

Definition at line 310 of file annotations.h.

Referenced by Can_OP_Move(), Generate_Asm_String(), and Handle_ASM().

#define ASM_OP_opnd_position (  )     ((x)->opnd_position)

Definition at line 309 of file annotations.h.

Referenced by Generate_Asm_String(), and Handle_ASM().

#define ASM_OP_opnd_subclass (  )     ((x)->opnd_subclass)

#define ASM_OP_result_clobber (  )     ((x)->result_clobber)

Definition at line 305 of file annotations.h.

Referenced by Assign_Registers_For_OP(), and Handle_ASM().

#define ASM_OP_result_constraint (  )     ((x)->result_constraint)

Definition at line 302 of file annotations.h.

Referenced by Handle_ASM().

#define ASM_OP_result_memory (  )     ((x)->result_memory)

Definition at line 306 of file annotations.h.

Referenced by Can_OP_Move(), Generate_Asm_String(), and Handle_ASM().

#define ASM_OP_result_position (  )     ((x)->result_position)

Definition at line 304 of file annotations.h.

Referenced by Generate_Asm_String(), and Handle_ASM().

#define ASM_OP_result_subclass (  )     ((x)->result_subclass)

#define ASM_OP_size   50

Definition at line 277 of file annotations.h.

Referenced by Handle_ASM().

#define ASM_OP_wn (  )     ((x)->wn)

#define CALLINFO_call_st (  )     ((x)->call_st)

#define CALLINFO_call_wn (  )     ((x)->call_wn)

#define ENTRYINFO_entry_wn (  )     ((x)->entry_wn)

Definition at line 190 of file annotations.h.

Referenced by FREQ_Incorporate_Feedback(), and Handle_Entry().

#define ENTRYINFO_name (  )     ((x)->name)

#define ENTRYINFO_sp_adj (  )     ((x)->sp_adj)

#define ENTRYINFO_srcpos (  )     ((x)->srcpos)

Definition at line 191 of file annotations.h.

Referenced by EMT_Assemble_BB(), Generate_Entry(), Handle_Entry(), and Print_BB_Header().

#define EXITINFO_sp_adj (  )     ((x)->sp_adj)

#define EXITINFO_srcpos (  )     ((x)->srcpos)

Definition at line 200 of file annotations.h.

Referenced by Generate_Exit(), Handle_Return(), and Target_Unique_Exit().

#define LOOPINFO_line (  )     (Srcpos_To_Line(LOOPINFO_srcpos(x)))

Definition at line 177 of file annotations.h.

Referenced by Print_LOOPINFO().

#define LOOPINFO_srcpos (  )     ((x)->srcpos)

#define LOOPINFO_trip_count_tn (  )     ((x)->trip_count_tn)

#define LOOPINFO_wn (  )     ((x)->wn)

#define ROTATING_KERNEL_INFO_copyin (  )     ((x)->copyin)

#define ROTATING_KERNEL_INFO_copyout (  )     ((x)->copyout)

#define ROTATING_KERNEL_INFO_failure_code (  )     ((x)->failure_code)

#define ROTATING_KERNEL_INFO_ii (  )     ((x)->ii)

#define ROTATING_KERNEL_INFO_kill (  )     ((x)->kill)

#define ROTATING_KERNEL_INFO_live_in (  )     ((x)->live_in)

#define ROTATING_KERNEL_INFO_localdef (  )     ((x)->localdef)

#define ROTATING_KERNEL_INFO_min_ii (  )     ((x)->min_ii)

#define ROTATING_KERNEL_INFO_min_sched_len (  )     ((x)->min_sched_len)

#define ROTATING_KERNEL_INFO_rec_min_ii (  )     ((x)->rec_min_ii)

#define ROTATING_KERNEL_INFO_res_counts (  )     ((x)->res_counts)

#define ROTATING_KERNEL_INFO_res_min_ii (  )     ((x)->res_min_ii)

#define ROTATING_KERNEL_INFO_sched_len (  )     ((x)->sched_len)

#define ROTATING_KERNEL_INFO_stage_count (  )     ((x)->stage_count)

#define ROTATING_KERNEL_INFO_succeeded (  )     ((x)->succeeded)


Typedef Documentation


Enumeration Type Documentation

Enumerator:
ANNOT_LABEL 
ANNOT_PRAGMA 
ANNOT_ENTRYINFO 
ANNOT_EXITINFO 
ANNOT_CALLINFO 
ANNOT_NOTE 
ANNOT_LOOPINFO 
ANNOT_SWITCH 
ANNOT_ROTATING_KERNEL 
ANNOT_ASMINFO 

Definition at line 129 of file annotations.h.


Function Documentation

ANNOTATION* ANNOT_Add ( ANNOTATION annot_list,
ANNOTATION_KIND  kind,
void info,
MEM_POOL pool 
)

Definition at line 66 of file annotations.cxx.

References ANNOT_info, ANNOT_kind, ANNOT_next, next, NULL, and TYPE_MEM_POOL_ALLOC.

Referenced by BB_Add_Annotation().

ANNOTATION* ANNOT_Get ( ANNOTATION annot_list,
ANNOTATION_KIND  kind 
)

Definition at line 118 of file annotations.cxx.

References ANNOT_kind, ANNOT_next, and NULL.

Referenced by Adjust_Entry(), Adjust_Exit(), Adjust_GP_Entry(), Append_Succ(), BB_Can_Retarget_Branch(), BB_entry_sp_adj_op(), BB_exit_sp_adj_op(), BB_kind(), BB_Loop_Srcpos(), BB_Mark_Unreachable_Blocks(), BB_Retarget_Branch(), BB_Transfer_Asminfo(), BB_Transfer_Callinfo(), BB_Transfer_Entryinfo(), BB_Transfer_Exitinfo(), Build_CFG(), Can_Be_Tail_Call(), Can_Do_Tail_Calls_For_PU(), CGEMIT_Add_Call_Information(), CGEMIT_Prn_Ent_In_Asm(), CGTARG_LOOP_Optimize(), Change_BB_Label(), Check_If_Dedicated_TN_Is_Global(), Convert_Goto_To_Return(), Convert_Regs(), Copy_BB_For_Tail_Duplication(), GBB_MGR::Create(), Create_Stub_BB(), Detect_GTNs(), CG_LOOP::Determine_SWP_Unroll_Factor(), CG_LOOP::Determine_Unroll_Factor(), Emit_KEY_SWP_Note(), Emit_Loop_Note(), Emit_SWP_Note(), EMT_Assemble_BB(), Finalize_BB(), FREQ_Incorporate_Feedback(), KEY_SCH::Gen_PKE(), Generate_Entry(), Generate_Exit(), Generate_Unique_Exit(), GRA_LIVE_Compute_Local_Info(), GRA_LIVE_Init_BB_End(), SCHEDULER::Identify_Actual_Argument_Defs(), KEY_SCH::KEY_SCH(), Live_Init(), LOOP_DESCR_Detect_Loops(), KEY_SCH::Loop_Preconditioning(), Merge_Splitted_PU_Entry_BB(), OP_refs_x87(), KEY_SCH::Peeling_For_Unknown_Trip(), Print_BB(), Print_BB_Header(), r_assemble_list(), r_assemble_op(), Repair_Call_BB(), Scan_Region_BB_For_Referenced_TNs(), Set_BB_entry_sp_adj_op(), Set_BB_exit_sp_adj_op(), KEY_SCH::Summary_BB(), SWP_Fixup(), Target_Unique_Exit(), Unroll_Do_Loop(), Unroll_Do_Loop_Fully(), Unroll_Dowhile_Loop(), Unroll_Make_Remainder_Loop(), unroll_multi_bb(), unroll_multi_make_remainder_loop(), Unroll_Replicate_Body(), and unroll_xfer_annotations().

ANNOTATION* ANNOT_Unlink ( ANNOTATION annot_list,
ANNOTATION this1 
)


Generated on Wed Apr 8 14:25:07 2009 for Open64 by  doxygen 1.5.6