alpha.c (tls_symbolic_operand_1): Trust SYMBOL_REF_TLS_MODEL to be correct.

* config/alpha/alpha.c (tls_symbolic_operand_1): Trust
        SYMBOL_REF_TLS_MODEL to be correct.

From-SVN: r104622
This commit is contained in:
Richard Henderson 2005-09-25 11:34:45 -07:00 committed by Richard Henderson
parent 2eca7d1572
commit f6326c19c7
2 changed files with 7 additions and 13 deletions

View File

@ -1,3 +1,8 @@
2005-09-25 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.c (tls_symbolic_operand_1): Trust
SYMBOL_REF_TLS_MODEL to be correct.
2005-09-24 Richard Henderson <rth@redhat.com>
* ipa-type-escape.c (discover_unique_type): Remove dead code at

View File

@ -533,25 +533,14 @@ tls_symbolic_operand_1 (rtx op, int size, int unspec)
if (GET_CODE (op) != SYMBOL_REF)
return 0;
if (SYMBOL_REF_LOCAL_P (op))
{
if (alpha_tls_size > size)
return 0;
}
else
{
if (size != 64)
return 0;
}
switch (SYMBOL_REF_TLS_MODEL (op))
{
case TLS_MODEL_LOCAL_DYNAMIC:
return unspec == UNSPEC_DTPREL;
return unspec == UNSPEC_DTPREL && size == alpha_tls_size;
case TLS_MODEL_INITIAL_EXEC:
return unspec == UNSPEC_TPREL && size == 64;
case TLS_MODEL_LOCAL_EXEC:
return unspec == UNSPEC_TPREL;
return unspec == UNSPEC_TPREL && size == alpha_tls_size;
default:
gcc_unreachable ();
}