RTL alias analysis
Richard Guenther
richard.guenther@gmail.com
Fri Jan 20 17:37:00 GMT 2006
On 1/20/06, Mark Mitchell <mark@codesourcery.com> wrote:
> Richard Guenther wrote:
>
> > A patch was also posted based on ideas in the audit trail. It's third
> > incarnation at
> > http://gcc.gnu.org/ml/gcc-patches/2006-01/msg00967.html
> > would need a review.
>
> This patch uses "type_i == type_j" which is usually a mistake; are we
> sure we don't need the usual type-equality predicate functions?
>
> Also, why doesn't:
>
> union U { char c; int i; };
> struct S { union U u; };
> struct T { union U u; };
>
> present the same problem between S and T? S and T will fail the type_i
> == type_j test, but does that keep us safe? In general, I think the
objects_must_conflict_p (type_i, type_j) doesn't say they must conflict now
and so we put it in a separate partition. I.e. get_alias_set will
return a different
alias set for S and T.
> patch needs a paragraph-long comment explaining what the problem is and
> how this approach solves it.
Ok, I'll try to come up with an explanation.
Richard.
More information about the Gcc
mailing list