On Thu, Sep 28, 2023 at 11:53:53AM -0400, Aldy Hernandez wrote:
> > ipa_bits is even worse, because unlike niter analysis, I think it is very
> > much desirable to support IPA VRP of all supported _BitInt sizes.  Shall
> > we perhaps use trailing_wide_int storage in there, or conditionally
> > rwidest_int vs. INTEGER_CSTs for stuff that doesn't fit, something else?
> 
> BTW, we already track value/mask pairs in the irange, so I think ipa_bits
> should ultimately disappear.  Doing so would probably simplify the code
> base.

Well, having irange in GC memory would be equally bad, it does have
non-trivial destructors (plus isn't meant to be space efficient either,
right?).
Though, perhaps we should use value-range-storage.h for that now that it
can store value/mask pair as well?  Either tweak it on the IPA side
such that everything is stored together (both the IPA VRP and IPA bit CCP)
or say use vrange_storage with zero (or one dummy) ranges + the value/mask
pair.

        Jakub

Reply via email to