builtin_return_addr vs frame_pointer_needed vs -O3

DJ Delorie dj@redhat.com
Wed Jan 31 18:21:00 GMT 2001


> +   /* In override_options, TARGET_OMIT_LEAF_FRAME_POINTER turns off
> +      the frame pointer by default.  Turn it back on now if we've not
> +      got a leaf function.  */
> +   if (TARGET_OMIT_LEAF_FRAME_POINTER && ! leaf_function_p ())
> +     return 1;

Could you explain this one?  I don't see how the non-leaf functions
require a frame pointer only when you want leaf functions to not have
one, but they don't require one otherwise.


More information about the Gcc mailing list