On Wed, Nov 4, 2015 at 5:50 PM, Jan Hubicka <hubi...@ucw.cz> wrote: >> > Are these supposed to be fixed by Richard's change to not use >> > useless_type_conversion for VCE, or is it another issue? >> >> Richard's change not to use useless_type_conversion for VCE was causing >> additional GIMPLE verification failures so I didn't pursue; I can try again, >> but all the known regressions are now fixed thanks to Richard's latest change >> to useless_type_conversion_p itself. > > I see, you re-instantiated the TYPE_CANONICAL check for aggregates instead. I > guess it is most practical way to go right now even though it would be really > nice > to separate this from TBAA machinery. > At the moment LTO doesn't do globbing where calling conventions should care. > One such case is the globing of array containing char and char which is > required > by Fortran standard, but that IMO is a defect in standard - if types are > passed > differently by target ABI one can't expect them to be fuly interoperable as > Fortran > would like.
Note that I can't see how non-register type defs/uses will ever "change" their type during optimization so I think using TYPE_CANONICAL for the aggregate type case is fine. Richard. > Thank you very much for looking into this! > Honza >> >> -- >> Eric Botcazou