https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109695
--- Comment #24 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- FYI. I originally tried new/delete for allocation, which was a tad slower than ggc_alloc / ggc_free. Not too much, but measurable. Another idea would be to have a global obstack which auto_int_range<> uses, which gets freed at the end of every pass. This saves us various ggc_free()s throughout, especially at destruction.