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.

When I last looked at this, the biggest problem was the class of cases that are handled by compute_path_counts which was used exclusively by the forward threader CFG updating code. None of those cases in that big comment before that function are handled by the copy_bbs paths IIRC.

jeff

Reply via email to