diff options
author | Richard Biener <rguenther@suse.de> | 2014-06-04 13:51:18 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-06-04 13:51:18 +0000 |
commit | 38af3208d5385b8b2601599479179888ce7f09a8 (patch) | |
tree | 35be3811c5cefc8ef71fdcd7fa8dfa98ec03f8ec /gcc | |
parent | 9ccac7012cd0cf5bcb7525d67d2675f4e3e3ffd4 (diff) | |
download | gcc-38af3208d5385b8b2601599479179888ce7f09a8.zip gcc-38af3208d5385b8b2601599479179888ce7f09a8.tar.gz gcc-38af3208d5385b8b2601599479179888ce7f09a8.tar.bz2 |
tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from TREE_PUBLIC and DECL_EXTERNAL decls.
2014-06-04 Richard Biener <rguenther@suse.de>
* tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
TREE_PUBLIC and DECL_EXTERNAL decls.
From-SVN: r211233
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree.h | 4 |
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 @@ -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))) |