> Am 18.06.2026 um 09:22 schrieb Aldy Hernandez <[email protected]>:
>
> Andrew MacLeod <[email protected]> writes:
>
>> This patch provides the initial implementation to track points-to
>> information in prange.
>
> Very cool. This was one of two things I really wished I could've gotten
> done before stepping aside. I'm glad it didn't fall through the cracks.
>
> And the second one is... getting rid of DOM. With prange having
> points-to info, ISTM that all that's standing in the way of getting rid
> of DOM is doing the hard work of finding what the side tables are
> getting that ranger doesn't. It theory it should be nothing; in
> practice it's always complicated :).
>
> Last time I did an audit of what the forward threader was getting I
> think it was some pointer equivalency stuff, as I think we were even
> getting all the floating point stuff with frange.
>
> That is, if y'all still agree that removing the forward threader along
> with DOM is the way to go. I don't know if anything has changed.
As I’d still like DOM itself to go this is still the first step, yes.
Richard
>
> Maybe after summer is over, and the kids are back in school, I can take
> a stab at auditing what remains to be done, to at least get an idea.
>
> Again, thanks for your hard work on this. Sorry I haven't been able to
> help much.
>
> Aldy
>
>>
>> It currently only tracks values which are is_gimple_min_invariant_p
>> (), and can be access via a fairly simple API:
>>
>> expr will be either NULL_TREE is there is no points to info, or the
>> expression.
>>
>> // unknown_p () is true if no object is pointed to.
>> bool pt_unknown_p () const;
>>
>> // Invariant points-to are is_gimple_min_invariant_p ().
>> // Return expression or NULL_TREE for points-to or away
>> tree pt_invariant () const;
>> tree pt_invariant_away () const;
>>
>> // Return true if present and identical for THIS and R.
>> bool pt_invariant_p (const prange &r) const;
>> bool pt_invariant_away_p (const prange &r) const;
>>
>> bool pt_invert ();
>> bool pt_inverted_p (const prange &r) const;
>>
>> This patch provides the implementation and adjusts a couple of
>> testcases which fail due to IPA have better info immediately.
>>
>> Bootstrapped on x86_64-pc-linux-gnu with no regressions. Pushed.
>> Andrew