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.

Aldy

Reply via email to