summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-copy.c
diff options
context:
space:
mode:
authordnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-27 15:32:47 +0000
committerdnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-27 15:32:47 +0000
commitcb2d734ceee1aeef2fbf55f00c2b617f78a4ab33 (patch)
tree2b9d2fb0b1c90b07e3cc9d57a576a487ffca1759 /gcc/tree-ssa-copy.c
parenta255f65a7c9820a126c7f94f5fa7b1c885a92807 (diff)
downloadgcc-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.c3
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