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

--- Comment #5 from Jeffrey A. Law <law at redhat dot com> ---
I've reproduced this issue.  We've got a reasonably sized switch statement that
the FSM threader is able to optimize. The problem is we go from something 2k
edges and 1k blocks to 70k edges and 35k blocks.

I'll have to put in some instrumentation, but early indications are most of the
paths are redundant.  ie, many of the incoming blocks thread to the same
outgoing block.  The FSM threader creates a distinct copy for each of those
cases where the old threader knew how to factor them into a single path.

I probably won't get much further than that while I'm on the road.

Reply via email to