GCC Middle and Back End API Reference
|
Functions | |
static void | switch_dump () |
static void | restore_dump () |
void | sel_print_rtl () |
void | dump_insn_rtx_1 () |
void | dump_insn_rtx () |
DEBUG_FUNCTION void | debug_insn_rtx () |
void | dump_vinsn_1 () |
void | dump_vinsn () |
DEBUG_FUNCTION void | debug () |
DEBUG_FUNCTION void | debug_verbose () |
DEBUG_FUNCTION void | debug_vinsn () |
void | dump_expr_1 () |
void | dump_expr () |
DEBUG_FUNCTION void | debug_expr () |
void | dump_insn_1 () |
void | dump_insn () |
DEBUG_FUNCTION void | debug_insn () |
void | dump_av_set () |
void | dump_lv_set () |
static void | dump_ilist () |
void | dump_blist () |
void | dump_flist () |
void | dump_insn_vector () |
static void | print_hard_reg_set () |
void | dump_hard_reg_set () |
const char * | sel_print_insn () |
static void | replace_str_in_buf () |
static void | sel_prepare_string_for_dot_label () |
void | sel_print () |
static void | sel_dump_cfg_insn () |
static void | sel_dump_cfg_edge () |
static bool | has_preds_in_current_region_p () |
static void | sel_dump_cfg_2 () |
static void | sel_dump_cfg_1 () |
void | setup_dump_cfg_params () |
void | sel_debug_cfg_1 () |
DEBUG_FUNCTION void | debug_av_set () |
DEBUG_FUNCTION void | debug_lv_set () |
DEBUG_FUNCTION void | debug_ilist () |
DEBUG_FUNCTION void | debug_blist () |
DEBUG_FUNCTION void | debug_insn_vector () |
DEBUG_FUNCTION void | debug_hard_reg_set () |
void | sel_debug_cfg () |
DEBUG_FUNCTION rtx | debug_mem_addr_value () |
Variables | |
static int | sel_dump_cfg_flags = SEL_DUMP_CFG_FLAGS |
static int | sel_debug_cfg_flags = SEL_DUMP_CFG_FLAGS |
static bool | sel_dump_cfg_p |
static const char *const | sel_debug_cfg_root = "./" |
static const char *const | sel_debug_cfg_root_postfix_default = "" |
static const char * | sel_debug_cfg_root_postfix = "" |
static int | sel_dump_cfg_fileno = -1 |
static int | sel_debug_cfg_fileno = -1 |
bool | sched_dump_to_dot_p = false |
static int | dump_flist_insn_flags |
static FILE * | saved_sched_dump = NULL |
static int | dump_insn_rtx_flags = DUMP_INSN_RTX_UID | DUMP_INSN_RTX_PATTERN |
static int | dump_vinsn_flags |
static int | dump_expr_flags = DUMP_EXPR_ALL |
static int | debug_insn_rtx_flags = DUMP_INSN_RTX_ALL |
static int | debug_vinsn_flags = DUMP_VINSN_ALL |
static int | debug_expr_flags = DUMP_EXPR_ALL |
static int | debug_insn_flags = DUMP_INSN_ALL |
DEBUG_FUNCTION void debug | ( | ) |
Dump expression REF.
Dump a rtx vector REF.
References dump_vinsn_1(), dump_vinsn_flags, restore_dump(), sel_print(), and switch_dump().
DEBUG_FUNCTION void debug_av_set | ( | ) |
Dumps av_set AV to stderr.
References dump_av_set(), restore_dump(), sel_print(), and switch_dump().
DEBUG_FUNCTION void debug_blist | ( | ) |
Dump a boundary list BNDS to stderr.
References dump_blist(), restore_dump(), sel_print(), and switch_dump().
DEBUG_FUNCTION void debug_expr | ( | ) |
Dump expression EXPR to stderr.
References debug_expr_flags, dump_expr_1(), restore_dump(), sel_print(), and switch_dump().
Referenced by create_access_replacement().
DEBUG_FUNCTION void debug_hard_reg_set | ( | ) |
Dump a hard reg set SET to stderr.
References dump_hard_reg_set(), restore_dump(), sel_print(), and switch_dump().
DEBUG_FUNCTION void debug_ilist | ( | ) |
Dump an instruction list P to stderr.
References dump_ilist(), restore_dump(), sel_print(), and switch_dump().
DEBUG_FUNCTION void debug_insn | ( | ) |
Dump INSN to stderr.
References debug_insn_flags, dump_insn_1(), restore_dump(), sel_print(), and switch_dump().
DEBUG_FUNCTION void debug_insn_rtx | ( | ) |
Dump INSN to stderr.
References debug_insn_rtx_flags, dump_insn_rtx_1(), restore_dump(), sel_print(), and switch_dump().
DEBUG_FUNCTION void debug_insn_vector | ( | ) |
Dump an insn vector SUCCS.
References dump_insn_vector(), restore_dump(), sel_print(), and switch_dump().
DEBUG_FUNCTION void debug_lv_set | ( | ) |
Dump LV to stderr.
References dump_lv_set(), restore_dump(), sel_print(), and switch_dump().
DEBUG_FUNCTION rtx debug_mem_addr_value | ( | ) |
Print a current cselib value for X's address to stderr.
References canon_rtx(), cselib_lookup(), cselib_subst_to_values(), debug_rtx(), get_addr(), and get_address_mode().
DEBUG_FUNCTION void debug_verbose | ( | ) |
Dump expression REF verbosely.
References debug_vinsn_flags, dump_vinsn_1(), restore_dump(), sel_print(), and switch_dump().
DEBUG_FUNCTION void debug_vinsn | ( | ) |
Dump vinsn VI to stderr.
References debug_vinsn_flags, dump_vinsn_1(), restore_dump(), sel_print(), and switch_dump().
void dump_av_set | ( | ) |
Dumps av_set AV.
References dump_expr(), sched_dump_to_dot_p, and sel_print().
Referenced by code_motion_path_driver(), compute_av_set_at_bb_end(), compute_av_set_inside_bb(), compute_av_set_on_boundaries(), debug_av_set(), find_sequential_best_exprs(), and sel_dump_cfg_2().
void dump_blist | ( | ) |
Dumps a list of boundaries pointed to by BNDS.
References dump_ilist(), and sel_print().
Referenced by compute_av_set_on_boundaries(), and debug_blist().
void dump_expr | ( | ) |
Dump expression EXPR with default flags.
References dump_expr_1(), and dump_expr_flags.
Referenced by dump_av_set(), fill_vec_av_set(), find_best_expr(), moveup_expr_cached(), and try_transformation_cache().
void dump_expr_1 | ( | ) |
Dump EXPR honoring flags.
References DUMP_EXPR_ALL, DUMP_EXPR_ORIG_BB, DUMP_EXPR_PRIORITY, DUMP_EXPR_SCHED_TIMES, DUMP_EXPR_SPEC, DUMP_EXPR_SPEC_DONE_DS, DUMP_EXPR_USEFULNESS, DUMP_EXPR_VINSN, dump_vinsn_1(), dump_vinsn_flags, sel_print(), and times().
Referenced by debug_expr(), dump_expr(), and dump_insn_1().
void dump_flist | ( | ) |
Dumps a list of fences pointed to by L.
References dump_flist_insn_flags, dump_insn_1(), and sel_print().
Referenced by schedule_on_fences().
void dump_hard_reg_set | ( | ) |
Dumps a hard reg set SET using PREFIX.
References print_hard_reg_set(), and sched_dump.
|
static |
Dumps a list of instructions pointed to by P.
References dump_insn().
Referenced by debug_ilist(), and dump_blist().
void dump_insn | ( | ) |
Dump insn I with default flags.
References dump_insn_1(), DUMP_INSN_EXPR, and DUMP_INSN_SCHED_CYCLE.
Referenced by code_motion_path_driver(), dump_ilist(), and dump_insn_vector().
void dump_insn_1 | ( | ) |
Dump insn I honoring FLAGS.
References dump_expr_1(), dump_expr_flags, DUMP_INSN_ALL, DUMP_INSN_EXPR, DUMP_INSN_PATTERN, dump_insn_rtx_1(), DUMP_INSN_RTX_PATTERN, DUMP_INSN_SCHED_CYCLE, DUMP_INSN_SEQNO, DUMP_INSN_UID, sched_dump_to_dot_p, and sel_print().
Referenced by debug_insn(), dump_flist(), dump_insn(), sel_dump_cfg_insn(), and update_fence_and_insn().
void dump_insn_rtx | ( | ) |
Dump INSN with default flags.
References dump_insn_rtx_1(), and dump_insn_rtx_flags.
void dump_insn_rtx_1 | ( | ) |
Dump insn INSN honoring FLAGS.
References DUMP_INSN_RTX_ALL, DUMP_INSN_RTX_BBN, DUMP_INSN_RTX_PATTERN, DUMP_INSN_RTX_UID, basic_block_def::index, sel_print(), and str_pattern_slim().
Referenced by debug_insn_rtx(), dump_insn_1(), dump_insn_rtx(), and dump_vinsn_1().
void dump_insn_vector | ( | ) |
Dumps an insn vector SUCCS.
References dump_insn(), and sel_print().
Referenced by compute_av_set_at_bb_end(), and debug_insn_vector().
void dump_lv_set | ( | ) |
Dumps lvset LV.
References count, sched_dump_to_dot_p, and sel_print().
Referenced by debug_lv_set(), and sel_dump_cfg_2().
void dump_vinsn | ( | ) |
Dump vinsn VI with default flags.
References dump_vinsn_1(), and dump_vinsn_flags.
Referenced by invoke_dfa_lookahead_guard().
void dump_vinsn_1 | ( | ) |
Dump vinsn VI honoring flags.
References vinsn_def::cost, dump_insn_rtx_1(), dump_insn_rtx_flags, DUMP_VINSN_ALL, DUMP_VINSN_COST, DUMP_VINSN_COUNT, DUMP_VINSN_INSN_RTX, DUMP_VINSN_TYPE, and sel_print().
Referenced by debug(), debug_verbose(), debug_vinsn(), dump_expr_1(), and dump_vinsn().
|
static |
Return true if BB has a predesessor from current region. TODO: Either make this function to trace back through empty block or just remove those empty blocks.
References in_current_region_p(), basic_block_def::preds, and edge_def::src.
Referenced by sel_dump_cfg_2().
|
static |
Dumps a hard reg set SET to FILE using PREFIX.
Referenced by dump_hard_reg_set().
|
static |
Functions for pretty printing of CFG.
FIXME: Using pretty-print here could simplify this stuff.
Replace all occurencies of STR1 to STR2 in BUF. The BUF must be large enough to hold the result.
References strlen(), and strstr().
Referenced by sel_prepare_string_for_dot_label().
|
static |
Restore previously switched dump.
References saved_sched_dump, and sched_dump.
Referenced by debug(), debug_av_set(), debug_blist(), debug_expr(), debug_hard_reg_set(), debug_ilist(), debug_insn(), debug_insn_rtx(), debug_insn_vector(), debug_lv_set(), debug_verbose(), debug_vinsn(), and sel_dump_cfg_2().
void sel_debug_cfg | ( | void | ) |
Debug a cfg region with default flags.
References sel_debug_cfg_1(), and sel_debug_cfg_flags.
void sel_debug_cfg_1 | ( | ) |
Debug a cfg region with FLAGS.
References sel_debug_cfg_fileno, sel_dump_cfg_1(), sel_dump_cfg_fileno, and sel_dump_cfg_p.
Referenced by sel_debug_cfg().
|
static |
Dump a cfg region to the file specified by TAG honoring flags. The file is created by the function.
References free(), sel_debug_cfg_root, sel_debug_cfg_root_postfix, sel_dump_cfg_2(), sel_dump_cfg_fileno, sel_dump_cfg_p, and snprintf().
Referenced by sel_debug_cfg_1().
|
static |
Dump a cfg region to the dot file F honoring FLAGS.
References bb_note(), color(), cur_insn, current_function_name(), edge_def::dest, dump_av_set(), dump_lv_set(), fences, flist_lookup(), has_preds_in_current_region_p(), in_current_region_p(), basic_block_def::index, basic_block_def::loop_father, loop::num, restore_dump(), sched_dump_to_dot_p, sel_bb_empty_p(), SEL_DUMP_CFG_AV_SET, SEL_DUMP_CFG_BB_INSNS, SEL_DUMP_CFG_BB_LOOP, SEL_DUMP_CFG_BB_NOTES_LIST, SEL_DUMP_CFG_CURRENT_REGION, sel_dump_cfg_edge(), SEL_DUMP_CFG_FENCES, SEL_DUMP_CFG_FUNCTION_NAME, sel_dump_cfg_insn(), SEL_DUMP_CFG_LV_SET, basic_block_def::succs, and switch_dump().
Referenced by sel_dump_cfg_1().
|
static |
Dump E to the dot file F.
References color(), edge_def::dest, edge_def::flags, basic_block_def::index, basic_block_def::next_bb, and edge_def::src.
Referenced by sel_dump_cfg_2().
|
static |
Dump INSN with FLAGS.
References dump_insn_1(), DUMP_INSN_EXPR, DUMP_INSN_PATTERN, DUMP_INSN_SCHED_CYCLE, DUMP_INSN_SEQNO, DUMP_INSN_UID, sched_luids, and SEL_DUMP_CFG_INSN_SEQNO.
Referenced by sel_dump_cfg_2().
|
static |
Replace characters in BUF that have special meaning in .dot file. Similar to pp_write_text_as_dot_label_to_stream.
References replace_str_in_buf().
Referenced by sel_print().
void sel_print | ( | ) |
This function acts like printf but dumps to the sched_dump file.
References free(), sched_dump, sched_dump_to_dot_p, sel_prepare_string_for_dot_label(), and strlen().
Referenced by advance_one_cycle(), calculate_new_fences(), calculate_privileged_insns(), choose_best_insn(), code_motion_path_driver(), code_motion_process_successors(), compute_av_set_at_bb_end(), compute_av_set_inside_bb(), compute_av_set_on_boundaries(), create_block_for_bookkeeping(), debug(), debug_av_set(), debug_blist(), debug_expr(), debug_hard_reg_set(), debug_ilist(), debug_insn(), debug_insn_rtx(), debug_insn_vector(), debug_lv_set(), debug_state(), debug_verbose(), debug_vinsn(), dump_av_set(), dump_blist(), dump_expr_1(), dump_flist(), dump_insn_1(), dump_insn_rtx_1(), dump_insn_vector(), dump_lv_set(), dump_vinsn_1(), extract_new_fences_from(), fill_insns(), fill_vec_av_set(), find_best_expr(), find_ebb_boundaries(), find_place_for_bookkeeping(), find_sequential_best_exprs(), generate_bookkeeping_insn(), implicit_clobber_conflict_p(), invoke_dfa_lookahead_guard(), move_cond_jump(), moveup_expr(), moveup_expr_cached(), moveup_set_inside_insn_group(), moving_insn_creates_bookkeeping_block_p(), put_TImodes(), remove_insns_that_need_bookkeeping(), reset_sched_cycles_in_current_ebb(), schedule_on_fences(), sel_add_to_insn_priority(), sel_sched_region(), sel_sched_region_2(), sel_target_adjust_priority(), try_bitmap_cache(), try_transformation_cache(), undo_transformations(), update_boundaries(), and update_fence_and_insn().
const char* sel_print_insn | ( | ) |
Pretty print INSN. This is used as a hook.
References s_i_d.
void sel_print_rtl | ( | ) |
Print an rtx X.
References print_rtl_single(), and sched_dump.
void setup_dump_cfg_params | ( | void | ) |
Setup cfg dumping flags. Used for debugging.
References sel_debug_cfg_root_postfix, sel_debug_cfg_root_postfix_default, sel_dump_cfg_flags, SEL_DUMP_CFG_FLAGS, and sel_dump_cfg_p.
|
static |
Switch sched_dump to TO. It must not be called twice.
References saved_sched_dump, and sched_dump.
Referenced by debug(), debug_av_set(), debug_blist(), debug_expr(), debug_hard_reg_set(), debug_ilist(), debug_insn(), debug_insn_rtx(), debug_insn_vector(), debug_lv_set(), debug_verbose(), debug_vinsn(), and sel_dump_cfg_2().
|
static |
Default flags for dumping expressions when debugging.
Referenced by debug_expr().
|
static |
Controls how an insn from stream should be dumped when debugging.
Referenced by debug_insn().
|
static |
Default flags for dumping insns when debugging.
Referenced by debug_insn_rtx().
|
static |
Default flags for dumping vinsns when debugging.
Referenced by debug_verbose(), and debug_vinsn().
|
static |
Default flags for dumping expressions.
Referenced by dump_expr(), and dump_insn_1().
|
static |
Controls how insns from a fence list should be dumped.
Referenced by dump_flist().
|
static |
Functions for dumping instructions, av sets, and exprs.
Default flags for dumping insns.
Referenced by dump_insn_rtx(), and dump_vinsn_1().
|
static |
Default flags for dumping vinsns.
Referenced by debug(), dump_expr_1(), and dump_vinsn().
|
static |
The variable used to hold the value of sched_dump when temporarily switching dump output to the other source, e.g. the .dot file.
Referenced by restore_dump(), and switch_dump().
bool sched_dump_to_dot_p = false |
When this flag is on, we are dumping to the .dot file. When it is off, we are dumping to log. This is useful to differentiate formatting between log and .dot files.
Referenced by dump_av_set(), dump_insn_1(), dump_lv_set(), sel_dump_cfg_2(), and sel_print().
|
static |
Referenced by sel_debug_cfg_1().
|
static |
Referenced by sel_debug_cfg().
|
static |
Variables that are used to build the cfg dump file name.
Referenced by sel_dump_cfg_1().
|
static |
Referenced by sel_dump_cfg_1(), and setup_dump_cfg_params().
|
static |
Referenced by setup_dump_cfg_params().
|
static |
Referenced by sel_debug_cfg_1(), and sel_dump_cfg_1().
|
static |
@verbatim Instruction scheduling pass. Log dumping infrastructure.
Copyright (C) 2006-2013 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see http://www.gnu.org/licenses/.
These variables control high-level pretty printing.
Referenced by setup_dump_cfg_params().
|
static |
True when a cfg should be dumped.
Referenced by sel_debug_cfg_1(), sel_dump_cfg_1(), and setup_dump_cfg_params().