re PR target/42564 (unrecognizable insn with -O -fPIC)
commit208384fdd27fc1d15c7bc0be8c1f4d8cf8ca6637
authorEric Botcazou <ebotcazou@adacore.com>
Tue, 5 Jan 2010 22:29:18 +0000 (5 22:29 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Tue, 5 Jan 2010 22:29:18 +0000 (5 22:29 +0000)
tree74ae2545069058553587b414ac1964dc1e6fce54
parent4396e06315f0fdd09acf6eedfa4ea913b7106e96
re PR target/42564 (unrecognizable insn with -O -fPIC)

PR target/42564
* config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
* config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
(legitimize_tls_address): Likewise.
(sparc_tls_referenced_p): Likewise.
* config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
and adjust calls to legitimize_pic_address.
(legitimate_constant_p) Use sparc_tls_referenced_p.
(legitimate_pic_operand_p): Likewise.
(sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
(sparc_tls_symbol_ref_1): Delete.
(sparc_tls_referenced_p): Make static, recognize specific patterns.
(legitimize_tls_address): Make static, handle CONST patterns.
(legitimize_pic_address): Make static, remove unused parameter and
adjust recursive calls.
(sparc_legitimize_address): Make static, use sparc_tls_referenced_p
and adjust call to legitimize_pic_address.
(sparc_output_mi_thunk): Likewise.

From-SVN: r155662
gcc/ChangeLog
gcc/config/sparc/sparc-protos.h
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tls/opt-15.c [new file with mode: 0644]