aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree.h4
2 files changed, 6 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e3b375a..8260626 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2014-06-04 Richard Biener <rguenther@suse.de>
+
+ * tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
+ TREE_PUBLIC and DECL_EXTERNAL decls.
+
2014-06-04 Matthew Fortune <matthew.fortune@imgtec.com>
* regcprop.c (copyprop_hardreg_forward_1): Account for
diff --git a/gcc/tree.h b/gcc/tree.h
index 2637b55..a3fb866 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -4528,9 +4528,7 @@ static inline bool
may_be_aliased (const_tree var)
{
return (TREE_CODE (var) != CONST_DECL
- && (TREE_PUBLIC (var)
- || DECL_EXTERNAL (var)
- || TREE_ADDRESSABLE (var))
+ && TREE_ADDRESSABLE (var)
&& !((TREE_STATIC (var) || TREE_PUBLIC (var) || DECL_EXTERNAL (var))
&& ((TREE_READONLY (var)
&& !TYPE_NEEDS_CONSTRUCTING (TREE_TYPE (var)))