https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88751
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- last_basic_block_for_fn is odd anyways, shouldn't it be n_basic_blocks_for_fn? it would make things worse here of course (divide by a possibly lower number). Likewise max_reg_num () sounds off in a similar way. But agreed, 1<<26 should be a --param. Not sure whether n-basic-blocks * n-pseudos is a good thing to limit though. The comment might want to explain that part X of LRA is quadratic in the number of blocks / pseudos, etc. I'll note that your case (130000111) is close to the 1<<26 limit (about double). Would be interesting to know the sparseness of regs / BBs for your testcase at the point of LRA and whether compacting regs (do we ever do that?) might be a good idea in general. (we do compact BBs regularly)