This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC PATCH 1/4] Indirect call graph edges.
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Martin Jambor <mjambor at suse dot cz>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Jan Hubicka <hubicka at ucw dot cz>
- Date: Fri, 1 Jan 2010 17:28:59 +0100
- Subject: Re: [RFC PATCH 1/4] Indirect call graph edges.
- References: <20091228234844.972076650@alvy.suse.cz> <20091228234910.888739171@alvy.suse.cz>
> Index: icln/gcc/cgraph.h
> ===================================================================
> --- icln.orig/gcc/cgraph.h
> +++ icln/gcc/cgraph.h
> @@ -184,6 +184,9 @@ struct GTY((chain_next ("%h.next"), chai
> struct cgraph_edge *callers;
> struct cgraph_node *next;
> struct cgraph_node *previous;
> + /* List of edges representing indirect calls with a yet undetermined
> + caller. */
> + struct cgraph_edge *indirect_edges;
Actually I was planning to put all the edges into single linked list,
but lets see how separate list for indirect calls will work.
Since the list of callers is via "callers", I guess we should name
it "indirect_calls" or something like that.
Your patch is representing only indirect calls of function parameters
to support devirtualization, right? Eventually we will need to support
all indirect calls in order to build proper callgraph with indirect
multiedges.
Otherwise the patch seems resonable.
Honza