pa.h (DONT_RECORD_EQUIVALENCE): Kill.

* pa.h (DONT_RECORD_EQUIVALENCE): Kill.
        * local-alloc.c (update_equiv_regs): Corresponding changes.
        * tm.texi (DONT_RECORD_EQUIVALENCE): Kill.

From-SVN: r24541
This commit is contained in:
Jeffrey A Law 1999-01-06 21:44:21 +00:00 committed by Jeff Law
parent fbd8fef444
commit 4f72f5dad7
4 changed files with 6 additions and 42 deletions

View File

@ -12,6 +12,10 @@ Wed Jan 6 17:55:19 1999 Robert Lipe <robertlipe@usa.net>
Wed Jan 6 16:08:54 1999 Jeffrey A Law (law@cygnus.com)
* pa.h (DONT_RECORD_EQUIVALENCE): Kill.
* local-alloc.c (update_equiv_regs): Corresponding changes.
* tm.texi (DONT_RECORD_EQUIVALENCE): Kill.
* calls.c (special_function_p): Push alloca test inside the large
conditional which excludes functions not at file scope or not
extern.

View File

@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for the HP Spectrum.
Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
Copyright (C) 1992, 93-98, 1999 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com) of Cygnus Support
and Tim Moore (moore@defmacro.cs.utah.edu) of the Center for
Software Science at the University of Utah.
@ -810,20 +810,6 @@ int zdepi_cint_p ();
#define CLASS_MAX_NREGS(CLASS, MODE) \
(!TARGET_SNAKE && (CLASS) == FP_REGS ? 1 : \
((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD))
/* We do not want to record equivalences for expressions which are
likely to cause a spill of %r1 if they are used by reload.
Nor do we want to record an equivalence of a constant expression
that the target can not handle appearing in an insn, but which
also must be accepted by LEGITIMATE_CONSTANT_P.
On the PA, these two goals are the same -- don't record any equivalences
for symbolic operands that are not read_only_operands. */
#define DONT_RECORD_EQUIVALENCE(NOTE) \
(symbolic_operand (XEXP (NOTE, 0), VOIDmode) \
&& !read_only_operand (XEXP (NOTE, 0), VOIDmode))
/* Stack layout; function entry, exit and calling. */

View File

@ -796,22 +796,6 @@ update_equiv_regs ()
note = find_reg_note (insn, REG_EQUAL, NULL_RTX);
#ifdef DONT_RECORD_EQUIVALENCE
/* Allow the target to reject promotions of some REG_EQUAL notes to
REG_EQUIV notes.
In some cases this can improve register allocation if the existence
of the REG_EQUIV note is likely to increase the lifetime of a register
that is likely to be spilled.
It may also be necessary if the target can't handle certain constant
expressions appearing randomly in insns, but for whatever reason
those expressions must be considered legitimate constant expressions
to prevent them from being forced into memory. */
if (note && DONT_RECORD_EQUIVALENCE (note))
note = NULL;
#endif
if (REG_N_SETS (regno) != 1
&& (! note
|| ! function_invariant_p (XEXP (note, 0))

View File

@ -1,4 +1,4 @@
@c Copyright (C) 1988,89,92,93,94,96,97,1998 Free Software Foundation, Inc.
@c Copyright (C) 1988,89,92,93,94,96,97,98,1999 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@ -4389,16 +4389,6 @@ an immediate operand on the target machine. You can assume that
@var{x} satisfies @code{CONSTANT_P}, so you need not check this. In fact,
@samp{1} is a suitable definition for this macro on machines where
anything @code{CONSTANT_P} is valid.@refill
@findex DONT_RECORD_EQUIVALENCE
@item DONT_RECORD_EQUIVALENCE (@var{note})
A C expression that is nonzero if the @code{REG_EQUAL} note @var{x} should not
be promoted to a @code{REG_EQUIV} note.
Define this macro if @var{note} refers to a constant that must be accepted
by @code{LEGITIMATE_CONSTANT_P}, but must not appear as an immediate operand.
Most machine descriptions do not need to define this macro.
@end table
@node Condition Code