This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] i386: Don't use frame pointer without stack access
On 8/7/2017 8:43 AM, Jakub Jelinek wrote:
On Mon, Aug 07, 2017 at 08:39:24AM -0700, H.J. Lu wrote:
When Linux/x86-64 kernel is compiled with -fno-omit-frame-pointer.
this optimization removes more than 730
movq %rsp, %rbp
If you don't want the frame pointer, why are you compiling with
-fno-omit-frame-pointer? Are you going to add
-fforce-no-omit-frame-pointer or something similar so that people can
actually get what they are asking for? This doesn't really make sense.
It is perfectly fine to omit frame pointer by default, when it isn't
required for something, but if the user asks for it, we shouldn't ignore his
wanting a framepointer is very nice and desired...
... but if the optimizer/ins scheduler moves instructions outside of the frame'd portion,
(it does it for cases like below as well), the value is already negative for these
functions that don't have stack use.
(gcc 7.1 compiling mpich with LTO)
specifically the push/mov/pop back to back makes no sense at all to me.
if there was meat before the pop, sure.
but when there isn't......