aboutsummaryrefslogtreecommitdiff
path: root/gcc/sched-vis.c
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2012-11-26 16:47:58 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2012-11-26 16:47:58 +0000
commita27a5de96932f5568e8a4561dc82a1bd11814858 (patch)
tree5059e53a87ca0ad87ef8f5e4d61bdce408a23bc3 /gcc/sched-vis.c
parentf460c170f063cacc7109395a8794de6cc362c87b (diff)
downloadgcc-a27a5de96932f5568e8a4561dc82a1bd11814858.zip
gcc-a27a5de96932f5568e8a4561dc82a1bd11814858.tar.gz
gcc-a27a5de96932f5568e8a4561dc82a1bd11814858.tar.bz2
invoke.texi: Remove -dv documentation.
gcc/ * doc/invoke.texi: Remove -dv documentation. Fix up graph dump related documentation. Document the '-graph' dump option. Complete the '-slim' dump option documentation. * common.opt (Variable graph_dump_format): Remove. * flag-types.h (enum graph_dump_types): Remove. * flags.h (dump_for_graph): Remove. * opts.c (decode_d_option): Remove -dv handling. * sched-int.h (print_insn, print_pattern, print_value): Move prototypes from here ... * rtl.h: ...to here. Add note that these functions ought to be in another file. * sched-vis.c (print_insn): Add detailed dump for insn notes. * print-rtl.c (dump_for_graph): Remove. (print_rtx): Remove dump_for_graph related code. * graph.c: Almost complete re-write to dump DOT (GraphViz) dumps instead of VCG dumps. * graph.h (print_rtl_graph_with_bb): Update prototype. * passes.c (finish_optimization_passes): Fix profile dump finishing. Unconditionally loop over graph dumps to finalize. (execute_function_dump): Split code to dump graphs to separate block. (execute_one_pass): Don't set TDF_GRAPH here, let the dump option decoders do their job. * ddg.c (vcg_print_ddg): Make it a DEBUG_FUNCTION. * toplev.c: Don't include graph.h. * tree-optimize.c: Don't include graph.h. testsuite/ * testsuite/gcc.dg/20050811-1.c: Change -dv option to -graph option to -fdump-rtl-all. * testsuite/gcc.dg/pr37858.c: Remove -dv option. From-SVN: r193821
Diffstat (limited to 'gcc/sched-vis.c')
-rw-r--r--gcc/sched-vis.c47
1 files changed, 44 insertions, 3 deletions
diff --git a/gcc/sched-vis.c b/gcc/sched-vis.c
index d4f5e95..9572a47d 100644
--- a/gcc/sched-vis.c
+++ b/gcc/sched-vis.c
@@ -782,12 +782,53 @@ print_insn (char *buf, const_rtx x, int verbose)
sprintf (buf, "i%4d: barrier", INSN_UID (x));
break;
case NOTE:
- sprintf (buf, " %4d %s", INSN_UID (x),
- GET_NOTE_INSN_NAME (NOTE_KIND (x)));
- break;
+ {
+ int uid = INSN_UID (x);
+ const char *note_name = GET_NOTE_INSN_NAME (NOTE_KIND (x));
+ switch (NOTE_KIND (x))
+ {
+ case NOTE_INSN_EH_REGION_BEG:
+ case NOTE_INSN_EH_REGION_END:
+ sprintf (buf, " %4d %s %d", uid, note_name,
+ NOTE_EH_HANDLER (x));
+ break;
+
+ case NOTE_INSN_BLOCK_BEG:
+ case NOTE_INSN_BLOCK_END:
+ sprintf (buf, " %4d %s %d", uid, note_name,
+ BLOCK_NUMBER (NOTE_BLOCK (x)));
+ break;
+
+ case NOTE_INSN_BASIC_BLOCK:
+ sprintf (buf, " %4d %s %d", uid, note_name,
+ NOTE_BASIC_BLOCK (x)->index);
+ break;
+
+ case NOTE_INSN_DELETED_LABEL:
+ case NOTE_INSN_DELETED_DEBUG_LABEL:
+ {
+ const char *label = NOTE_DELETED_LABEL_NAME (x);
+ if (label == NULL)
+ label = "";
+ sprintf (buf, " %4d %s (\"%s\")", uid, note_name, label);
+ }
+ break;
+
+ case NOTE_INSN_VAR_LOCATION:
+ print_pattern (t, NOTE_VAR_LOCATION (x), verbose);
+ sprintf (buf, " %4d %s {%s}", uid, note_name, t);
+ break;
+
+ default:
+ sprintf (buf, " %4d %s", uid, note_name);
+ break;
+ }
+ break;
+ }
default:
sprintf (buf, "i%4d <What %s?>", INSN_UID (x),
GET_RTX_NAME (GET_CODE (x)));
+ break;
}
} /* print_insn */