Hi,

On Tue, Apr 25 2023, Aldy Hernandez via Gcc wrote:
> After GCC 13 is released we will remove legacy range support from the
> compiler, and convert irange's to wide_ints.  I want to give everyone
> a heads up, to help understand what's involved and what the end result is.
>

[...]

>
> 1. Converting users of the old API to the new irange API.
>

[...]

>
>     The IPA passes also use the old API, but I have plans (and patches)
>     for revamping all of the IPA ranges.  Details below.

Thanks a lot for taking care of this.

[..]

> IPA has been rolling their own ranges forever.  They use a combination
> of the legacy API along with handcrafted pairs of wide_ints (ipa_vr).
> The passes must be divorced of its legacy dependency, and cleaned up a
> bit.  IPA is also very tied to integers and pointers, and I see no
> reason why we can't keep track of float arguments, etc.

Agreed.

>
> I am sitting on a lot of additional patches to do 90% of the
> conversion, but need to consult with the IPA experts on various issues
> before proceeding (for instance, the lifetime of various structures).
> Among these patches are generic vrange LTO streaming functions and
> vrange hashing.  I think it's time we make vrange a first class
> citizen for LTO/hashing and a few other things folks were doing in an
> ad-hoc manner.  This should alleviate the maintenance burden on the
> IPA maintainers going forward.  Note, that the IPA work is a
> follow-up, and only after careful consultation with the relevant
> maintainers.

I need to get up to speed when it comes to the new representation and
new API but I'll be happy to help.

Martin

Reply via email to