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 PATCH 1/4] Indirect call graph edges.


> 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


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