From a27a5de96932f5568e8a4561dc82a1bd11814858 Mon Sep 17 00:00:00 2001 From: Steven Bosscher Date: Mon, 26 Nov 2012 16:47:58 +0000 Subject: 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 --- gcc/sched-vis.c | 47 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 3 deletions(-) (limited to 'gcc/sched-vis.c') 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 ", INSN_UID (x), GET_RTX_NAME (GET_CODE (x))); + break; } } /* print_insn */ -- cgit v1.1