2 Copyright 1988-2022 Free Software Foundation, Inc.
3 This is part of the GCC manual.
4 For copying conditions, see the copyright.rst file.
8 Caller-Saves Register Allocation
9 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
11 If you enable it, GCC can save registers around function calls. This
12 makes it possible to use call-clobbered registers to hold variables that
13 must live across calls.
15 .. c:macro:: HARD_REGNO_CALLER_SAVE_MODE (regno, nregs)
17 A C expression specifying which mode is required for saving :samp:`{nregs}`
18 of a pseudo-register in call-clobbered hard register :samp:`{regno}`. If
19 :samp:`{regno}` is unsuitable for caller save, ``VOIDmode`` should be
20 returned. For most machines this macro need not be defined since GCC
21 will select the smallest suitable mode.