Inhibit saving callee-saved registers for noreturn+nothrow functions

Segher Boessenkool segher@kernel.crashing.org
Mon Oct 14 10:43:00 GMT 2019


Hi!

On Mon, Oct 14, 2019 at 11:26:15AM +0200, Florian Weimer wrote:
> In some cases, it is desirable as an optimization not to save any
> callee-saved registers in the function prologue.  This is common for
> functions which are at the lowest frame, where there is nothing to
> return to, and unwinding cannot proceed, either.  However, GCC seems to
> generate code for saving registers even for such functions, for example:

> Is there a way to avoid this?

I don't think so.

What will this do to debuggability?  Not much I hope...  There are many
comparable cases where we lose variable contents of callers.

Could you open a feature request please?


Segher



More information about the Gcc-help mailing list