Commit 4f72f5da by Jeffrey A Law Committed by Jeff Law

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
parent fbd8fef4
...@@ -12,6 +12,10 @@ Wed Jan 6 17:55:19 1999 Robert Lipe <robertlipe@usa.net> ...@@ -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) 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 * calls.c (special_function_p): Push alloca test inside the large
conditional which excludes functions not at file scope or not conditional which excludes functions not at file scope or not
extern. extern.
......
/* Definitions of target machine for GNU compiler, for the HP Spectrum. /* 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 Contributed by Michael Tiemann (tiemann@cygnus.com) of Cygnus Support
and Tim Moore (moore@defmacro.cs.utah.edu) of the Center for and Tim Moore (moore@defmacro.cs.utah.edu) of the Center for
Software Science at the University of Utah. Software Science at the University of Utah.
...@@ -810,20 +810,6 @@ int zdepi_cint_p (); ...@@ -810,20 +810,6 @@ int zdepi_cint_p ();
#define CLASS_MAX_NREGS(CLASS, MODE) \ #define CLASS_MAX_NREGS(CLASS, MODE) \
(!TARGET_SNAKE && (CLASS) == FP_REGS ? 1 : \ (!TARGET_SNAKE && (CLASS) == FP_REGS ? 1 : \
((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)) ((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. */ /* Stack layout; function entry, exit and calling. */
......
...@@ -796,22 +796,6 @@ update_equiv_regs () ...@@ -796,22 +796,6 @@ update_equiv_regs ()
note = find_reg_note (insn, REG_EQUAL, NULL_RTX); 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 if (REG_N_SETS (regno) != 1
&& (! note && (! note
|| ! function_invariant_p (XEXP (note, 0)) || ! function_invariant_p (XEXP (note, 0))
......
@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 This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi. @c For copying conditions, see the file gcc.texi.
...@@ -4389,16 +4389,6 @@ an immediate operand on the target machine. You can assume that ...@@ -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, @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 @samp{1} is a suitable definition for this macro on machines where
anything @code{CONSTANT_P} is valid.@refill 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 @end table
@node Condition Code @node Condition Code
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment