IPA and LTO
AJM-2
mcpherson.aj@gmail.com
Wed Jul 13 16:23:00 GMT 2011
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 compilation into two stages, then in the link stage
gcc -flto a.o b.o
the pass is never called.
Conversely, the gate of IPA-Points-to does seem to be called three times at
link time (presumably once for each file and then once for all together). I
cannot discover the cause of the different behaviours here.
Diego Novillo-3 wrote:
>
> On Wed, Jul 13, 2011 at 10:22, AJM-2 <mcpherson.aj@gmail.com> 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, it can. You seem to be describing what GCC calls "simple IPA
> pass". These are passes that cannot run in partitioned LTO mode, as
> they require the function bodies to operate. Look for passes like
> pass_ipa_function_and_variable_visibility for an example of a simple
> IPA pass.
>
>
> Diego.
>
>
--
View this message in context: http://old.nabble.com/IPA-and-LTO-tp32052838p32054720.html
Sent from the gcc - Dev mailing list archive at Nabble.com.
More information about the Gcc
mailing list