diff options
author | steven <steven@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-07-17 23:17:20 +0000 |
---|---|---|
committer | steven <steven@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-07-17 23:17:20 +0000 |
commit | 5147ec0758d033a3f21f831c878ec8fa5dcd2a94 (patch) | |
tree | 9d5c1ea84c526379245c9986d831f4ce16757d79 /gcc/sched-vis.c | |
parent | f25dbbf707698795ff642f32c290d25d5c356975 (diff) | |
download | gcc-5147ec0758d033a3f21f831c878ec8fa5dcd2a94.tar.gz |
* dumpfile.h (TDF_COMMENT): New define.
* basic-block.h (EDGE_FALLTHRU, EDGE_ABNORMAL, EDGE_ABNORMAL_CALL,
EDGE_EH, EDGE_FAKE, EDGE_DFS_BACK, EDGE_CAN_FALLTHRU,
EDGE_IRREDUCIBLE_LOOP, EDGE_SIBCALL, EDGE_LOOP_EXIT, EDGE_TRUE_VALUE,
EDGE_FALSE_VALUE, EDGE_EXECUTABLE, EDGE_CROSSING, EDGE_PRESERVE):
Move to new file cfg-flags.h.
(enum cfg_edge_flags): New enum, using cfg-flags.h.
(EDGE_ALL_FLAGS): Compute value automatically.
(BB_NEW, BB_REACHABLE, BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK,
BB_DISABLE_SCHEDULE, BB_HOT_PARTITION, BB_COLD_PARTITION,
BB_DUPLICATED, BB_NON_LOCAL_GOTO_TARGET, BB_RTL,
BB_FORWARDER_BLOCK, BB_NONTHREADABLE_BLOCK, BB_MODIFIED, BB_VISITED,
BB_IN_TRANSACTION): Move to new file cfg-flags.h.
(enum bb_flags): Rename to cfg_bb_flags. Use cfg-flags.h.
(BB_ALL_FLAGS): New, compute value automatically.
(dump_bb_info): Update prototype.
(dump_edge_info): Update prototype.
* cfg-flags.h: New file.
* cfg.c (dump_edge_info): Take flags argument. Be verbose only if
TDF_DETAILS and not TDF_SLIM. Include cfg-flags.h for bitnames.
Check that the edge flags are within the range of EDGE_ALL_FLAGS.
(debug_bb): Update dump_bb call.
(dump_cfg_bb_info): Remove.
(dump_bb_info): New function. Use cfg-flags.h for bitnames.
Adjust verbosity using TDF_* flags. Check that the basic block flags
are within the range of BB_ALL_FLAGS.
(brief_dump_cfg): Use dump_bb_info instead of dump_cfg_bb_info.
* cfghooks.h (struct cfghooks): Update dump_bb hook, take a FILE
first for consistency with other dump functions.
(dump_bb): Update prototype accordingly.
* cfghooks.c: Include dumpfile.h.
(verify_flow_info): Update dump_edge_info calls.
(dump_bb): Take a flags argument and pass it around.
Use dump_bb_info to dump common information about a basic block.
(dump_flow_info): Moved here from cfgrtl.c. Make IL agnostic.
(debug_flow_info): Moved here from cfgrtl.c.
* profile.c (is_edge_inconsistent): Update dump_bb calls.
* loop-invariant.c (find_defs): Update print_rtl_with_bb call.
* rtl.h (debug_bb_n_slim, debug_bb_slim, print_rtl_slim,
print_rtl_slim_with_bb): Remove prototypes.
(dump_insn_slim): Adjust prototype to take a const_rtx.
(print_rtl_with_bb): Adjust prototype.
* sched-rgn.c (debug_region): Use dump_bb instead of debug_bb_n_slim.
* sched-vis.c (dump_insn_slim): Take a const_rtx.
(debug_insn_slim): Prototype here near DEBUG_FUNCTION marker.
(print_rtl_slim_with_bb): Remove.
(print_rtl_slim): Rename to debug_rtl_slim. Print only insn info,
not basic block info (print_rtl_with_bb with TDF_SLIM should be used
for that. Prototype here near DEBUG_FUNCTION marker.
(debug_bb_slim): Prototype here near DEBUG_FUNCTION marker.
Use dump_bb.
(debug_bb_n_slim): Prototype here near DEBUG_FUNCTION marker.
* tree-cfg.c (gimple_can_merge_blocks_p): Use EDGE_COMPLEX.
(remove_bb): Update dump_bb call.
(gimple_debug_bb): Use dump_bb.
(dump_function_to_file): Update gimple_dump_bb call.
(print_loops_bb): Likewise.
* tree-flow.h (gimple_dump_bb): Update prototype.
* gimple-pretty-print.c (dump_bb_header): Rename to
dump_gimple_bb_header. Write to a stream instead of a pretty
printer. Use dump_bb_info to dump basic block info.
(dump_bb_end): Rename to dump_gimple_bb_footer. Write to a
stream instead of a pretty printer. Use dump_bb_info.
(gimple_dump_bb_buff): Do not call dump_bb_header and dump_bb_end.
(gimple_dump_bb): Do it here with dump_gimple_bb_header and
dump_gimple_bb_footer.
* cfgrtl.c (rtl_dump_bb): Update prototype. Only dump DF if the
dump flags have TDF_DETAILS. Use dump_insn_slim if TDF_SLIM.
(print_rtl_with_bb): Take a flags argument and pass it around.
Use dump_insn_slim if TDF_SLIM.
(dump_bb_info): Removed and re-incarnated in cfg.c.
(dump_flow_info): Moved to cfghooks.c.
(debug_flow_info): Moved to cfghooks.c.
* passes.c (execute_function_dump): Unconditionally use
print_rtl_with_bb for RTL dumps, now that it understands TDF_SLIM.
* final.c (dump_basic_block_info): Update dump_edge_info calls.
* tree-vrp.c (dump_asserts_for): Likewise.
* ifcvt.c (if_convert): Unconditionally use print_rtl_with_bb.
* tree-if-conv.c (if_convertible_bb_p): Don't look at
EDGE_ABNORMAL_CALL, it has no meaning in the GIMPLE world.
* trans-mem.c (make_tm_edge): Don't set EDGE_ABNORMAL_CALL,
for the same reason.
* config/rl78/rl78.c (rl78_reorg): Update print_rtl_with_bb calls.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189590 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sched-vis.c')
-rw-r--r-- | gcc/sched-vis.c | 46 |
1 files changed, 11 insertions, 35 deletions
diff --git a/gcc/sched-vis.c b/gcc/sched-vis.c index 44c7d595eaf..768aa133522 100644 --- a/gcc/sched-vis.c +++ b/gcc/sched-vis.c @@ -761,7 +761,7 @@ print_insn (char *buf, const_rtx x, int verbose) /* Emit a slim dump of X (an insn) to the file F, including any register note attached to the instruction. */ void -dump_insn_slim (FILE *f, rtx x) +dump_insn_slim (FILE *f, const_rtx x) { char t[BUF_LEN + 32]; rtx note; @@ -779,65 +779,41 @@ dump_insn_slim (FILE *f, rtx x) } /* Emit a slim dump of X (an insn) to stderr. */ +extern void debug_insn_slim (const_rtx); DEBUG_FUNCTION void -debug_insn_slim (rtx x) +debug_insn_slim (const_rtx x) { dump_insn_slim (stderr, x); } -/* Provide a slim dump the instruction chain starting at FIRST to F, honoring - the dump flags given in FLAGS. Currently, TDF_BLOCKS and TDF_DETAILS - include more information on the basic blocks. */ -void -print_rtl_slim_with_bb (FILE *f, rtx first, int flags) -{ - print_rtl_slim (f, first, NULL, -1, flags); -} - /* Same as above, but stop at LAST or when COUNT == 0. If COUNT < 0 it will stop only at LAST or NULL rtx. */ -void -print_rtl_slim (FILE *f, rtx first, rtx last, int count, int flags) +extern void debug_rtl_slim (FILE *, const_rtx, const_rtx, int, int); +DEBUG_FUNCTION void +debug_rtl_slim (FILE *f, const_rtx first, const_rtx last, + int count, int flags ATTRIBUTE_UNUSED) { - basic_block current_bb = NULL; - rtx insn, tail; + const_rtx insn, tail; tail = last ? NEXT_INSN (last) : NULL_RTX; for (insn = first; (insn != NULL) && (insn != tail) && (count != 0); insn = NEXT_INSN (insn)) { - bool verbose = ((flags & TDF_DETAILS) != 0); - - if ((flags & TDF_BLOCKS) - && (INSN_P (insn) || NOTE_P (insn)) - && BLOCK_FOR_INSN (insn) - && !current_bb) - { - current_bb = BLOCK_FOR_INSN (insn); - dump_bb_info (current_bb, true, false, verbose, ";; ", f); - } - dump_insn_slim (f, insn); - - if ((flags & TDF_BLOCKS) - && current_bb - && insn == BB_END (current_bb)) - { - dump_bb_info (current_bb, false, true, verbose, ";; ", f); - current_bb = NULL; - } if (count > 0) count--; } } +extern void debug_bb_slim (basic_block); DEBUG_FUNCTION void debug_bb_slim (basic_block bb) { - print_rtl_slim (stderr, BB_HEAD (bb), BB_END (bb), -1, 32); + dump_bb (stderr, bb, 0, TDF_SLIM); } +extern void debug_bb_n_slim (int); DEBUG_FUNCTION void debug_bb_n_slim (int n) { |