s390.c (legitimize_pic_address): Assertions checking for non tls symbols added.
2006-02-20 Angel Nunez Mencias <anunez@de.ibm.com> * config/s390/s390.c (legitimize_pic_address): Assertions checking for non tls symbols added. (legitimize_address): Do nothing for PLUS expressions if one of the addends is a tls symbol reference. From-SVN: r111296
This commit is contained in:
parent
cc11cc9b0f
commit
cf9d76188a
@ -1,3 +1,10 @@
|
|||||||
|
2006-02-20 Angel Nunez Mencias <anunez@de.ibm.com>
|
||||||
|
|
||||||
|
* config/s390/s390.c (legitimize_pic_address): Assertions checking
|
||||||
|
for non tls symbols added.
|
||||||
|
(legitimize_address): Do nothing for PLUS expressions if one of the
|
||||||
|
addends is a tls symbol reference.
|
||||||
|
|
||||||
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
|
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
|
||||||
|
|
||||||
PR bootstrap/25476
|
PR bootstrap/25476
|
||||||
|
@ -2821,6 +2821,8 @@ legitimize_pic_address (rtx orig, rtx reg)
|
|||||||
rtx new = orig;
|
rtx new = orig;
|
||||||
rtx base;
|
rtx base;
|
||||||
|
|
||||||
|
gcc_assert (!TLS_SYMBOLIC_CONST (addr));
|
||||||
|
|
||||||
if (GET_CODE (addr) == LABEL_REF
|
if (GET_CODE (addr) == LABEL_REF
|
||||||
|| (GET_CODE (addr) == SYMBOL_REF && SYMBOL_REF_LOCAL_P (addr)))
|
|| (GET_CODE (addr) == SYMBOL_REF && SYMBOL_REF_LOCAL_P (addr)))
|
||||||
{
|
{
|
||||||
@ -2973,6 +2975,10 @@ legitimize_pic_address (rtx orig, rtx reg)
|
|||||||
if (GET_CODE (addr) == PLUS)
|
if (GET_CODE (addr) == PLUS)
|
||||||
{
|
{
|
||||||
rtx op0 = XEXP (addr, 0), op1 = XEXP (addr, 1);
|
rtx op0 = XEXP (addr, 0), op1 = XEXP (addr, 1);
|
||||||
|
|
||||||
|
gcc_assert (!TLS_SYMBOLIC_CONST (op0));
|
||||||
|
gcc_assert (!TLS_SYMBOLIC_CONST (op1));
|
||||||
|
|
||||||
/* Check first to see if this is a constant offset
|
/* Check first to see if this is a constant offset
|
||||||
from a local symbol reference. */
|
from a local symbol reference. */
|
||||||
if ((GET_CODE (op0) == LABEL_REF
|
if ((GET_CODE (op0) == LABEL_REF
|
||||||
@ -3345,6 +3351,12 @@ legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED,
|
|||||||
if (legitimate_address_p (mode, x, FALSE))
|
if (legitimate_address_p (mode, x, FALSE))
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
else if (GET_CODE (x) == PLUS
|
||||||
|
&& (TLS_SYMBOLIC_CONST (XEXP (x, 0))
|
||||||
|
|| TLS_SYMBOLIC_CONST (XEXP (x, 1))))
|
||||||
|
{
|
||||||
|
return x;
|
||||||
|
}
|
||||||
else if (flag_pic)
|
else if (flag_pic)
|
||||||
{
|
{
|
||||||
if (SYMBOLIC_CONST (x)
|
if (SYMBOLIC_CONST (x)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user