]> git.ipfire.org Git - thirdparty/gcc.git/blob
0419f639c4dc74eff6999dc8469b6d3810953d14
[thirdparty/gcc.git] /
1 ..
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.
5
6 .. _caller-saves:
7
8 Caller-Saves Register Allocation
9 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
10
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.
14
15 .. c:macro:: HARD_REGNO_CALLER_SAVE_MODE (regno, nregs)
16
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.