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