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

--- Comment #3 from fxue at gcc dot gnu.org ---
(In reply to Martin Jambor from comment #2)
> I have analyzed this ICE and came to the conclusion that the assert is
> wrong for polymorphic context lattices - e.g. in the reported case we
> always pass the same class to first parameter, which in the recursive
> call then serves as a basis to ancestor JF for the second parameter.
> 
> When propagating polymorphic contexts within SCCs we allow creating
> new values because for any sane input their number will be limited by
> class hierarchy (and potential insane input limited by
> param_ipa_cp_value_list_size).  I think that is OK too.
> 
> So we can either simply remove the assert or make it active only for
> tree lattices.  At the moment I'd prefer the former, but Feng, if this
> assert proved valuable in development the recursive function
> versioning patch, I'll be happy to keep it.  What do you think?

Sorry for late response due to trip. I'll check it.

Reply via email to