https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114574

--- Comment #19 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Martin Uecker from comment #18)
> I am just looking at a version that would have changed the condition to:
> 
>   if (TYPE_MODE (t) == mode && TYPE_REF_CAN_ALIAS_ALL (t) == can_alias_all
>      && TYPE_STRUCTURAL_EQUALITY_P (t) == TYPE_STRUCTURAL_EQUALITY_P
> (to_type))

That would just keep perhaps lots of pointer types duplicated and no longer
usable (so why keep them in the cache then?).
I mean, if it is fine to update the base type from TYPE_STRUCTURAL_EQUALITY_P
to some
TYPE_CANONICAL, why it wouldn't be ok to update the pointers as well?
Also, for in_lto_p pointer types are always TYPE_STRUCTURAL_EQUALITY_P even
when
to_type is not.

Reply via email to