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