https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91101
--- Comment #13 from Martin Liška <marxin at gcc dot gnu.org> --- And the stack difference is: Before: ;; Function categorize_eol (categorize_eol, funcdef_no=127, decl_uid=8513, cgraph_uid=127, symbol_order=127) categorize_eol (char c, ReadLineFlags flags) { _Bool _found; EndOfLineMarker D.9001; _Bool D.8520; _Bool _1; EndOfLineMarker _3; _Bool _7; EndOfLineMarker _9; EndOfLineMarker _10; EndOfLineMarker _11; EndOfLineMarker _12; <bb 2> : _found_4 = 0; if (flags_5(D) == 1) goto <bb 3>; [INV] else goto <bb 4>; [INV] ... After: ;; Function categorize_eol (categorize_eol, funcdef_no=127, decl_uid=8513, cgraph_uid=127, symbol_order=127) categorize_eol (char c, ReadLineFlags flags) { long double D.8516[1] = {1.0e+0}; <--- This stack variable. _Bool _found; EndOfLineMarker D.9001; _Bool D.8520; _Bool _1; EndOfLineMarker _3; _Bool _7; EndOfLineMarker _9; EndOfLineMarker _10; EndOfLineMarker _11; EndOfLineMarker _12; ...