aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorDiego Novillo <dnovillo@redhat.com>2004-07-24 01:05:45 +0000
committerDiego Novillo <dnovillo@gcc.gnu.org>2004-07-23 21:05:45 -0400
commitbbc630f5d95b858bcea31cec1ce2f1d25c6b6fc6 (patch)
tree152cb570bb5673abd6f3cb0e91129d27c8889d40 /gcc/tree.h
parent368bf4a1843bfd8edf1fac035e4e703bb9fabf4a (diff)
downloadgcc-bbc630f5d95b858bcea31cec1ce2f1d25c6b6fc6.zip
gcc-bbc630f5d95b858bcea31cec1ce2f1d25c6b6fc6.tar.gz
gcc-bbc630f5d95b858bcea31cec1ce2f1d25c6b6fc6.tar.bz2
re PR tree-optimization/16688 (ICE in group_aliases, at tree-ssa-alias.c:1234)
PR tree-optimization/16688 PR tree-optimization/16689 * tree-ssa-alias.c (setup_pointers_and_addressables): Remove unnecessary initialization of 'tag'. (get_tmt_for): Check that the new type tag has the same alias set as the pointed-to type. (group_aliases): Only regular variables need to be removed from the alias set of a name tag. * tree-ssa-copy.c (may_propagate_copy): Do not allow copy propagation if the two types are not compatible. (merge_alias_info): Rename from replace_ssa_names_ann. Add more checking. (replace_exp_1): If both arguments are SSA_NAMEs, check that the propagation can be done. Only call merge_alias_info on pointers. (propagate_value): Likewise. * tree-ssa-copyrename.c: Include langhooks.h. (copy_rename_partition_coalesce): Call replace_ssa_name_symbol to do the merging. Do not coalesce variables with incompatible types. (rename_ssa_copies): Call replace_ssa_name_symbol. * tree-ssa.c (verify_ssa_name): Verify that the SSA_NAME has the same type as the underlying _DECL. * tree-ssanames.c (replace_ssa_name_symbol): New function. * tree.h (replace_ssa_name_symbol): Declare. From-SVN: r85108
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 1962d72..a5c0a2c 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -2648,6 +2648,7 @@ extern tree make_ssa_name (tree, tree);
extern tree duplicate_ssa_name (tree, tree);
extern void release_ssa_name (tree);
extern void release_defs (tree);
+extern void replace_ssa_name_symbol (tree, tree);
#ifdef GATHER_STATISTICS
extern void ssanames_print_statistics (void);