https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111631

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
ldist produces:
  b_25 = (long int) j_23;
  d_26 = h;
  _8 = (sizetype) d_26;
  _38 = (char *) b_25;
  __builtin_memset (_38, 0, _8);

and also we have:
  <bb 7> [local count: 13370358]:
  if (j_23 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 11>; [50.00%]

...
  <bb 10> [local count: 6685179]:
  g.10_9 = g;
  _10 = *g.10_9;
  _11 = (unsigned short) _10;
  _12 = _11 + 65535;
  _13 = (short int) _12;
  *g.10_9 = _13;

But since d_26 is 0, originally there was no deferencing of _38 but now there
is and such.

Reply via email to