This is the mail archive of the gcc-patches@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: [RFC] cfg.c: Remove cached_make_edge.


On Mon, 2004-11-29 at 21:09 -0500, Kazu Hirata wrote:

> > An idea I just had would be to kill the edge cache except for critical
> > edges where the head of the edge has a high out degree and the tail of
> > the edge has a high in degree.  That captures precisely the cases where
> > find_edge would be potentially useful. The question then becomes can we
> > build & maintain the edge cache for just those edges and what would be
> > the cost compared to what we do now.
> 
> One problem I am struggling is that if we are caching the existence of
> edges, we still need find_edge in the following situation.  Say, we
> get a request to add an edge, and that edge already exists, but we
> still need to OR the new flags into the existing edge.  We could use a
> hash table for the dense part of the CFG, but I haven't thought very
> much about what to do with it.
But how likely is it that when we need to add a duplicate of one of
these high out-in degree critical edges _and_ we have new flags to
add into the existing edge?

jeff  




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