http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58479
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- Or rather -fvar-tracking-assignments. The slowness creeps in trivially dead code : 0.37 (13%) usr 0.00 ( 0%) sys 0.37 (10%) wall 0 kB ( 0%) ggc complete unrolling : 0.36 (13%) usr 0.53 (55%) sys 0.81 (22%) wall 211254 kB (38%) ggc expand : 0.29 (10%) usr 0.09 ( 9%) sys 0.38 (10%) wall 346562 kB (62%) ggc var-tracking itself doesn't enter the picture. main () { <bb 2>: # DEBUG D#1 => f # DEBUG t$0$0$0 => D#1 # DEBUG t$0$0$1 => D#1 # DEBUG t$0$0$2 => D#1 ... 3.3 million (!) similar lines follow ... e = 8; d = 8; c = 8; b = 8; a = 8; return 0; } seems to be support for aggregate piece debug values makes this blow up totally. Nobody is going to p t[][][] here (and I suspect gdb support isn't ready here either).