On 05/30/14 00:47, Martin Liška wrote:
Hello,
this patch enhances callgraph API to enable more precise control of
expand_thunk; another function becomes global.
Bootstrapped and tested on x86_64-linux.
OK for trunk?
Thanks,
Martin
2014-05-29 Martin Liska <mli...@suse.cz>
* cgraph.h (expand_thunk): New argument added.
(address_taken_from_non_vtable_p): New global function.
* ipa-visibility.c (address_taken_from_non_vtable_p): Likewise.
* cgraphclones.c (duplicate_thunk_for_node): Argument added to call.
* cgraphunit.c (analyze_function): Likewise.
(assemble_thunks_and_aliases): Argument added to call.
(expand_thunk): New argument forces to produce GIMPLE thunk.
Only concern here is the location of the prototype for
address_taken_from_non_vtable_p. Though I guess other things form
ipa-visibility.c are prototyped in cgraph.h.
Can you put the prototype here in cgraph.h:
/* In ipa-visibility.c */
bool cgraph_local_node_p (struct cgraph_node *);
Otherwise OK.
Real curious to see the meat of the optimization now :-)
jeff