This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC] Bare bones of virtual call tracking
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Xinliang David Li <davidxl at google dot com>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, Jason Merrill <jason at redhat dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Martin Jambor <mjambor at suse dot cz>
- Date: Thu, 15 Aug 2013 18:46:58 +0200
- Subject: Re: [RFC] Bare bones of virtual call tracking
- References: <20130812121624 dot GF22678 at kam dot mff dot cuni dot cz> <5208FF6C dot 3060408 at redhat dot com> <20130813225117 dot GE30983 at kam dot mff dot cuni dot cz> <20130814061440 dot GB21037 at kam dot mff dot cuni dot cz> <520BBBF4 dot 5050908 at redhat dot com> <20130815161710 dot GA26705 at kam dot mff dot cuni dot cz> <CAAkRFZ+WD1efZD0CRmE=zK9tqpP20MmW703ritsEq=h0DC4qgQ at mail dot gmail dot com>
> Some suggestions for the future:
>
> 1) add summary info in the odr dump -- i.e. for each node, dump the
> number of direct bases, direct subtypes, number of all bases, all
> subtypes;
OK, can add that.
> 2) add statistics dump -- average size of a hierarchy subgraph
>
> 3) Dump the graph using top-order -- starting from roots of each sub-graph;
This is already done - dumping recursively dumps subtypes and we dump only
types without bases. Problem is that with multiple inheritance types appear twice.
> 4) Add VCG dump per-hierarchy.
Hmm, may be nice - firefox definitely has huge graph.
Currently my type graph is very partial - I have no nodes for types without
virtual methods at all. This is because types_same_for_odr is not able to give
exact answer (it gives false positives for templates). Hope to solve it
incrementaly.
I found many bugs at random places, so will push those out first and send
updated patch.
Honza