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

--- Comment #3 from Peter Bergner <bergner at gcc dot gnu.org> ---
Here's a creduce'd minimal version of the test case that shows the addz after
the function call.  Same compiler options as above.

extern int fn2 ();
extern void fn3 ();
extern void fn4 (int);
int a, c, d, f, g, h, i, j, k, l, m, n;
struct
{
  int escape;
} *b;
int e[8];
void
fn1 (int p1, int p2)
{
  int o = a;
  for (; f; f++)
    {
      int p;
      if (e[h])
        continue;
      if (fn2 (o, d, l, n, p1, i, j, k, 0==0))
        continue;
      p = p2;
      if (b[g].escape)
        p++;
      fn3 ("", c, m);
      if (k)
        fn4 (p);
    }
}

Reply via email to