This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/16688] [3.5 regression] ICE in group_aliases, at tree-ssa-alias.c:1234
- From: "cvs-commit at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 24 Jul 2004 01:05:51 -0000
- Subject: [Bug tree-optimization/16688] [3.5 regression] ICE in group_aliases, at tree-ssa-alias.c:1234
- References: <20040723135713.16688.bangerth@dealii.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-07-24 01:05 -------
Subject: Bug 16688
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: dnovillo@gcc.gnu.org 2004-07-24 01:05:45
Modified files:
gcc : ChangeLog tree-ssa-alias.c tree-ssa-copy.c
tree-ssa-copyrename.c tree-ssa.c
tree-ssanames.c tree.h
Log message:
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.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.4655&r2=2.4656
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-alias.c.diff?cvsroot=gcc&r1=2.15&r2=2.16
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-copy.c.diff?cvsroot=gcc&r1=2.10&r2=2.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-copyrename.c.diff?cvsroot=gcc&r1=2.6&r2=2.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa.c.diff?cvsroot=gcc&r1=2.22&r2=2.23
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssanames.c.diff?cvsroot=gcc&r1=2.4&r2=2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.h.diff?cvsroot=gcc&r1=1.569&r2=1.570
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16688