This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Cgraph Modification Plan


> > On 9/5/12, Xinliang David Li <davidxl@google.com> wrote:
> > > On Sep 5, 2012 Jan Hubicka <hubicka@ucw.cz> wrote:
> > > > OK, the basic idea is that symtab_node is basetype of
> > > > cgraph_node and varpool_node.  We may want to drop the historica
> > > > cgraph/varpool names here, since function_node/variable_node
> > > > would sound better. Cgraph still exists, but varpool is more
> > > > or less historical relic.
> > >
> > > The cgraph redesign probably deserves more discussion.
> > 
> > Hence, the post!
> > 
> > > 1) It may be worthwhile to abstract the graph manipulation code
> > > into a utility class which is templatized.
> > >
> > > graph<T>, node<T> with node inheriting from T.
> > 
> > While I won't dispute the statement, getting from here to there
> > will likely involve some intermediate steps.
> 
> Commonizing some of cfg/cgraph/ssa graph handling would not hurt, but
> there is not _that_ much code in common - we do some strongly connected
> components discovery on all three kinds of graphs and basic traversals.

Also note that symbol table realy is an oriented multigraph with different
types of edges (i.e. calls and references and eventualy we will have indirect
calls with mutiple possible destinations derrived from PTA and devirtualization
logic). 

Honza


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]