Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
tracing.h File Reference
#include "defs.h"
Include dependency graph for tracing.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define TKIND_INFO   -1 /* Specify an information option */
#define TKIND_DEBUG   -2 /* Specify a debug option */
#define TKIND_IR   -3 /* Trace IR for the given pass */
#define TKIND_SYMTAB   -4 /* Trace symbol table for given pass */
#define TKIND_TN   -5 /* Trace TNs for given pass */
#define TKIND_BB   -6 /* Specify a BB number for tracing */
#define TKIND_XPHASE   -7 /* Specify final execution phase */
#define TKIND_CTRL   -8 /* Specify a control option */
#define TKIND_ALLOC   -9 /* Trace memory allocation */
#define TKIND_MIN   -10 /* Smallest valid function number */
#define TINFO_TIME   1 /* Timing/resource information */
#define TINFO_CTIME   2 /* Compilation-only timing information */
#define TINFO_STATS   8 /* Code size statistics */
#define TINFO_SOURCE   32 /* Source line printing alongside IR dumps */
#define TINFO_TFLAGS   64 /* Print available trace options */
#define TINFO_PREFIXDUMP   128 /* Dump WHIRL trees in prefix order */
#define TP_MIN   1 /* Smallest valid phase number */
#define TP_PTRACE1   1 /* Performance tracing */
#define TP_PTRACE2   2 /* Performance tracing */
#define TP_MISC   3 /* Miscellaneous */
#define TP_SEMANTICS   8 /* Semantic analyzer */
#define TP_IRB   10 /* IR (WHIRL) builder */
#define TP_IR_READ   11 /* IR (WHIRL) reader/writer */
#define TP_WHIRL2FC   12 /* WHIRL to Fortran/C */
#define TP_WHIRLSIMP   13 /* WHIRL simplifier */
#define TP_REGION   14 /* REGION related stuff */
#define TP_ORI   15 /* Olimit Region Insertion phase */
#define TP_FEEDBACK   16 /* Decorating WHIRL/CFG with feedback */
#define TP_INLINE   17 /* Inliner */
#define TP_IPL   18 /* IPA local (summary) phase */
#define TP_IPA   19 /* IPA main analysis phase */
#define TP_IPO   20 /* IPA main optimization phase */
#define TP_IPM   21 /* IPA miscellaneous */
#define TP_ALIAS   24 /* Alias/mod/ref analysis */
#define TP_WOPT1   25 /* Global optimization */
#define TP_WOPT2   26 /* More global optimization */
#define TP_WOPT3   27 /* Even more global optimization */
#define TP_GLOBOPT   TP_WOPT1
#define TP_VECDD   30 /* Vector data dependency analysis */
#define TP_LNOPT   31 /* Loop Nest Optimization */
#define TP_LNOPT2   32 /* More Loop Nest Optimization */
#define TP_LNOPT3   33 /* Even more Loop Nest Optimization */
#define TP_VHO_LOWER   36 /* VHO lowering */
#define TP_LOWER   37 /* WHIRL lowering */
#define TP_LOWER90   38 /* F90 Lowering */
#define TP_DATALAYOUT   39 /* Data layout */
#define TP_CG   40 /* Code generator miscellaneous */
#define TP_CGEXP   41 /* Code generator expansion */
#define TP_LOCALIZE   42 /* Localize TNs */
#define TP_FIND_GLOB   43 /* Find global register live ranges */
#define TP_EBO   44 /* Extended Block Optimizer */
#define TP_CGPREP   45 /* Code generator scheduling prep */
#define TP_FLOWOPT   47 /* Control flow optimization */
#define TP_GCM   48 /* Global code motion */
#define TP_CGLOOP   49 /* Code generator loop optimization */
#define TP_SWPIPE   50 /* Software pipelining */
#define TP_SRA   51 /* SWP register allocation */
#define TP_SCHED   52 /* Scheduling */
#define TP_GRA   53 /* Global register allocation */
#define TP_ALLOC   54 /* Local register allocation */
#define TP_PSGCM   55 /* Post Schedule Global code motion */
#define TP_EMIT   56 /* Code emission */
#define TP_HBF   57 /* Hyperblock formation */
#define TP_PQS   58 /* Predicate query system */
#define TP_THR   59 /* Tree-Height reduction */
#define TP_TEMP   60 /* Temporary use */
#define TP_LAST   60 /* Largest valid phase number */
#define TP_COUNT   61 /* Number of valid phase numbers */
#define TP_PTRACE1_ALL   0x001 /* get all performance tracing */
#define TP_PTRACE1_INL   0x002 /* get INLiner performance tracing */
#define TP_PTRACE1_IPA   0x004 /* get IPA performance tracing */
#define TP_PTRACE1_LNO   0x008 /* get LNO performance tracing */
#define TP_PTRACE1_OPT   0x010 /* get OPT performance tracing */
#define TP_PTRACE1_CG   0x020 /* get CG performance tracing */
#define TP_PTRACE1_IPALNO   0x040 /* get IPA performance tracing */
#define TP_PTRACE1_IPA_CPROP   0x080 /* get IPA cprop tracing */
#define TP_PTRACE1_CALLINFO   0x100 /* get LNO call info tracing */
#define TP_PTRACE1_PARALLEL   0x200 /* get LNO parallel tracing */
#define TP_PTRACE1_NOHDR   0x400 /* suppress printing tlog header */
#define TFile   Get_Trace_File()

Functions

INT32 Get_Trace_Phase_Number (char **cp, char *arg)
void List_Phase_Numbers (void)
void Set_Trace (INT func, INT arg)
void Set_Trace_Pu (char *name)
void Set_Trace_Pu_Number (INT number)
void Set_Current_PU_For_Trace (char *name, INT number)
void Set_Trace_Region_Number (INT number)
void Set_Current_Region_For_Trace (INT number)
BOOL Get_Trace (INT func, INT arg)
BOOL Get_BB_Trace (INT bb_id)
BOOL Stop_Execution (INT phase)
FILE * Get_Trace_File (void)
void Set_Trace_File (char *filename)
void Set_Trace_File_internal (FILE *)
void Nest_Indent (FILE *file)
INT Get_Current_Phase_Number (void)
void Set_Current_Phase_Number (INT)

Variables

char * SBar
char * DBar
char * Sharps

Define Documentation

#define TFile   Get_Trace_File()

Definition at line 322 of file tracing.h.

Referenced by CFG_NODE_INFO::Add_array_param(), LOOPINFO::Add_bound(), CFG_NODE_INFO::Add_def_array(), CFG_NODE_INFO::Add_may_def_array(), Add_Object_To_Frame_Segment(), ID_MAP< NODE_TYPE, KEY_TYPE >::Add_to_free_list(), Adjust_Opt_Level(), ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_from_free_list(), ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_table_space(), Allocate_Block(), Allocate_Space(), Assign_Object_To_Frame_Segment(), Assign_Object_To_Section(), Build_Skiplist(), Calc_Actual_Area(), Calc_Local_Area(), Calculate_Stack_Frame_Sizes(), ID_MAP< NODE_TYPE, KEY_TYPE >::Check(), Check_for_IR_Dump(), PROJECTED_REGION::Compare(), Configure_Source(), cwh_stats_print(), cwh_stats_print_details(), Do_WOPT_and_CG_with_Regions(), Em_Dwarf_Symbolic_Relocs_To_Elf(), ID_MAP< NODE_TYPE, KEY_TYPE >::Enlarge(), Finalize_Stack_Frame(), Formal_Sym(), Hash_TCON(), Init_Controls_Tbl(), Initialize_Stack_Frame(), ID_MAP< NODE_TYPE, KEY_TYPE >::Insert(), Ipl_Processing(), LNO_Processing(), main(), MEM_POOL_Pop_P(), MEM_POOL_Report(), MEM_Trace(), OPTIONS_STACK::OPTIONS_STACK(), PDGCS_do_proc(), PDGCS_initialize(), PDGCS_terminate(), OPTIONS_STACK::Pop_Current_Options(), Post_Process_Backend(), Prepare_Source(), Preprocess_PU(), LINEX::Print(), Print_INITO(), Print_INITV(), Print_PU_Stats(), Print_Total_Stats(), OPTIONS_STACK::Process_Pragma_Options(), PROJECTED_KERNEL::Project(), OPTIONS_STACK::Push_Current_Options(), Rail(), ID_MAP< NODE_TYPE, KEY_TYPE >::Remove_from_free_list(), Save_or_restore_options(), Set_Error_Phase(), PROJECTED_NODE::Set_linex_eq(), PROJECTED_NODE::Set_linex_le(), PROJECTED_REGION::Set_region(), sgi_cmd_line(), Shorten_Section(), St_Block_Union(), OPTIONS_STACK::str2argv(), Trace_Memory_Allocation(), Trace_Stack_Segments(), WOPT_Processing(), and ID_MAP< NODE_TYPE, KEY_TYPE >::~ID_MAP().

#define TINFO_CTIME   2 /* Compilation-only timing information */

Definition at line 148 of file tracing.h.

Referenced by Finish_BE_Timing(), Prepare_Source(), and Report_CG_Region_Timing().

#define TINFO_PREFIXDUMP   128 /* Dump WHIRL trees in prefix order */

Definition at line 152 of file tracing.h.

Referenced by Configure().

#define TINFO_SOURCE   32 /* Source line printing alongside IR dumps */

Definition at line 150 of file tracing.h.

Referenced by Gen_File_Table().

#define TINFO_STATS   8 /* Code size statistics */
#define TINFO_TFLAGS   64 /* Print available trace options */

Definition at line 151 of file tracing.h.

Referenced by Process_Command_Line().

#define TINFO_TIME   1 /* Timing/resource information */

Definition at line 147 of file tracing.h.

Referenced by Prepare_Source().

#define TKIND_ALLOC   -9 /* Trace memory allocation */
#define TKIND_BB   -6 /* Specify a BB number for tracing */

Definition at line 140 of file tracing.h.

Referenced by Get_Trace(), Process_Trace_Option(), and Set_Trace().

#define TKIND_CTRL   -8 /* Specify a control option */

Definition at line 142 of file tracing.h.

Referenced by Get_Trace(), Process_Trace_Option(), and Set_Trace().

#define TKIND_DEBUG   -2 /* Specify a debug option */

Definition at line 136 of file tracing.h.

Referenced by Get_Trace(), Process_Trace_Option(), and Set_Trace().

#define TKIND_IR   -3 /* Trace IR for the given pass */
#define TKIND_MIN   -10 /* Smallest valid function number */

Definition at line 144 of file tracing.h.

Referenced by Set_Trace().

#define TKIND_SYMTAB   -4 /* Trace symbol table for given pass */
#define TKIND_TN   -5 /* Trace TNs for given pass */

Definition at line 139 of file tracing.h.

Referenced by Get_Trace(), Process_Trace_Option(), and Set_Trace().

#define TKIND_XPHASE   -7 /* Specify final execution phase */

Definition at line 141 of file tracing.h.

Referenced by Get_Trace(), Process_Trace_Option(), and Set_Trace().

#define TP_ALIAS   24 /* Alias/mod/ref analysis */

Definition at line 186 of file tracing.h.

Referenced by Set_Error_Phase().

#define TP_ALLOC   54 /* Local register allocation */

Definition at line 217 of file tracing.h.

#define TP_CG   40 /* Code generator miscellaneous */

Definition at line 204 of file tracing.h.

#define TP_CGEXP   41 /* Code generator expansion */

Definition at line 205 of file tracing.h.

Referenced by Set_Error_Phase().

#define TP_CGLOOP   49 /* Code generator loop optimization */

Definition at line 212 of file tracing.h.

#define TP_CGPREP   45 /* Code generator scheduling prep */

Definition at line 209 of file tracing.h.

#define TP_COUNT   61 /* Number of valid phase numbers */

Definition at line 230 of file tracing.h.

Referenced by Get_Trace_Phase_Number(), and List_Phase_Numbers().

#define TP_DATALAYOUT   39 /* Data layout */

Definition at line 203 of file tracing.h.

Referenced by Allocate_File_Statics(), Initialize_Stack_Frame(), and St_Block_Union().

#define TP_EBO   44 /* Extended Block Optimizer */

Definition at line 208 of file tracing.h.

#define TP_EMIT   56 /* Code emission */

Definition at line 219 of file tracing.h.

Referenced by Set_Error_Phase().

#define TP_FEEDBACK   16 /* Decorating WHIRL/CFG with feedback */

Definition at line 176 of file tracing.h.

#define TP_FIND_GLOB   43 /* Find global register live ranges */

Definition at line 207 of file tracing.h.

Referenced by Set_Error_Phase().

#define TP_FLOWOPT   47 /* Control flow optimization */

Definition at line 210 of file tracing.h.

Referenced by Configure_Source(), and Set_Error_Phase().

#define TP_GCM   48 /* Global code motion */

Definition at line 211 of file tracing.h.

Referenced by Set_Error_Phase().

#define TP_GLOBOPT   TP_WOPT1

Definition at line 190 of file tracing.h.

Referenced by Configure_Source(), LNO_Processing(), Set_Error_Phase(), and WOPT_Processing().

#define TP_GRA   53 /* Global register allocation */

Definition at line 216 of file tracing.h.

Referenced by Set_Error_Phase().

#define TP_HBF   57 /* Hyperblock formation */

Definition at line 220 of file tracing.h.

Referenced by Set_Error_Phase().

#define TP_INLINE   17 /* Inliner */

Definition at line 179 of file tracing.h.

#define TP_IPM   21 /* IPA miscellaneous */

Definition at line 183 of file tracing.h.

#define TP_IPO   20 /* IPA main optimization phase */

Definition at line 182 of file tracing.h.

#define TP_IR_READ   11 /* IR (WHIRL) reader/writer */

Definition at line 171 of file tracing.h.

Referenced by Preprocess_PU(), and Set_Error_Phase().

#define TP_IRB   10 /* IR (WHIRL) builder */

Definition at line 168 of file tracing.h.

Referenced by PDGCS_do_proc(), PDGCS_initialize(), PDGCS_terminate(), and sgi_cmd_line().

#define TP_LAST   60 /* Largest valid phase number */

Definition at line 229 of file tracing.h.

Referenced by Get_Trace_Phase_Number(), and Set_Trace().

#define TP_LNOPT   31 /* Loop Nest Optimization */

Definition at line 194 of file tracing.h.

Referenced by LNO_Configure(), and LNO_Processing().

#define TP_LNOPT2   32 /* More Loop Nest Optimization */

Definition at line 195 of file tracing.h.

#define TP_LNOPT3   33 /* Even more Loop Nest Optimization */

Definition at line 196 of file tracing.h.

#define TP_LOCALIZE   42 /* Localize TNs */

Definition at line 206 of file tracing.h.

#define TP_LOWER   37 /* WHIRL lowering */

Definition at line 199 of file tracing.h.

#define TP_LOWER90   38 /* F90 Lowering */

Definition at line 200 of file tracing.h.

#define TP_MIN   1 /* Smallest valid phase number */

Definition at line 158 of file tracing.h.

Referenced by Get_Trace_Phase_Number(), and Set_Trace().

#define TP_ORI   15 /* Olimit Region Insertion phase */

Definition at line 175 of file tracing.h.

#define TP_PQS   58 /* Predicate query system */

Definition at line 221 of file tracing.h.

#define TP_PSGCM   55 /* Post Schedule Global code motion */

Definition at line 218 of file tracing.h.

#define TP_PTRACE1   1 /* Performance tracing */

Definition at line 162 of file tracing.h.

Referenced by Print_Tlog_Header(), and Process_Command_Line().

#define TP_PTRACE1_ALL   0x001 /* get all performance tracing */

Definition at line 242 of file tracing.h.

Referenced by Process_Command_Line().

#define TP_PTRACE1_CALLINFO   0x100 /* get LNO call info tracing */

Definition at line 250 of file tracing.h.

#define TP_PTRACE1_CG   0x020 /* get CG performance tracing */

Definition at line 247 of file tracing.h.

#define TP_PTRACE1_INL   0x002 /* get INLiner performance tracing */

Definition at line 243 of file tracing.h.

#define TP_PTRACE1_IPA   0x004 /* get IPA performance tracing */

Definition at line 244 of file tracing.h.

#define TP_PTRACE1_IPA_CPROP   0x080 /* get IPA cprop tracing */

Definition at line 249 of file tracing.h.

#define TP_PTRACE1_IPALNO   0x040 /* get IPA performance tracing */

Definition at line 248 of file tracing.h.

#define TP_PTRACE1_LNO   0x008 /* get LNO performance tracing */

Definition at line 245 of file tracing.h.

#define TP_PTRACE1_NOHDR   0x400 /* suppress printing tlog header */

Definition at line 252 of file tracing.h.

Referenced by Print_Tlog_Header().

#define TP_PTRACE1_OPT   0x010 /* get OPT performance tracing */

Definition at line 246 of file tracing.h.

#define TP_PTRACE1_PARALLEL   0x200 /* get LNO parallel tracing */

Definition at line 251 of file tracing.h.

#define TP_PTRACE2   2 /* Performance tracing */

Definition at line 163 of file tracing.h.

Referenced by Process_Command_Line().

#define TP_REGION   14 /* REGION related stuff */
#define TP_SCHED   52 /* Scheduling */

Definition at line 215 of file tracing.h.

#define TP_SEMANTICS   8 /* Semantic analyzer */

Definition at line 167 of file tracing.h.

#define TP_SRA   51 /* SWP register allocation */

Definition at line 214 of file tracing.h.

#define TP_SWPIPE   50 /* Software pipelining */

Definition at line 213 of file tracing.h.

Referenced by Set_Error_Phase().

#define TP_TEMP   60 /* Temporary use */

Definition at line 224 of file tracing.h.

#define TP_THR   59 /* Tree-Height reduction */

Definition at line 222 of file tracing.h.

Referenced by Set_Error_Phase().

#define TP_VECDD   30 /* Vector data dependency analysis */

Definition at line 193 of file tracing.h.

#define TP_VHO_LOWER   36 /* VHO lowering */

Definition at line 198 of file tracing.h.

#define TP_WHIRL2FC   12 /* WHIRL to Fortran/C */

Definition at line 172 of file tracing.h.

#define TP_WHIRLSIMP   13 /* WHIRL simplifier */

Definition at line 173 of file tracing.h.

Referenced by main(), and SIMPNODE_Simplify_Initialize().

#define TP_WOPT1   25 /* Global optimization */

Definition at line 187 of file tracing.h.

Referenced by Set_Error_Phase().

#define TP_WOPT2   26 /* More global optimization */

Definition at line 188 of file tracing.h.

#define TP_WOPT3   27 /* Even more global optimization */

Definition at line 189 of file tracing.h.


Function Documentation

Definition at line 1258 of file errors.cxx.

References Current_Phase_Number.

FILE* Get_Trace_File ( void  )

Definition at line 649 of file tracing.c.

References NULL, and TFile_internal.

Referenced by dump_INITO_idx(), dump_INITV_idx(), List_Phase_Numbers(), and Print_INITVs().

INT32 Get_Trace_Phase_Number ( char **  cp,
char *  arg 
)

Definition at line 226 of file tracing.c.

References EC_Trace_Phase, ErrMsg(), Get_Numeric_Flag(), PD_id, PD_num, Phases, TP_COUNT, TP_LAST, and TP_MIN.

Referenced by Process_Trace_Option().

Here is the call graph for this function:

void List_Phase_Numbers ( void  )

Definition at line 260 of file tracing.c.

References fprintf(), Get_Trace_File(), PD_id, PD_name, PD_num, Phases, TP_COUNT, and TP_Mask.

Referenced by Process_Command_Line().

Here is the call graph for this function:

void Nest_Indent ( FILE *  file)

Definition at line 1252 of file errors.cxx.

References Current_Phase_Number.

Referenced by Set_Error_Phase().

void Set_Current_PU_For_Trace ( char *  name,
INT  number 
)

Definition at line 392 of file tracing.c.

References Current_PU_Name, Current_PU_Number, name, RID_CREATE_NEW_ID, and Set_Current_Region_For_Trace().

Referenced by Preprocess_PU().

Here is the call graph for this function:

Definition at line 401 of file tracing.c.

References Current_Region_Number.

Referenced by Do_WOPT_and_CG_with_Regions(), and Set_Current_PU_For_Trace().

void Set_Trace_File ( char *  filename)

Definition at line 614 of file tracing.c.

References EC_Trace_Open, ErrMsg(), errno, FALSE, Non_stdout_TFile, NULL, Set_Error_Trace(), TFile_internal, TFile_Name, and TRUE.

Referenced by Cleanup_Files(), and Prepare_Source().

Here is the call graph for this function:

void Set_Trace_File_internal ( FILE *  )

Definition at line 644 of file tracing.c.

References TFile_internal.

Referenced by dump_INITO_idx(), dump_INITV_idx(), PDGCS_initialize(), and Print_INITVs().

void Set_Trace_Pu ( char *  name)

Definition at line 416 of file tracing.c.

References EC_Trace_PUs, ErrMsg(), name, PU_Cnt, PU_COUNT, and PU_Enable.

Referenced by Process_Trace_Option().

Here is the call graph for this function:

void Set_Trace_Pu_Number ( INT  number)

Definition at line 428 of file tracing.c.

References EC_Trace_PUs, ErrMsg(), PU_COUNT, PU_NCnt, and PU_Num_Enable.

Referenced by Process_Trace_Option().

Here is the call graph for this function:

void Set_Trace_Region_Number ( INT  number)

Definition at line 448 of file tracing.c.

References EC_Trace_REGIONs, ErrMsg(), REGION_COUNT, REGION_NCnt, and Region_Num_Enable.

Referenced by Process_Trace_Option().

Here is the call graph for this function:

BOOL Stop_Execution ( INT  phase)

Definition at line 595 of file tracing.c.

References Xstop_Phase.


Variable Documentation

char* SBar

Definition at line 64 of file tracing.c.

char* Sharps

Definition at line 68 of file tracing.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines