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 debug.

DEBUG_FUNCTION void debug_av_set ( )
   Dumps av_set AV to stderr.  
DEBUG_FUNCTION void debug_blist ( )
   Dump a boundary list BNDS to stderr.  
DEBUG_FUNCTION void debug_expr ( )
   Dump expression EXPR to stderr.  

References dump_expr_1(), DUMP_EXPR_ALL, restore_dump(), sel_print(), and switch_dump().

DEBUG_FUNCTION void debug_hard_reg_set ( )
   Dump a hard reg set SET to stderr.  
DEBUG_FUNCTION void debug_ilist ( )
   Dump an instruction list P to stderr.  

References cselib_lookup(), and get_address_mode().

DEBUG_FUNCTION void debug_insn ( )
   Dump INSN to stderr.  
DEBUG_FUNCTION void debug_insn_rtx ( )
   Dump INSN to stderr.  
DEBUG_FUNCTION void debug_insn_vector ( )
   Dump an insn vector SUCCS.  
DEBUG_FUNCTION void debug_lv_set ( )
   Dump LV to stderr.  
DEBUG_FUNCTION rtx debug_mem_addr_value ( )
   Print a current cselib value for X's address to stderr.  
DEBUG_FUNCTION void debug_verbose ( )
   Dump expression REF verbosely.  
DEBUG_FUNCTION void debug_vinsn ( )
   Dump vinsn VI to stderr.  
void dump_av_set ( )
   Dumps av_set AV.  

References count, sched_dump_to_dot_p, and sel_print().

Referenced by compute_av_set_at_bb_end().

void dump_blist ( )
   Dumps a list of boundaries pointed to by BNDS.  
void dump_expr ( )
   Dump expression EXPR with default flags.  

Referenced by sel_dfa_new_cycle().

void dump_expr_1 ( )
   Dump EXPR honoring flags.  
     flags == -1 also means dumping all.  

Referenced by debug_expr().

void dump_flist ( )
   Dumps a list of fences pointed to by L.  

References print_hard_reg_set(), and sched_dump.

void dump_hard_reg_set ( )
   Dumps a hard reg set SET using PREFIX.  

References strstr().

static void dump_ilist ( )
static
   Dumps a list of instructions pointed to by P.  
void dump_insn ( )
   Dump insn I with default flags.  

Referenced by dump_lv_set().

void dump_insn_1 ( )
   Dump insn I honoring FLAGS.  
void dump_insn_rtx ( )
   Dump INSN with default flags.  
void dump_insn_rtx_1 ( )
   Dump insn INSN honoring FLAGS.  
     flags == -1 also means dumping all.  
void dump_insn_vector ( )
   Dumps an insn vector SUCCS.  

References s_i_d.

void dump_lv_set ( )
   Dumps lvset LV.  
     This code was adapted from cfg.c: dump_regset ().  

References dump_insn().

void dump_vinsn ( )
   Dump vinsn VI with default flags.  

References debug_vinsn_flags, dump_vinsn_1(), restore_dump(), sel_print(), and switch_dump().

void dump_vinsn_1 ( )
   Dump vinsn VI honoring flags.  
     flags == -1 also means dumping all.  

Referenced by dump_vinsn().

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 bb_note(), cur_insn, fences, and flist_lookup().

static void print_hard_reg_set ( )
static
   Dumps a hard reg set SET to FILE using PREFIX.  

Referenced by dump_flist().

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.  
             Copy the rest of buf and '\0'.  
             Shift str by DIFF chars.  
             Copy str2.  
static void restore_dump ( )
static
   Restore previously switched dump.  

Referenced by debug_expr(), and dump_vinsn().

void sel_debug_cfg ( void  )
   Debug a cfg region with default flags.  
void sel_debug_cfg_1 ( )
   Debug a cfg region with FLAGS.  
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.  
static void sel_dump_cfg_2 ( )
static
   Dump a cfg region to the dot file F honoring FLAGS.  
                 For simplicity, we dump notes from note_list in reversed order
                 to that what they will appear in the code.  
static void sel_dump_cfg_edge ( )
static
   Dump E to the dot file F.  
static void sel_dump_cfg_insn ( )
static
   Dump INSN with FLAGS.  

References sched_dump_to_dot_p, and switch_dump().

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.  
const char* sel_print_insn ( )
   Pretty print INSN.  This is used as a hook.  
     '+' before insn means it is a new cycle start and it's not been
     scheduled yet.  '>' - has been scheduled.  
void sel_print_rtl ( )
   Print an rtx X.  
void setup_dump_cfg_params ( void  )
   Setup cfg dumping flags.  Used for debugging.  
static void switch_dump ( )
static
   Switch sched_dump to TO.  It must not be called twice.  

References saved_sched_dump, and sched_dump.

Referenced by debug_expr(), dump_vinsn(), and sel_dump_cfg_insn().


Variable Documentation

int debug_expr_flags = DUMP_EXPR_ALL
static
   Default flags for dumping expressions when debugging.  
int debug_insn_flags = DUMP_INSN_ALL
static
   Controls how an insn from stream should be dumped when debugging.  
int debug_insn_rtx_flags = DUMP_INSN_RTX_ALL
static
   Default flags for dumping insns when debugging.  
int debug_vinsn_flags = DUMP_VINSN_ALL
static
   Default flags for dumping vinsns when debugging.  

Referenced by dump_vinsn().

int dump_expr_flags = DUMP_EXPR_ALL
static
   Default flags for dumping expressions.  
int dump_flist_insn_flags
static
Initial value:
   Controls how insns from a fence list should be dumped.  
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.  
int dump_vinsn_flags
static
Initial value:
   Default flags for dumping vinsns.  
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 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(), and sel_dump_cfg_insn().

int sel_debug_cfg_fileno = -1
static
int sel_debug_cfg_flags = SEL_DUMP_CFG_FLAGS
static
const char* const sel_debug_cfg_root = "./"
static
   Variables that are used to build the cfg dump file name.  
const char* sel_debug_cfg_root_postfix = ""
static
const char* const sel_debug_cfg_root_postfix_default = ""
static
int sel_dump_cfg_fileno = -1
static
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.  
bool sel_dump_cfg_p
static
   True when a cfg should be dumped.