From ebd3cb1284eef8df20f45a233c299cc5ce658eb7 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Sat, 6 Sep 2014 10:04:44 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/rtlanal.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 97408f1ee11..dcf4e2a9565 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-09-06 Richard Sandiford + + PR middle-end/63171 + * rtlanal.c (tls_referenced_p): Don't skip constant subrtxes. + 2014-09-06 Tom de Vries * ira-costs.c (ira_tune_allocno_costs): Don't conditionalize diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index 3fe2cd4efd4..ece51c8c312 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; -- 2.30.2