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;
...