https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114557
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- The free_phinodes buckets itself could better use the ->next chain of the gimple stmts rather than a (re-allocated) GC vector. Given the current bucket structure a single chain for the 4-argument case might be good enough. Otherwise hooking into the GC special sizes array might be worthwhile. Note that ggc_free()ing all PHIs (and thus using the GC allocator freelist which has its own issues) is a tiny bit faster than keeping the pool for at least the testcase at hand.