aarch64.c: Include rtl-iter.h.
gcc/ * config/aarch64/aarch64.c: Include rtl-iter.h. (aarch64_tls_operand_p_1): Delete. (aarch64_tls_operand_p): Use FOR_EACH_SUBRTX. From-SVN: r217256
This commit is contained in:
parent
f959dcbba2
commit
e7de8563da
|
@ -1,3 +1,9 @@
|
|||
2014-11-08 Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
* config/aarch64/aarch64.c: Include rtl-iter.h.
|
||||
(aarch64_tls_operand_p_1): Delete.
|
||||
(aarch64_tls_operand_p): Use FOR_EACH_SUBRTX.
|
||||
|
||||
2014-11-08 Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
* config/arm/arm.c (arm_note_pic_base): Delete.
|
||||
|
|
|
@ -2809,28 +2809,23 @@ aarch64_output_mi_thunk (FILE *file, tree thunk ATTRIBUTE_UNUSED,
|
|||
reload_completed = 0;
|
||||
}
|
||||
|
||||
static int
|
||||
aarch64_tls_operand_p_1 (rtx *x, void *data ATTRIBUTE_UNUSED)
|
||||
{
|
||||
if (GET_CODE (*x) == SYMBOL_REF)
|
||||
return SYMBOL_REF_TLS_MODEL (*x) != 0;
|
||||
|
||||
/* Don't recurse into UNSPEC_TLS looking for TLS symbols; these are
|
||||
TLS offsets, not real symbol references. */
|
||||
if (GET_CODE (*x) == UNSPEC
|
||||
&& XINT (*x, 1) == UNSPEC_TLS)
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static bool
|
||||
aarch64_tls_referenced_p (rtx x)
|
||||
{
|
||||
if (!TARGET_HAVE_TLS)
|
||||
return false;
|
||||
|
||||
return for_each_rtx (&x, aarch64_tls_operand_p_1, NULL);
|
||||
subrtx_iterator::array_type array;
|
||||
FOR_EACH_SUBRTX (iter, array, x, ALL)
|
||||
{
|
||||
const_rtx x = *iter;
|
||||
if (GET_CODE (x) == SYMBOL_REF && SYMBOL_REF_TLS_MODEL (x) != 0)
|
||||
return true;
|
||||
/* Don't recurse into UNSPEC_TLS looking for TLS symbols; these are
|
||||
TLS offsets, not real symbol references. */
|
||||
if (GET_CODE (x) == UNSPEC && XINT (x, 1) == UNSPEC_TLS)
|
||||
iter.skip_subrtxes ();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue