re PR target/21412 (ICE loading TLS address)
authorEric Botcazou <ebotcazou@libertysurf.fr>
Wed, 25 May 2005 07:04:04 +0000 (09:04 +0200)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Wed, 25 May 2005 07:04:04 +0000 (07:04 +0000)
commit38fc66bac77d6b63669e89f41c05b7cca8576d15
tree484e1f45bb64046a2af02ae5b5edc1eb51ecbfca
parent5c498b10af2cf068e55361f7b2915c799f2508d3
re PR target/21412 (ICE loading TLS address)

PR target/21412
* config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): New macro
* config/sparc/sparc-protos.h (tls_symbolic_operand): Delete.
(sparc_tls_referenced_p): New prototype.
* config/sparc/sparc.c (tls_symbolic_operand): Delete.
(sparc_expand_move): Look for TLS addresses with constant offsets.
(legitimate_constant_p): Use SPARC_SYMBOL_REF_TLS_P instead of
tls_symbolic_operand.
(legitimate_pic_operand_p): Likewise.
(legitimate_address_p): Likewise.
(legitimize_address): Likewise.
(sparc_tls_symbol_ref_1): New function.
(sparc_tls_referenced_p): New function.
* config/sparc/predicates.md (tgd_symbolic_operand): Use
SYMBOL_REF_TLS_MODEL instead of tls_symbolic_operand.
(tld_symbolic_operand): Likewise.
(tie_symbolic_operand): Likewise.
(tle_symbolic_operand): Likewise.

From-SVN: r100137
gcc/ChangeLog
gcc/config/sparc/predicates.md
gcc/config/sparc/sparc-protos.h
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.h