summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2010-08-26 14:20:45 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2010-08-26 14:20:45 +0000
commit1aa0efa877a4483ecd2dc1edb9395ae38b13b0c1 (patch)
tree5c8b38737ca3b177feaf123363703144f4f1b039 /gcc
parent5ed9f77842d10cf69f0d89912eb2a8b07225f54c (diff)
downloadgcc-1aa0efa877a4483ecd2dc1edb9395ae38b13b0c1.tar.gz
2010-08-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45255 * tree.c (decl_address_invariant_p): DECL_DLLIMPORT_P statics and externals are also invariant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163565 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree.c3
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0cdd6aaba95..164bd56b48b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2010-08-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45255
+ * tree.c (decl_address_invariant_p): DECL_DLLIMPORT_P
+ statics and externals are also invariant.
+
2010-08-25 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/44858
diff --git a/gcc/tree.c b/gcc/tree.c
index 4ad2f5b1235..a767230d1c8 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -2474,8 +2474,7 @@ decl_address_invariant_p (const_tree op)
return true;
case VAR_DECL:
- if (((TREE_STATIC (op) || DECL_EXTERNAL (op))
- && !DECL_DLLIMPORT_P (op))
+ if ((TREE_STATIC (op) || DECL_EXTERNAL (op))
|| DECL_THREAD_LOCAL_P (op)
|| DECL_CONTEXT (op) == current_function_decl
|| decl_function_context (op) == current_function_decl)