GCC Middle and Back End API Reference
sel-sched-dump.c File 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

Function Documentation

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 ( )
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_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_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 void dump_ilist ( )
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_rtx ( )
Dump INSN with default flags.   

References dump_insn_rtx_1(), and dump_insn_rtx_flags.

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

static bool has_preds_in_current_region_p ( )
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 void print_hard_reg_set ( )
static
Dumps a hard reg set SET to FILE using PREFIX.   

Referenced by dump_hard_reg_set().

static void replace_str_in_buf ( )
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().

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 void sel_dump_cfg_1 ( )
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 void sel_dump_cfg_edge ( )
static
static void sel_dump_cfg_insn ( )
static
static void sel_prepare_string_for_dot_label ( )
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  )
static void switch_dump ( )
static

Variable Documentation

int debug_expr_flags = DUMP_EXPR_ALL
static
Default flags for dumping expressions when debugging.   

Referenced by debug_expr().

int debug_insn_flags = DUMP_INSN_ALL
static
Controls how an insn from stream should be dumped when debugging.   

Referenced by debug_insn().

int debug_insn_rtx_flags = DUMP_INSN_RTX_ALL
static
Default flags for dumping insns when debugging.   

Referenced by debug_insn_rtx().

int debug_vinsn_flags = DUMP_VINSN_ALL
static
Default flags for dumping vinsns when debugging.   

Referenced by debug_verbose(), and debug_vinsn().

int dump_expr_flags = DUMP_EXPR_ALL
static
Default flags for dumping expressions.   

Referenced by dump_expr(), and dump_insn_1().

int dump_flist_insn_flags
static
Initial value:
Controls how insns from a fence list should be dumped.   

Referenced by dump_flist().

int dump_insn_rtx_flags = DUMP_INSN_RTX_UID | DUMP_INSN_RTX_PATTERN
static
Functions for dumping instructions, av sets, and exprs.   
Default flags for dumping insns.   

Referenced by dump_insn_rtx(), and dump_vinsn_1().

int dump_vinsn_flags
static
Initial value:
Default flags for dumping vinsns.   

Referenced by debug(), dump_expr_1(), and dump_vinsn().

FILE* saved_sched_dump = NULL
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().

int sel_debug_cfg_fileno = -1
static

Referenced by sel_debug_cfg_1().

int sel_debug_cfg_flags = SEL_DUMP_CFG_FLAGS
static

Referenced by sel_debug_cfg().

const char* const sel_debug_cfg_root = "./"
static
Variables that are used to build the cfg dump file name.   

Referenced by sel_dump_cfg_1().

const char* sel_debug_cfg_root_postfix = ""
static
const char* const sel_debug_cfg_root_postfix_default = ""
static

Referenced by setup_dump_cfg_params().

int sel_dump_cfg_fileno = -1
static

Referenced by sel_debug_cfg_1(), and sel_dump_cfg_1().

int sel_dump_cfg_flags = SEL_DUMP_CFG_FLAGS
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().

bool sel_dump_cfg_p
static
True when a cfg should be dumped.   

Referenced by sel_debug_cfg_1(), sel_dump_cfg_1(), and setup_dump_cfg_params().