https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115597
--- Comment #4 from Tamar Christina <tnfchris at gcc dot gnu.org> --- (In reply to Richard Biener from comment #2) > Ah, I feared this would happen - this case seems to be because of a lot of > VEC_PERM nodes(?) which are not handled by the CSE process as well as the > two-operator nodes which lack SLP_TREE_SCALAR_STMTS (we'd need NULL elements > there, something I need to add anyway). > > The bst_map deals as "visited" map, but nodes not handled there would need > a "visited" set (but as said above, the plan is to reduce that set to zero). > Ah I see, that makes sense. > I'll see to reproduce to confirm. Usually a two-operator node shouldn't > be too bad since the next non-two-operator one will serve as 'visited' point > but in this graph we have several adjacent two-operator nodes without any > intermediate node handled by the bst-map processing code. I can't reproduce > with -Ofast -march=znver2 though. > Yeah I forgot to mention I could only reproduce it with LTO and a recent glibc. Thanks for the fix!