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:
Richard Sandiford 2014-11-08 11:25:32 +00:00 committed by Richard Sandiford
parent f959dcbba2
commit e7de8563da
2 changed files with 18 additions and 17 deletions

View File

@ -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.

View File

@ -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;
}