From 4033a1f238593d85ca3bef569214ffcbd51b26ec Mon Sep 17 00:00:00 2001 From: Aldy Hernandez Date: Wed, 24 Nov 2004 16:37:02 +0000 Subject: [PATCH] tree.c (recompute_tree_invarant_for_addr_expr): The address of a thread-local variable is invariant. * tree.c (recompute_tree_invarant_for_addr_expr): The address of a thread-local variable is invariant. From-SVN: r91174 --- gcc/ChangeLog | 5 +++++ gcc/tree.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9d9423452f0..7d5bae227f3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-11-24 Aldy Hernandez + + * tree.c (recompute_tree_invarant_for_addr_expr): The address of a + thread-local variable is invariant. + 2004-11-24 Richard Kenner * tree-pretty-print.c (dump_generic_node, case POINTER_TYPE): diff --git a/gcc/tree.c b/gcc/tree.c index 643f1def6e4..9fb3628261d 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -2421,7 +2421,9 @@ do { tree _node = (NODE); \ { if (staticp (node)) ; - else if (decl_function_context (node) == current_function_decl) + else if (decl_function_context (node) == current_function_decl + /* Addresses of thread-local variables are invariant. */ + || (TREE_CODE (node) == VAR_DECL && DECL_THREAD_LOCAL (node))) tc = false; else ti = tc = false; -- 2.30.2