aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2014-09-06 10:04:44 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2014-09-06 10:04:44 +0000
commitebd3cb1284eef8df20f45a233c299cc5ce658eb7 (patch)
tree7132c2156eafcb72192325016439c8026188e482
parent811e4f15d616e4501d5beff25075bfea57a2f1aa (diff)
downloadgcc-ebd3cb1284eef8df20f45a233c299cc5ce658eb7.zip
gcc-ebd3cb1284eef8df20f45a233c299cc5ce658eb7.tar.gz
gcc-ebd3cb1284eef8df20f45a233c299cc5ce658eb7.tar.bz2
re PR target/63171 (Segfault in rs6000.c:rs6000_emit_move for multiple tls tests starting with r214658)
gcc/ PR middle-end/63171 * rtlanal.c (tls_referenced_p): Don't skip constant subrtxes. From-SVN: r214989
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/rtlanal.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 97408f1..dcf4e2a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2014-09-06 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR middle-end/63171
+ * rtlanal.c (tls_referenced_p): Don't skip constant subrtxes.
+
2014-09-06 Tom de Vries <tom@codesourcery.com>
* ira-costs.c (ira_tune_allocno_costs): Don't conditionalize
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index 3fe2cd4..ece51c8 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -6072,7 +6072,7 @@ tls_referenced_p (const_rtx x)
return false;
subrtx_iterator::array_type array;
- FOR_EACH_SUBRTX (iter, array, x, NONCONST)
+ FOR_EACH_SUBRTX (iter, array, x, ALL)
if (GET_CODE (*iter) == SYMBOL_REF && SYMBOL_REF_TLS_MODEL (*iter) != 0)
return true;
return false;