reload1.c (reload): Check CONSTANT_P before calling LEGITIMATE_PIC_OPERAND_P.
* reload1.c (reload): Check CONSTANT_P before calling LEGITIMATE_PIC_OPERAND_P. * config/cris/cris.c (cris_legitimate_pic_operand): Revert workaround of 2001-10-13. From-SVN: r46381
This commit is contained in:
parent
38ca929b57
commit
129c089988
|
@ -1,3 +1,10 @@
|
|||
2001-10-20 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
* reload1.c (reload): Check CONSTANT_P before calling
|
||||
LEGITIMATE_PIC_OPERAND_P.
|
||||
* config/cris/cris.c (cris_legitimate_pic_operand): Revert
|
||||
workaround of 2001-10-13.
|
||||
|
||||
Sat Oct 20 15:16:10 CEST 2001 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* i386.c (split_di): Handle splitting of DFmode.
|
||||
|
|
|
@ -2239,12 +2239,6 @@ int
|
|||
cris_legitimate_pic_operand (x)
|
||||
rtx x;
|
||||
{
|
||||
/* This test is due to a bug in the core of GCC. See
|
||||
<URL:http://gcc.gnu.org/ml/gcc-patches/2001-09/msg01038.html> for the
|
||||
real fix; we shouldn't need to test CONSTANT_P here. */
|
||||
if (! CONSTANT_P (x))
|
||||
return 0;
|
||||
|
||||
/* The PIC representation of a symbol with a GOT entry will be (for
|
||||
example; relocations differ):
|
||||
sym => [rPIC+sym:GOT]
|
||||
|
|
|
@ -778,7 +778,11 @@ reload (first, global)
|
|||
#ifdef LEGITIMATE_PIC_OPERAND_P
|
||||
&& (! function_invariant_p (XEXP (note, 0))
|
||||
|| ! flag_pic
|
||||
|| LEGITIMATE_PIC_OPERAND_P (XEXP (note, 0)))
|
||||
/* A function invariant is often CONSTANT_P but may
|
||||
include a register. We promise to only pass
|
||||
CONSTANT_P objects to LEGITIMATE_PIC_OPERAND_P. */
|
||||
|| (CONSTANT_P (XEXP (note, 0))
|
||||
&& LEGITIMATE_PIC_OPERAND_P (XEXP (note, 0))))
|
||||
#endif
|
||||
)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue