http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59920
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ebotcazou at gcc dot gnu.org --- Comment #5 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- > -g isn't needed to reproduce this. Started with r198096, the huge function > with ~ 5000 or how many basic blocks has over 200 setjmp calls in it, so > starting with the r198096 commit we create probably about 1000 or so more > basic blocks, hundreds of thousands abnormal edges (but still *.cfg dump is > emitted quickly), I think all the memory is eaten by huge PHI argument lists. It's precisely for this kind of situation that the "weirdo" (your word IIRC :-) lowering of __builtin_setjmp was added. Maybe something similar could be done.