This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Do not compute alias sets for types that don't need them
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Richard Biener <rguenther at suse dot de>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, gcc-patches at gcc dot gnu dot org
- Date: Wed, 27 May 2015 07:22:13 +0200
- Subject: Re: Do not compute alias sets for types that don't need them
- Authentication-results: sourceware.org; auth=none
- References: <20150522121552 dot GC91616 at kam dot mff dot cuni dot cz> <alpine dot LSU dot 2 dot 11 dot 1505221513350 dot 30088 at zhemvz dot fhfr dot qr> <20150522133356 dot GD75713 at kam dot mff dot cuni dot cz> <alpine dot LSU dot 2 dot 11 dot 1505260948300 dot 30088 at zhemvz dot fhfr dot qr>
> >
> > I am not sure if TYPE_MAIN_VARIANT is really needed here. What I know is that
> > complete types may have incomplete variants.
>
> How can that be? TYPE_FIELDS is shared across variants and all variants
> should be layed out.
Because TYPE_FILEDS are not always shared across variants. For example
gfc_nonrestricted_type builds variants of types that have their own TYPE_FIELDS
lists whose types are variants of the original TYPE_FIELDs. C++ FE used to do
the same for member pointers, but I noticed that last stage1 with early version
of type verifier and as far as I can remember Jason changed that.
Honza