diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2014-08-28 06:24:40 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2014-08-28 06:24:40 +0000 |
commit | 6180e3d8705e54db209efe706a778e79965be34c (patch) | |
tree | ff3a999faab06864d0dc71315f1ceadd4bd5c761 /gcc/rtlanal.c | |
parent | 8d8e205b922741ad452fbe0750d2d8af8515c967 (diff) | |
download | gcc-6180e3d8705e54db209efe706a778e79965be34c.zip gcc-6180e3d8705e54db209efe706a778e79965be34c.tar.gz gcc-6180e3d8705e54db209efe706a778e79965be34c.tar.bz2 |
rtl.h (tls_referenced_p): Take a const_rtx rather than an rtx.
gcc/
* rtl.h (tls_referenced_p): Take a const_rtx rather than an rtx.
* rtlanal.c (tls_referenced_p_1): Delete.
(tls_referenced_p): Take a const_rtx rather than an rtx.
Use FOR_EACH_SUBRTX rather than for_each_rtx.
From-SVN: r214658
Diffstat (limited to 'gcc/rtlanal.c')
-rw-r--r-- | gcc/rtlanal.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index 3e3af72..ceaa7ab 100644 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -6075,21 +6075,17 @@ get_index_code (const struct address_info *info) return SCRATCH; } -/* Return 1 if *X is a thread-local symbol. */ - -static int -tls_referenced_p_1 (rtx *x, void *) -{ - return GET_CODE (*x) == SYMBOL_REF && SYMBOL_REF_TLS_MODEL (*x) != 0; -} - /* Return true if X contains a thread-local symbol. */ bool -tls_referenced_p (rtx x) +tls_referenced_p (const_rtx x) { if (!targetm.have_tls) return false; - return for_each_rtx (&x, &tls_referenced_p_1, 0); + subrtx_iterator::array_type array; + FOR_EACH_SUBRTX (iter, array, x, NONCONST) + if (GET_CODE (*iter) == SYMBOL_REF && SYMBOL_REF_TLS_MODEL (*iter) != 0) + return true; + return false; } |