On 10/14/2015 06:46 AM, Richard Biener wrote:
This or other related patches in the range r228731:228774 has caused a
quite
big jump in SPEC CPU 2000 binary sizes (notably 176.gcc - so maybe
affecting
bootstrap as well, at -O3). Are you sure this doesn't re-introduce DOM
effectively peeling all loops once?
It's possible. I've actually got a patch in overnight testing that
introduces some of the heuristics to avoid mucking up loops to the FSM bits.
Like never threading a loop exit test to the loop header (but only to the exit).
At least if it is the only exit in the loop (but maybe better for all exits).
Right. The FSM bits are totally missing the restrictions on threading
through the header or latch that we added to the old style threader many
years ago.
That was OK as the FSM bits weren't used all that much and primarily
were concerned with removing the multi-way branch. With the move
towards generalizing that code, we need the restrictions. I expect to
commit the restrictions today after some minor adjustments.
jeff