https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92657
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization Status|UNCONFIRMED |NEW Last reconfirmed| |2019-11-26 Ever confirmed|0 |1 --- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- >From a quick look it's a classical testcase for excessive store-motion plus PRE and GCSE managing to do half of that. So in essence there are probably duplicates of this bug and what we miss is something of a register pressure estimation framework on GIMPLE (we do have multiple sketches of that spread across some passes). The main issue here is (as can be seen here) that implementing such estimation in one pass doesn't solve the issue but merely pushes it elsewhere. Note that for i?86 with SSE STV is also an offender: t.c:157:6:mlx5e_grp_sw_update_stats 1376 static t.c:157:6:mlx5e_grp_sw_update_stats 936 static with -mno-stv