GNU Compiler Collection (GCC) Internals: Caller Saves

Next: Function Entry, Previous: Aggregate Return, Up: Stack and Calling [Contents][Index]

#### 18.9.10 Caller-Saves Register Allocation

If you enable it, GCC can save registers around function calls. This makes it possible to use call-clobbered registers to hold variables that must live across calls.

Macro: HARD_REGNO_CALLER_SAVE_MODE (regno, nregs)

  A C expression specifying which mode is required for saving nregs of a pseudo-register in call-clobbered hard register regno. If regno is unsuitable for caller save, `VOIDmode` should be returned. For most machines this macro need not be defined since GCC will select the smallest suitable mode.