Re: IPA and LTO

2011-07-13 Thread Richard Guenther
On Wed, Jul 13, 2011 at 10:09 PM, AJM-2 wrote: > > Putting my "simple IPA pass" adjacent to IPA-PTA does cause it to be called > as expected.  However for each node in the call graph (with > cgraph_function_body_availability returning AVAIL_AVAILABLE), > gimple_has_body_p is always false. > > The

Re: IPA and LTO

2011-07-13 Thread AJM-2
Putting my "simple IPA pass" adjacent to IPA-PTA does cause it to be called as expected. However for each node in the call graph (with cgraph_function_body_availability returning AVAIL_AVAILABLE), gimple_has_body_p is always false. The call graph data seems to be available, but the documentation

Re: IPA and LTO

2011-07-13 Thread Richard Guenther
On Wed, Jul 13, 2011 at 5:54 PM, AJM-2 wrote: > > What you say is in line with my understanding, however when I instrument the > execute function of ipa-function-and-variable-visibility > (local_function_and_variable_visibility()) I note that: > > gcc -flto a.c b.c > causes the pass to be called t

Re: IPA and LTO

2011-07-13 Thread Pierre Vittet
Hello, If local_function_and_variable_visibility was not a simple IPA pass it would not have been called once per file but once per function (as it is with GIMPLE pass). I feel this is normal that this pass is run 2 times because it is run before any link operations. However, I don't know ex

Re: IPA and LTO

2011-07-13 Thread AJM-2
What you say is in line with my understanding, however when I instrument the execute function of ipa-function-and-variable-visibility (local_function_and_variable_visibility()) I note that: gcc -flto a.c b.c causes the pass to be called twice (presumably once per file). If I split the compilatio

Re: IPA and LTO

2011-07-13 Thread Diego Novillo
On Wed, Jul 13, 2011 at 10:22, AJM-2 wrote: > My question is whether LTO can be used in this way, to have a simple ipa > pass called once at link time with access to the function bodies, and if so > how is this achieved?  cgraph_function_body_availability seems to only be > half the story. Yes,