Go to the first, previous, next, last section, table of contents.
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 correct
REG_DEAD
notes are needed for hard register number regno
after reload.
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.)
It is also useful for peepholes and linker relaxation.
If this macro is not defined, it means that no death notes need to be
preserved, and some may even be incorrect. This is the usual situation.
Go to the first, previous, next, last section, table of contents.