On 9/24/2021 5:34 AM, Aldy Hernandez wrote:
On 9/23/21 6:10 PM, Jeff Law wrote:
On 9/23/2021 5:15 AM, Aldy Hernandez wrote:
My upcoming improvements to the forward jump threader make it thread
more aggressively. In investigating some "regressions", I noticed
that it has always allowed threading through empty latches and across
loop boundaries. As we have discussed recently, this should be avoided
until after loop optimizations have run their course.
Note that this wasn't much of a problem before because DOM/VRP
couldn't find these opportunities, but with a smarter solver, we trip
over them more easily.
We used to be much more aggressive in this space -- but we removed
the equivalency tracking on backedges in the main part of DOM which
had the side effect to reducing the number of threads related to back
edges in loops.
I thought we couldn't thread through back edges at all in the old
threader, or are we talking about the same thing? We have a hard fail
on backedge thread attempts for anything but the backward threader and
its custom copier.
We used to have it in the distant past IIRC.
Jeff