On Thu, Aug 3, 2023 at 5:12 PM Aldy Hernandez <al...@redhat.com> wrote:
>
>
>
> On 8/3/23 16:29, Jeff Law wrote:
> >
> >
> > On 8/3/23 08:23, Jan Hubicka wrote:
> >>>> Jeff, an help would be appreciated here :)
> >>>>
> >>>> I will try to debug this.  One option would be to disable branch
> >>>> prediciton on vect_check for time being - it is not inlined anyway
> >>> Not a lot of insight.  The backwards threader uses a totally
> >>> different API
> >>> for the CFG/SSA updates and that API I don't think has made any
> >>> significant
> >>> effort to keep the profile up-to-date.
> >>
> >> OK, at least some hints where the missing profile updat should be, would
> >> be good. There is update_profile in tree-ssa-threadupdate and
> >> understaning what is missing would be nice
> >> In general it would be nice to mind profile when updating CFG :)
> > THe backwards threader doesn't use much of the code in
> > tree-ssa-threadupdate IIRC.  The bulk of the work for the backwards
> > threader is done by copy_bbs.  I've actually suggested those two
> > implementations be totally separated from each other to avoid confusion.
> >   I just haven't had the time to do it (or much of anything with
> > threading) myself.
>
> A couple cycles ago I separated most of code to distinguish between the
> back and forward threaders.  There is class jt_path_registry that is
> common to both, and {fwd,back}_jt_path_registry for the forward and
> backward threaders respectively.  It's not perfect, but it's a start.

Yep, it's back_jt_path_registry::update_cfg / duplicate_thread_path
that lacks the updates.

Richard.

> Aldy
>

Reply via email to