PATCH: Turn on -fomit-frame-pointer by default for 32bit Linux/x86

H.J. Lu hjl.tools@gmail.com
Wed Aug 4 18:18:00 GMT 2010


On Wed, Aug 4, 2010 at 11:11 AM, Mark Mitchell <mark@codesourcery.com> wrote:
> Andi Kleen wrote:
>
>>> Ah, so your argument *is* "x86-64 profiling is degraded, so we might
>>> as well degrade x86 as well."
>>
>> It's not a totally unreasonable argument.
>
> I agree; you can reason as follows:
>
> * We are not going to change the 64-bit ABI.
> * We really want profiling to work on the 64-bit ABI.
> * Therefore, we must fix profiling for the 64-bit ABI so that it works
> well without a frame pointer.
> * That solution will probably work well on the 32-bit ABI too.
>
> But, then there is a reasonable question about ordering.  If that's the
> plan, then perhaps profiling should be fixed first, so that 32-bit users
> don't lose that ability until someone gets around to fixing profiling
> without a frame pointer.  On the other hand, maybe 32-bit users would
> like their performance increase now.
>
> HJ, I don't think your arguments are persuasive in themselves.  There is
> not a completely obvious right answer here and simply tossing out the
> same arguments doesn't make them more obviously right.  This is a
> question about what's good for users; whether they benefit more by the
> performance improvement than they lose by the change in ABI and code
> breakage and associated loss of functionality.
>
> My instinct on this issue remains that we should make the change, but I
> don't claim that's obvious.  The only way I can see to get a scientific
> answer (as opposed to "my instinct is" answer) is to talk to actual users.

ICC has made -fomit-frame-pointer the default on 32bit for a quite while. I can
ask ICC people if they have any complaints from their users.

> Please either go do that, or else let's ask RTH, Uros, and Jan to vote;
> we've got three x86 maintainers, so if they all vote, we can't have a tie...
>

That sounds a good idea.

-- 
H.J.



More information about the Gcc-patches mailing list