aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-copy.c
diff options
context:
space:
mode:
authorDiego Novillo <dnovillo@redhat.com>2004-07-27 15:32:47 +0000
committerDiego Novillo <dnovillo@gcc.gnu.org>2004-07-27 11:32:47 -0400
commit9ae2a5d113b83ce7e61a50f5484e6221d81a2c5c (patch)
tree2b9d2fb0b1c90b07e3cc9d57a576a487ffca1759 /gcc/tree-ssa-copy.c
parent45d09c02e544c4074aa4a69925c1fe547a0dd7a0 (diff)
downloadgcc-9ae2a5d113b83ce7e61a50f5484e6221d81a2c5c.zip
gcc-9ae2a5d113b83ce7e61a50f5484e6221d81a2c5c.tar.gz
gcc-9ae2a5d113b83ce7e61a50f5484e6221d81a2c5c.tar.bz2
tree-ssa-alias.c (create_name_tags): Ignore pointers that don't have PT_VARS nor PT_MALLOC set.
* 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. From-SVN: r85220
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 0ddfa9c..4dca3a5 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