Go backward to Stack Registers.
Go up to Registers.
Obsolete Macros for Controlling Register Usage
----------------------------------------------
These features do not work very well. They exist because they used
to be required to generate correct code for the 80387 coprocessor of the
80386. They are no longer used by that machine description and may be
removed in a later version of the compiler. Don't use them!
`OVERLAPPING_REGNO_P (REGNO)'
If defined, this is a C expression whose value is nonzero if hard
register number REGNO is an overlapping register. This means a
hard register which overlaps a hard register with a different
number. (Such overlap is undesirable, but occasionally it allows
a machine to be supported which otherwise could not be.) This
macro must return nonzero for *all* the registers which overlap
each other. GNU CC can use an overlapping register only in
certain limited ways. It can be used for allocation within a
basic block, and may be spilled for reloading; that is all.
If this macro is not defined, it means that none of the hard
registers overlap each other. This is the usual situation.
`INSN_CLOBBERS_REGNO_P (INSN, REGNO)'
If defined, this is a C expression whose value should be nonzero if
the insn INSN has the effect of mysteriously clobbering the
contents of hard register number REGNO. By "mysterious" we mean
that the insn's RTL expression doesn't describe such an effect.
If this macro is not defined, it means that no insn clobbers
registers mysteriously. This is the usual situation; all else
being equal, it is best for the RTL expression to show all the
activity.
`PRESERVE_DEATH_INFO_REGNO_P (REGNO)'
If defined, this is a C expression whose value is nonzero if
accurate `REG_DEAD' notes are needed for hard register number REGNO
at the time of outputting the assembler code. When this is so, a
few optimizations that take place after register allocation and
could invalidate the death notes are not done when this register is
involved.
You would arrange to preserve death info for a register when some
of the code in the machine description which is executed to write
the assembler code looks at the death notes. This is necessary
only when the actual hardware feature which GNU CC thinks of as a
register is not actually a register of the usual sort. (It might,
for example, be a hardware stack.)
If this macro is not defined, it means that no death notes need to
be preserved. This is the usual situation.