diff options
author | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-27 15:32:47 +0000 |
---|---|---|
committer | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-27 15:32:47 +0000 |
commit | cb2d734ceee1aeef2fbf55f00c2b617f78a4ab33 (patch) | |
tree | 2b9d2fb0b1c90b07e3cc9d57a576a487ffca1759 /gcc/tree-ssa-copy.c | |
parent | a255f65a7c9820a126c7f94f5fa7b1c885a92807 (diff) | |
download | gcc-cb2d734ceee1aeef2fbf55f00c2b617f78a4ab33.tar.gz |
* tree-ssa-alias.c (create_name_tags): Ignore pointers that
don't have PT_VARS nor PT_MALLOC set.
Clear name tag from pointers that have not been dereferenced.
(set_pt_anything, set_pt_malloc): Forward declare.
* tree-ssa-copy.c (may_propagate_copy): Compare alias sets,
not type compatibility when determining if a pointer can be
copy propagated.
testsuite/ChangeLog
* gcc.c-torture/compile/20040727-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85220 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-copy.c')
-rw-r--r-- | gcc/tree-ssa-copy.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-ssa-copy.c b/gcc/tree-ssa-copy.c index 0ddfa9ce825..4dca3a5e288 100644 --- a/gcc/tree-ssa-copy.c +++ b/gcc/tree-ssa-copy.c @@ -112,6 +112,9 @@ may_propagate_copy (tree dest, tree orig) return false; else if (!lang_hooks.types_compatible_p (type_d, type_o)) return false; + else if (!alias_sets_conflict_p (get_alias_set (type_d), + get_alias_set (type_o))) + return false; } /* If the destination is a SSA_NAME for a virtual operand, then we have |