
Go to the source code of this file.
Defines | |
| #define | WBC_MIN 0 |
| #define | WBC_DISABLE 0 |
| #define | WBC_DU_ONLY 1 |
| #define | WBC_DU_AND_ARRAY 2 |
| #define | WBC_FULL_SNL 3 |
| #define | WBC_MAX 3 |
Functions/Subroutines | |
| void | WB_LNO_Initialize (WN *global_fd, struct DU_MANAGER *du_mgr, struct ALIAS_MANAGER *alias_mgr, INT sanity_check_level) |
| void | WB_LNO_Terminate (void) |
| void | WB_Set_Sanity_Check_Level (INT sanity_check_level) |
| const char * | WB_Whirl_Symbol (WN *wn) |
| const char * | WB_Whirl_Symbol_Type (WN *wn) |
| void | Lisp_Loops (WN *wn_root, FILE *fp) |
| BOOL | WB_Dep_Symbol (WN *wn, char buffer[], INT max_string) |
| #define WBC_DISABLE 0 |
Definition at line 85 of file debug.h.
Referenced by Lisp_Loops_Traverse(), Lnoptimizer(), Perform_Loop_Nest_Optimization(), WB_check(), and WBT_DOLOOP_STACK().
| #define WBC_DU_AND_ARRAY 2 |
Definition at line 87 of file debug.h.
Referenced by Build_Array_Dependence_Graph(), and WB_check().
| #define WBC_DU_ONLY 1 |
| #define WBC_FULL_SNL 3 |
| #define WBC_MAX 3 |
| #define WBC_MIN 0 |
Description:
This file contains information about the Whirl Browser, which can be used to interactively debug programs while running the LNO Phase.
To invoke the whirl browser from dbx, type "p debug()". You can get a list of available options by typing 'H' at the prompt "WB>".
Exported functions:
void WB_OMP_Initialize(WN* global_fd, INT sanity_check_level)
Initializes the whirl browser to operated on the program unit 'global_fd' and sets the 'sanity_check_level'.
void WB_OMP_Terminate();
Makes the whirl browser inoperative.
void WB_Set_Sanity_Check_Level(INT sanity_check_level)
Set the sanity check level to value 'sanity_check_level'. The following are valid values: WBC_DISABLE => Disable sanity checking WBC_DU_ONLY => Do DU sanity checking only WBC_DU_AND_ARRAY => Check DU and array dependences WBC_FULL_SNL => Do Full SNL sanity checking Sanity checking is invoked by using the 'C' command.
const char* WB_Whirl_Symbol(WN* wn, BOOL print_type=FALSE)
A printable string of characters for whirl node 'wn'. For loads and stores, the symbol is printed, if any. For do loops, the symbol of the do loop is printed.
extern BOOL WB_Dep_Symbol(WN* wn, char buffer[], INT max_string)
Write an abbreviated version of node 'wn' to the first 'max_string' characters of 'buffer'.
Definition at line 84 of file debug.h.
Referenced by WB_Set_Sanity_Check_Level().
Definition at line 3034 of file debug.cxx.
References fflush(), fprintf(), and Lisp_Loops_Traverse().
Referenced by Lnoptimizer(), and WB_lisp_loops().
Definition at line 1205 of file debug.cxx.
References cc, compact_buffer(), dump_whirl_expr(), FALSE, FmtAssert, INT, NULL, OPR_CALL, OPR_ICALL, OPR_ILOAD, OPR_INTRINSIC_CALL, OPR_ISTORE, OPR_PICCALL, sprintf(), strlen(), TRUE, WN_kid0(), WN_kid1(), and WN_operator().
Referenced by dump_reductions(), DV_DEPS_CALLBACK::Edge_Select(), FS_Array_Substitute(), DV_DEPS_CALLBACK::Node_Select(), WB_defs_loop(), WB_Dep_Symbol(), WB_TXT_deps_loop(), WB_TXT_deps_ref(), WB_uses_loop(), and WB_vertices().
| void WB_LNO_Initialize | ( | WN * | global_fd, | |
| struct DU_MANAGER * | du_mgr, | |||
| struct ALIAS_MANAGER * | alias_mgr, | |||
| INT | sanity_check_level | |||
| ) |
Definition at line 305 of file debug.cxx.
References ASCII_CHAR_COUNT, i, INT, WB_keymap, WB_sanity_check_level, WB_Set_Phase(), and WBP_LNO.
Referenced by Perform_Loop_Nest_Optimization().
Definition at line 325 of file debug.cxx.
References NULL, WB_sanity_check_level, WB_Set_Phase(), and WBP_NONE.
Referenced by Perform_Loop_Nest_Optimization().
Definition at line 338 of file debug.cxx.
References FmtAssert, WB_sanity_check_level, WBC_MAX, and WBC_MIN.
Referenced by Build_Array_Dependence_Graph(), and Lnoptimizer().
| const char* WB_Whirl_Symbol | ( | WN * | wn | ) |
Definition at line 94 of file wb_util.cxx.
References CLASS_PREG, INTRINSIC_name, Last_Dedicated_Preg_Offset, wn_pragma_desc::name, NULL, opc, OPC_DO_LOOP, OPC_PRAGMA, OPC_XPRAGMA, OPCODE_has_sym(), OPCODE_operator(), OPR_INTRINSIC_CALL, Preg_Name(), ST_class, ST_name, WN_index, WN_intrinsic(), WN_offset(), WN_opcode(), WN_pragma(), WN_pragmas, and WN_st().
Referenced by ap_tlog_info(), BS_Substitute(), Check_Suggested_Parallel(), Copy_Array(), Copy_Array_Section(), ARA_LOOP_INFO::Create_New_IF_Clause(), Create_Simple_Shackle_Loops(), ARA_LOOP_INFO::Determine_Peel(), dump_loops(), dump_reductions(), dump_whirl_node(), Dump_Whirl_Node(), find_walk(), WB_BROWSER::Find_Walk(), Forward_Substitute_Ldids(), FS_Array_Substitute(), FS_Substitute(), ARA_LOOP_INFO::Generate_Parallel_Pragma(), HMB_Hoist_Messy_Bounds(), IPA_LNO_Clip_Call_Def_Arcs(), IPA_LNO_Clip_Call_Use_Arcs(), IPA_LNO_Evaluate_Formal_Symbols(), IPA_LNO_Map_Calls(), Lego_Peel_Traverse(), Lego_Skew_Loop(), Lisp_Loops_Traverse(), WB_BROWSER::Loops_Walk(), Mark_Parallelizable_Loop(), CALL_INFO::Print(), Print_Distribution(), Print_Interchange(), ARA_LOOP_INFO::Print_Loop_Property(), Print_Non_Parallel_Loop(), Print_Parallel_Loop(), Print_Prompf_Preopt_Transaction_Log(), Processor_2D_Tile_Loop(), Processor_3D_Tile_Loop(), WB_BROWSER::Reduction_Node(), Remove_Unity_Trip_Loop(), Remove_Zero_Trip_Loop(), RV_Reverse_Loop(), Scalar_Expand(), SNL_Auto_Parallelization(), SNL_Finalize_Loops(), SNL_Parallelization_Costs(), this_node(), WB_BROWSER::This_Node(), Tlog_Lego_Interchange(), CALL_INFO::Tlog_Print(), Trip_Reduce_Loop(), Unify_Loop(), and Walk_Loop_Dependence().
| const char* WB_Whirl_Symbol_Type | ( | WN * | wn | ) |
Definition at line 387 of file debug.cxx.
References CLASS_PREG, Last_Dedicated_Preg_Offset, wn_pragma_desc::name, NULL, opc, OPC_DO_LOOP, OPC_PRAGMA, OPC_XPRAGMA, OPCODE_has_sym(), OPCODE_name(), OPCODE_operator(), Preg_Name(), ST_class, ST_name, WN_index, WN_offset(), WN_opcode(), WN_pragma(), WN_pragmas, and WN_st().
1.5.6