This is the mail archive of the
mailing list for the GCC project.
[PATCH] tree-ssa-aliasing and IMA and structs
- From: Andrew Pinski <apinski at apple dot com>
- To: "gcc-patches at gcc dot gnu dot org Patches" <gcc-patches at gcc dot gnu dot org>
- Date: Sun, 8 Aug 2004 16:56:19 -0700
- Subject: [PATCH] tree-ssa-aliasing and IMA and structs
The problem is that with IMA, we still get some aliasing sets which are
not the same
but that is because one of the structs do not have a full definition so
it gets own aliasing
set. That aliasing set is though considered to be conflicting with
everyother aliasing set
so the check in tree-ssa-alias.c is wrong, it should be checking to
make sure that the
aliasing sets conflict and not if they are equal.
This patch fixes that error and also fixes the ICE in mesa in SPEC when
running with IMA.
OK? Bootstrapped and tested on powerpc-apple-darwin.
* tree-ssa-alias.c (get_tmt_for): Check for conflicting sets and not
RCS file: /cvs/gcc/gcc/gcc/tree-ssa-alias.c,v
retrieving revision 2.22
diff -u -p -r2.22 tree-ssa-alias.c
--- tree-ssa-alias.c 30 Jul 2004 19:40:30 -0000 2.22
+++ tree-ssa-alias.c 8 Aug 2004 23:48:51 -0000
@@ -2182,9 +2182,9 @@ get_tmt_for (tree ptr, struct alias_info
#if defined ENABLE_CHECKING
- /* Make sure that the type tag has the same alias set as the
+ /* Make sure that the type tag can conflict with the same alias set
pointed-to type. */
- if (tag_set != get_alias_set (tag))
+ if (!alias_sets_conflict_p (tag_set, get_alias_set (tag)))