On Mon, Jun 22, 2026 at 8:03 AM Aldy Hernandez <[email protected]> wrote:
>
> Jeffrey Law <[email protected]> writes:
>
> > On 6/18/2026 1:21 AM, Aldy Hernandez wrote:
> >> 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.
> >>
> >> 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.
> > Dropping DOM's threading as well as DOM itself should still be the
> > plan of record.  As you note, the actual mechanics of doing that
> > without regressing is complicated.
> >
> > What I expected us to find in that effort was that things like
> > const/copy propagation and redundant expression elimination are better
> > handled by other passes and can largely be dropped.   The path
> > specific optimizations are probably within reach of ranger now.   What
> > would be left would be the backwards propagation bits. At least that's
> > the way it seems to me without actually instrumenting DOM to see
> > what's left that's triggering in practice.
>
> I was thinking I could start by instrumenting the hybrid threader (DOM
> threader with ranger as a helper when the DOM tables fail), to see what
> ranger is unable to get, and open a PR for each missing optimization.
> Once we get those resolved, perhaps we could disable the DOM tables for
> the threader in this cycle, and in the next cycle replace it with a
> post-DOM backwards threader instance.  That way we get a cycle to clean
> anything up.
>
> BTW, a preliminary run across the .ii files in a bootstrap only shows 3
> missing optimizations for prange.  So at least for prange, I think we're
> in pretty good shape.
>
> How does that sound?  I.e. let's tackle the hybrid threader first, and
> then the const/copy prop and CSE stuff later :).  Sorry, I'm just trying
> to slim things down so that I can contribute in some way, without
> tackling something impossible for me right now.

I think that is a good idea.

Thanks,
Andrea

>
> Aldy

Reply via email to