https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102997

--- Comment #13 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
Since DOM is the only threading pass that keeps more or less accurate
profiling data, here's a very wild guess.

The pre-loop DOM threading pass does not thread some paths because of
the restrictions in place, which causes one of the post-loop backward
threaders (thread2 or threadfull2) to pick them up.  These will likely
not produce accurate profile info.

And I would also guess that the reason DOM3 (post loop) did not pick up the
threads was because the IL was sufficiently complicated for the simple path
discovery bits in the forward threader to catch.

This is all highly speculative, but that's the only scenario I can imagine
where this commit caused a profiling regression.

Reply via email to