* Simple change in dot dumper -- Display profile count and branch probability @ 2013-04-21 20:36 Xinliang David Li 2013-04-21 20:54 ` Steven Bosscher 0 siblings, 1 reply; 6+ messages in thread From: Xinliang David Li @ 2013-04-21 20:36 UTC (permalink / raw) To: GCC Patches Hi, the graph dump file currently does not show any profile information. The following simple patch fixed that. Ok for trunk? thanks, David 2013-04-20 Xinliang David Li <davidxl@google.com> * graph.c (draw_cfg_node): Add count and frequency info. (draw_cfg_node_succ_edges): Add branch probility as label. Index: graph.c =================================================================== --- graph.c (revision 198108) +++ graph.c (working copy) @@ -110,6 +110,9 @@ draw_cfg_node (pretty_printer *pp, int f else { pp_character (pp, '{'); + if (bb->count) + pp_printf (pp, "COUNT:" HOST_WIDEST_INT_PRINT_DEC, bb->count); + pp_printf (pp, " FREQ:%i |", bb->frequency); pp_write_text_to_stream (pp); dump_bb_for_graph (pp, bb); pp_character (pp, '}'); @@ -155,11 +158,12 @@ draw_cfg_node_succ_edges (pretty_printer pp_printf (pp, "\tfn_%d_basic_block_%d:s -> fn_%d_basic_block_%d:n " - "[style=%s,color=%s,weight=%d,constraint=%s];\n", + "[style=%s,color=%s,weight=%d,constraint=%s, label=\"[%i%%]\"];\n", funcdef_no, e->src->index, funcdef_no, e->dest->index, style, color, weight, - (e->flags & (EDGE_FAKE | EDGE_DFS_BACK)) ? "false" : "true"); + (e->flags & (EDGE_FAKE | EDGE_DFS_BACK)) ? "false" : "true", + e->probability * 100 / REG_BR_PROB_BASE); } pp_flush (pp); } ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Simple change in dot dumper -- Display profile count and branch probability 2013-04-21 20:36 Simple change in dot dumper -- Display profile count and branch probability Xinliang David Li @ 2013-04-21 20:54 ` Steven Bosscher 2013-04-21 21:17 ` Xinliang David Li 0 siblings, 1 reply; 6+ messages in thread From: Steven Bosscher @ 2013-04-21 20:54 UTC (permalink / raw) To: Xinliang David Li; +Cc: GCC Patches On Sun, Apr 21, 2013 at 12:47 AM, Xinliang David Li wrote: > Index: graph.c > =================================================================== > --- graph.c (revision 198108) > +++ graph.c (working copy) > @@ -110,6 +110,9 @@ draw_cfg_node (pretty_printer *pp, int f > else > { > pp_character (pp, '{'); > + if (bb->count) > + pp_printf (pp, "COUNT:" HOST_WIDEST_INT_PRINT_DEC, bb->count); > + pp_printf (pp, " FREQ:%i |", bb->frequency); > pp_write_text_to_stream (pp); > dump_bb_for_graph (pp, bb); > pp_character (pp, '}'); This doesn't belong here, please put it in cfghooks.c:dump_bb_for_graph. Otherwise, looks good me. Ciao! Steven ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Simple change in dot dumper -- Display profile count and branch probability 2013-04-21 20:54 ` Steven Bosscher @ 2013-04-21 21:17 ` Xinliang David Li 2013-04-22 20:36 ` Diego Novillo 0 siblings, 1 reply; 6+ messages in thread From: Xinliang David Li @ 2013-04-21 21:17 UTC (permalink / raw) To: Steven Bosscher; +Cc: GCC Patches Thanks. The patch is revised. David 2013-04-20 Xinliang David Li <davidxl@google.com> * graph.c (draw_cfg_node_succ_edges): Add branch probility as label. * cfghhooks.c (dump_bb_for_graph): Dump profile count and frquency. * Makefile.in: New dependency. Index: cfghooks.c =================================================================== --- cfghooks.c (revision 198108) +++ cfghooks.c (working copy) @@ -30,6 +30,7 @@ along with GCC; see the file COPYING3. #include "timevar.h" #include "diagnostic-core.h" #include "cfgloop.h" +#include "pretty-print.h" /* A pointer to one of the hooks containers. */ static struct cfg_hooks *cfg_hooks; @@ -308,6 +309,10 @@ dump_bb_for_graph (pretty_printer *pp, b if (!cfg_hooks->dump_bb_for_graph) internal_error ("%s does not support dump_bb_for_graph", cfg_hooks->name); + if (bb->count) + pp_printf (pp, "COUNT:" HOST_WIDEST_INT_PRINT_DEC, bb->count); + pp_printf (pp, " FREQ:%i |", bb->frequency); + pp_write_text_to_stream (pp); cfg_hooks->dump_bb_for_graph (pp, bb); } Index: graph.c =================================================================== --- graph.c (revision 198108) +++ graph.c (working copy) @@ -155,11 +155,12 @@ draw_cfg_node_succ_edges (pretty_printer pp_printf (pp, "\tfn_%d_basic_block_%d:s -> fn_%d_basic_block_%d:n " - "[style=%s,color=%s,weight=%d,constraint=%s];\n", + "[style=%s,color=%s,weight=%d,constraint=%s, label=\"[%i%%]\"];\n", funcdef_no, e->src->index, funcdef_no, e->dest->index, style, color, weight, - (e->flags & (EDGE_FAKE | EDGE_DFS_BACK)) ? "false" : "true"); + (e->flags & (EDGE_FAKE | EDGE_DFS_BACK)) ? "false" : "true", + e->probability * 100 / REG_BR_PROB_BASE); } pp_flush (pp); } Index: Makefile.in =================================================================== --- Makefile.in (revision 198108) +++ Makefile.in (working copy) @@ -3123,7 +3123,7 @@ cfg.o : cfg.c $(CONFIG_H) $(SYSTEM_H) co $(GGC_H) $(OBSTACK_H) alloc-pool.h $(HASH_TABLE_H) $(CFGLOOP_H) $(TREE_H) \ $(BASIC_BLOCK_H) cfghooks.o: cfghooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ - $(TREE_H) $(BASIC_BLOCK_H) $(TREE_FLOW_H) $(TIMEVAR_H) toplev.h $(DIAGNOSTIC_CORE_H) $(CFGLOOP_H) + $(TREE_H) $(BASIC_BLOCK_H) $(TREE_FLOW_H) $(TIMEVAR_H) toplev.h $(DIAGNOSTIC_CORE_H) $(CFGLOOP_H) $(PRETTY_PRINT_H) cfgexpand.o : cfgexpand.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \ $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(FUNCTION_H) $(TM_H) \ coretypes.h $(EXCEPT_H) langhooks.h $(TREE_PASS_H) $(RTL_H) \ On Sat, Apr 20, 2013 at 4:02 PM, Steven Bosscher <stevenb.gcc@gmail.com> wrote: > On Sun, Apr 21, 2013 at 12:47 AM, Xinliang David Li wrote: >> Index: graph.c >> =================================================================== >> --- graph.c (revision 198108) >> +++ graph.c (working copy) >> @@ -110,6 +110,9 @@ draw_cfg_node (pretty_printer *pp, int f >> else >> { >> pp_character (pp, '{'); >> + if (bb->count) >> + pp_printf (pp, "COUNT:" HOST_WIDEST_INT_PRINT_DEC, bb->count); >> + pp_printf (pp, " FREQ:%i |", bb->frequency); >> pp_write_text_to_stream (pp); >> dump_bb_for_graph (pp, bb); >> pp_character (pp, '}'); > > This doesn't belong here, please put it in cfghooks.c:dump_bb_for_graph. > > Otherwise, looks good me. > > Ciao! > Steven ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Simple change in dot dumper -- Display profile count and branch probability 2013-04-21 21:17 ` Xinliang David Li @ 2013-04-22 20:36 ` Diego Novillo 2013-04-23 9:06 ` Xinliang David Li 0 siblings, 1 reply; 6+ messages in thread From: Diego Novillo @ 2013-04-22 20:36 UTC (permalink / raw) To: Xinliang David Li; +Cc: Steven Bosscher, GCC Patches On 2013-04-21 02:37 , Xinliang David Li wrote: > * graph.c (draw_cfg_node_succ_edges): Add branch probility as label. > * cfghhooks.c (dump_bb_for_graph): Dump profile count and frquency. > * Makefile.in: New dependency. Looks OK. Diego. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Simple change in dot dumper -- Display profile count and branch probability 2013-04-22 20:36 ` Diego Novillo @ 2013-04-23 9:06 ` Xinliang David Li 2013-04-23 10:15 ` Richard Biener 0 siblings, 1 reply; 6+ messages in thread From: Xinliang David Li @ 2013-04-23 9:06 UTC (permalink / raw) To: Diego Novillo; +Cc: Steven Bosscher, GCC Patches Hi, this is a follow up simple patch to support 'slim' graph dump: when -slim option is specified (e.g, -fdump-tree-optimized-graph-slim), do not dump the boby. 2013-04-22 Xinliang David Li <davidxl@google.com> * cfghhooks.c (dump_bb_for_graph): Support 'slim' graph dump. Index: cfghooks.c =================================================================== --- cfghooks.c (revision 198165) +++ cfghooks.c (working copy) @@ -313,7 +313,8 @@ dump_bb_for_graph (pretty_printer *pp, b pp_printf (pp, "COUNT:" HOST_WIDEST_INT_PRINT_DEC, bb->count); pp_printf (pp, " FREQ:%i |", bb->frequency); pp_write_text_to_stream (pp); - cfg_hooks->dump_bb_for_graph (pp, bb); + if (!(dump_flags & TDF_SLIM)) + cfg_hooks->dump_bb_for_graph (pp, bb); } /* Dump the complete CFG to FILE. FLAGS are the TDF_* flags in dumpfile.h. */ Ok for trunk? thanks, David On Mon, Apr 22, 2013 at 12:23 PM, Diego Novillo <dnovillo@google.com> wrote: > On 2013-04-21 02:37 , Xinliang David Li wrote: >> >> * graph.c (draw_cfg_node_succ_edges): Add branch probility as >> label. >> * cfghhooks.c (dump_bb_for_graph): Dump profile count and >> frquency. >> * Makefile.in: New dependency. > > > Looks OK. > > > Diego. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Simple change in dot dumper -- Display profile count and branch probability 2013-04-23 9:06 ` Xinliang David Li @ 2013-04-23 10:15 ` Richard Biener 0 siblings, 0 replies; 6+ messages in thread From: Richard Biener @ 2013-04-23 10:15 UTC (permalink / raw) To: Xinliang David Li; +Cc: Diego Novillo, Steven Bosscher, GCC Patches On Tue, Apr 23, 2013 at 7:40 AM, Xinliang David Li <davidxl@google.com> wrote: > Hi, this is a follow up simple patch to support 'slim' graph dump: > when -slim option is specified (e.g, > -fdump-tree-optimized-graph-slim), do not dump the boby. Ok. Thanks, Richard. > 2013-04-22 Xinliang David Li <davidxl@google.com> > > * cfghhooks.c (dump_bb_for_graph): Support 'slim' graph dump. > > > Index: cfghooks.c > =================================================================== > --- cfghooks.c (revision 198165) > +++ cfghooks.c (working copy) > @@ -313,7 +313,8 @@ dump_bb_for_graph (pretty_printer *pp, b > pp_printf (pp, "COUNT:" HOST_WIDEST_INT_PRINT_DEC, bb->count); > pp_printf (pp, " FREQ:%i |", bb->frequency); > pp_write_text_to_stream (pp); > - cfg_hooks->dump_bb_for_graph (pp, bb); > + if (!(dump_flags & TDF_SLIM)) > + cfg_hooks->dump_bb_for_graph (pp, bb); > } > > /* Dump the complete CFG to FILE. FLAGS are the TDF_* flags in dumpfile.h. */ > > > Ok for trunk? > > thanks, > > David > > On Mon, Apr 22, 2013 at 12:23 PM, Diego Novillo <dnovillo@google.com> wrote: >> On 2013-04-21 02:37 , Xinliang David Li wrote: >>> >>> * graph.c (draw_cfg_node_succ_edges): Add branch probility as >>> label. >>> * cfghhooks.c (dump_bb_for_graph): Dump profile count and >>> frquency. >>> * Makefile.in: New dependency. >> >> >> Looks OK. >> >> >> Diego. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-04-23 8:52 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2013-04-21 20:36 Simple change in dot dumper -- Display profile count and branch probability Xinliang David Li 2013-04-21 20:54 ` Steven Bosscher 2013-04-21 21:17 ` Xinliang David Li 2013-04-22 20:36 ` Diego Novillo 2013-04-23 9:06 ` Xinliang David Li 2013-04-23 10:15 ` Richard Biener
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).