From faa9eb19777eaf54cdc8c2bac01b9d4217e524bf Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Fri, 4 Dec 1998 13:09:39 +0000 Subject: [PATCH] * tm.texi (SMALL_REGISTER_CLASSES): Make description match reality. From-SVN: r24092 --- gcc/ChangeLog | 2 ++ gcc/tm.texi | 14 ++++++-------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fac10961731..d8bf2060a2b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,7 @@ Fri Dec 4 20:15:57 1998 Bernd Schmidt + * tm.texi (SMALL_REGISTER_CLASSES): Make description match reality. + * final.c (cleanup_subreg_operands): Delete some unused code. * recog.h (MAX_RECOG_ALTERNATIVES): New macro. diff --git a/gcc/tm.texi b/gcc/tm.texi index a33df5e3535..738ec162bcf 100644 --- a/gcc/tm.texi +++ b/gcc/tm.texi @@ -2022,17 +2022,15 @@ is @code{BITS_PER_WORD} bits wide is correct for your machine. @findex SMALL_REGISTER_CLASSES @item SMALL_REGISTER_CLASSES -Normally the compiler avoids choosing registers that have been -explicitly mentioned in the rtl as spill registers (these registers are -normally those used to pass parameters and return values). However, -some machines have so few registers of certain classes that there -would not be enough registers to use as spill registers if this were -done. +On some machines, it is risky to let hard registers live across arbitrary +insns. Typically, these machines have instructions that require values +to be in specific registers (like an accumulator), and reload will fail +if the required hard register is used for another purpose across such an +insn. Define @code{SMALL_REGISTER_CLASSES} to be an expression with a non-zero value on these machines. When this macro has a non-zero value, the -compiler allows registers explicitly used in the rtl to be used as spill -registers but avoids extending the lifetime of these registers. +compiler will try to minimize the lifetime of hard registers. It is always safe to define this macro with a non-zero value, but if you unnecessarily define it, you will reduce the amount of optimizations -- 2.30.2