This is the mail archive of the 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: status of IPA in gcc trunk? (Jack Howarth) writes:

>    Is there a wiki gcc page which accurately describes the
> current status of IPA in gcc trunk?

Not to my knowledge.

gcc trunk does support a type of Inter Procedural Analysis.  It is
always done, when optimizing, within a single source file.  There is
also the -combine option to do IPA across multiple files; it is
documented, but it only works for the C frontend, and has some
limitations.  There is also an ongoing project to improve IPA across
multiple files; this project is known as LTO (Link Time Optimization).

> I have run across a
> fortran benchmark which exhibits a huge improvement from
> IPA when compiled on XL Fortran. I would like to attempt
> to use the current IPA support in gcc trunk with gfortran
> but it doesn't seem to be well documented. I was under the
> impression that the gcc IPA would require collection of
> profiling results which would then be used in a successive
> compilation to implement the IPA optimizations.

That is a procedure which I, at least, would probably not call IPA.
That sounds more like what I would call Feedback Direction
Optimization, FDO.  gcc supports that, to a somewhat limited extended,
independently of using IPA.  For FDO, look in the documentation for
-fprofile-generate and -fprofile-use.

> ps Does each front-end have to be modified to use IPA or
> will they automatically use it once it is added to gcc
> trunk?

Each front end will have to be modified to use IPA.  No front end
modifications are required to use FDO.

Hope this helps.


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