This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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.

Andrew Pinski


* tree-ssa-alias.c (get_tmt_for): Check for conflicting sets and not equal sets.

Index: tree-ssa-alias.c
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

- /* 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 as the
pointed-to type. */
- if (tag_set != get_alias_set (tag))
+ if (!alias_sets_conflict_p (tag_set, get_alias_set (tag)))
abort ();

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]