Commit a94f136b by Jan Hubicka Committed by Jan Hubicka

i386.c (constant_address_p): Use legitimate_constant_p.

	* i386.c (constant_address_p): Use legitimate_constant_p.
	(legitimate_address_p): Do not use CONSTANT_ADDRESS_P.

From-SVN: r65196
parent 0de298af
Thu Apr 3 09:53:40 CEST 2003 Jan Hubicka <jh@suse.cz>
* i386.c (constant_address_p): Use legitimate_constant_p.
(legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
2003-04-02 Kazu Hirata <kazu@cs.umass.edu> 2003-04-02 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300-protos.h: Add a prototype for * config/h8300/h8300-protos.h: Add a prototype for
...@@ -26,7 +31,7 @@ Thu Apr 3 00:31:21 CEST 2003 Jan Hubicka <jh@suse.cz> ...@@ -26,7 +31,7 @@ Thu Apr 3 00:31:21 CEST 2003 Jan Hubicka <jh@suse.cz>
* doc/install.texi (Specific): Update pointers to apple.com. * doc/install.texi (Specific): Update pointers to apple.com.
Thu Apr 3 00:18:49 CEST 2003 Jan HUbicka <jh@suse.cz> Thu Apr 3 00:18:49 CEST 2003 Jan Hubicka <jh@suse.cz>
* i386.c (override_options): Disable red zone by default on i386. * i386.c (override_options): Disable red zone by default on i386.
(compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory): (compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):
......
...@@ -5710,26 +5710,7 @@ bool ...@@ -5710,26 +5710,7 @@ bool
constant_address_p (x) constant_address_p (x)
rtx x; rtx x;
{ {
switch (GET_CODE (x)) return CONSTANT_P (x) && legitimate_address_p (Pmode, x, 1);
{
case LABEL_REF:
case CONST_INT:
return true;
case CONST_DOUBLE:
return TARGET_64BIT;
case CONST:
/* For Mach-O, really believe the CONST. */
if (TARGET_MACHO)
return true;
/* Otherwise fall through. */
case SYMBOL_REF:
return !flag_pic && legitimate_constant_p (x);
default:
return false;
}
} }
/* Nonzero if the constant value X is a legitimate general operand /* Nonzero if the constant value X is a legitimate general operand
...@@ -6080,7 +6061,12 @@ legitimate_address_p (mode, addr, strict) ...@@ -6080,7 +6061,12 @@ legitimate_address_p (mode, addr, strict)
that never results in lea, this seems to be easier and that never results in lea, this seems to be easier and
correct fix for crash to disable this test. */ correct fix for crash to disable this test. */
} }
else if (!CONSTANT_ADDRESS_P (disp)) else if (GET_CODE (disp) != LABEL_REF
&& GET_CODE (disp) != CONST_INT
&& (GET_CODE (disp) != CONST
|| !legitimate_constant_p (disp))
&& (GET_CODE (disp) != SYMBOL_REF
|| !legitimate_constant_p (disp)))
{ {
reason = "displacement is not constant"; reason = "displacement is not constant";
goto report_error; goto report_error;
...@@ -6090,11 +6076,6 @@ legitimate_address_p (mode, addr, strict) ...@@ -6090,11 +6076,6 @@ legitimate_address_p (mode, addr, strict)
reason = "displacement is out of range"; reason = "displacement is out of range";
goto report_error; goto report_error;
} }
else if (!TARGET_64BIT && GET_CODE (disp) == CONST_DOUBLE)
{
reason = "displacement is a const_double";
goto report_error;
}
} }
/* Everything looks valid. */ /* Everything looks valid. */
......
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