diff options
author | Eric Botcazou <ebotcazou@libertysurf.fr> | 2005-05-25 09:04:04 +0200 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2005-05-25 07:04:04 +0000 |
commit | 38fc66bac77d6b63669e89f41c05b7cca8576d15 (patch) | |
tree | 484e1f45bb64046a2af02ae5b5edc1eb51ecbfca /gcc/config/sparc/sparc.h | |
parent | 5c498b10af2cf068e55361f7b2915c799f2508d3 (diff) | |
download | gcc-38fc66bac77d6b63669e89f41c05b7cca8576d15.zip gcc-38fc66bac77d6b63669e89f41c05b7cca8576d15.tar.gz gcc-38fc66bac77d6b63669e89f41c05b7cca8576d15.tar.bz2 |
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
Diffstat (limited to 'gcc/config/sparc/sparc.h')
-rw-r--r-- | gcc/config/sparc/sparc.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h index 0e0aea2..9fcee12 100644 --- a/gcc/config/sparc/sparc.h +++ b/gcc/config/sparc/sparc.h @@ -2358,6 +2358,9 @@ extern int sparc_indent_opcode; sparc_output_dwarf_dtprel (FILE, SIZE, X) #endif +#define SPARC_SYMBOL_REF_TLS_P(RTX) \ + (GET_CODE (RTX) == SYMBOL_REF && SYMBOL_REF_TLS_MODEL (RTX) != 0) + #define PRINT_OPERAND_PUNCT_VALID_P(CHAR) \ ((CHAR) == '#' || (CHAR) == '*' || (CHAR) == '(' \ || (CHAR) == ')' || (CHAR) == '_' || (CHAR) == '&') |