This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [Announcement] Creating lightweight IPO branch
- From: Richard Guenther <richard dot guenther at gmail dot com>
- To: Xinliang David Li <davidxl at google dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 5 May 2009 11:47:35 +0200
- Subject: Re: [Announcement] Creating lightweight IPO branch
- References: <522e93240905042200h403a58b2oaf7aa30905d0e36@mail.gmail.com>
On Tue, May 5, 2009 at 7:00 AM, Xinliang David Li <davidxl@google.com> wrote:
> Hi, I am going to create a gcc branch for the functionality of
> lightweight IPO. The description of the project and current status can
> be found in http://gcc.gnu.org/wiki/LightweightIpo. ?Some highlights:
>
> 1) If you already use FDO in your build, you also get IPO almost for free;
> 2) It is an IPO solution ?practical to very large real world C++ applications;
> 3) Performance potential is very large (though I've seen case
> increased compiler freedom can lead to performance degradation due to
> over-optimization (inliner, unroller etc) -- but this is a different
> matter).
>
> If the idea is generally accepted, I will prepare a series of patches
> and submit them to gcc trunk.
I was hoping that with LTO we can get rid of -combine, as its type/decl
merging is fragile in many cases. Does this somehow conflict with
LIPO? From what I understand is that you are merging TUs in the
frontend (like -combine) - did you consider merging TUs with the
LTO infrastructure, but in memory?
On the whole LIPO sounds indeed very interesting.
Thanks,
Richard.