[lto] set alias info, poorly

Jakub Jelinek jakub@redhat.com
Fri Dec 7 10:59:00 GMT 2007


On Fri, Dec 07, 2007 at 11:47:46AM +0100, Richard Guenther wrote:
> On Dec 6, 2007 11:29 PM, Nathan Froyd <froydnj@codesourcery.com> wrote:
> > First, the good news about this patch: it fixes a few failing testcases.
> >
> > The bad news is that it does it with a very heavy hammer.  We say that
> > every type can alias every other type.  Obviously this wreaks havoc with
> > all the clever alias analysis that has gone into GCC over the years.
> >
> > There are better, cleverer, more involved ways that you could fix this.
> > But this demonstrably works right now.  Ideas on what to do in the
> > future welcome.
> 
> I believe we have to write out the alias sets and the conflict map and at the
> point we combine types of different translation units we have to merge the
> alias sets and conflict maps properly.

Yeah, basically write LTO's own get_alias_set langhook, which will act as
the C one for C CUs, as C++ for C++ CUs, as Fortran for Fortran CUs etc. and
additionally define what kind of aliasing is/is not possible for types
passed from one language to a different one.

	Jakub



More information about the Gcc-patches mailing list