https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113495
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Patrick O'Neill from comment #7) > I believe the memory hog is caused by this: > https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/config/riscv/riscv-vsetvl.cc; > h=2067073185f8c0f398908b164a99b592948e6d2d; > hb=565935f93a7da629da89b05812a3e8c43287598f#l2427 > > In the slightly reduced test program I was using to debug there were ~35k > bb's leading to num_expr being roughly 1 million. vsetvl then makes 35k > bitmaps of ~1 million bits. How sparse is this bitmap will be? bitmap instead of sbitmap should be used if the bitmap is going to be sparse. sbitmap is a fixed sized based on the bitmap size while bitmap is better for sparse bitmaps as it is implemented as linked list.