Zack Weinberg wrote:
> Link-time optimization is described as an experimental new feature in
> the GCC 4.5.0 release notes[1].  The 4.6.0 release notes[2] say that
> it has now "stabilized to the point of being usable", and the 4.7.0
> release notes[3] describe it as still further improved both in
> reliability and code quality.  If we're trying to use the 4.5 LTO,
> I'm not at all surprised to hear it's causing more trouble than it's
> worth.
> 
> PGO is not the same thing as LTO, of course, but GCC's PGO was kind
> of an unloved stepchild until they got serious about LTO, so that,
> too, is likely to be much improved in 4.7.

I think it is important to give Linux users the fastest browser we can give 
them, because:

1. Linux users tend to be disproportionately influential in the markets we care 
the most about (web developers, techies)
2. Linux is the foundation of B2G and Firefox for Android, where we 
*definitely* must deliver the fastest product we can

Now, if it were up to me, I'd try to reproduce this on a build built with the 
latest stable GCC or latest stable clang, and if that fixes the issue, I'd 
consider this a big motivation for upgrading to GCC 4.5 to a better compiler, 
which we need to do anyway for language feature support. Definitely, I don't 
think we should be adding hacks to our code to work around GCC problems that 
are already fixed in later releases of GCC. It's better to just make the build 
fail when the user attempts to use one of those older GCC releases.

Now, if PGO doesn't result in the fastest browser, then of course we should 
disable PGO.

Or, if there is no better compiler possible, then yes, I think it makes sense 
to disable PGO temporarily until there is a better compiler available. (And/or, 
help fix the compiler, either by contributing a patch, or by commissioning 
somebody else to contribute a patch.)

Cheers,
Brian
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to