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

--- Comment #8 from ptomsich at gcc dot gnu.org ---
Nothing we tried on the inliner and the unroller side helps, but the
experiments have provided a clearer picture from -fdump-ipa-cp-details:

The entire difference comes from how `do_rpo_vn` specialises at `iterate=0`):
the devirt bonus now is ~8x in `evaluation` (2011.69 vs. 245.20) and crosses
the threshold of 1650.
Consequently, the extra clone causes `eliminate_push_avail` to be inlined into
`process_bb` twice instead of once.  The extra copy's live values make IRA
spill a loop-carried counter.

Reply via email to