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

Reply via email to