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

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
  # j_10 = PHI <0B(4), &e(6)>
...
  _21 = j_10 == 0B;
  _22 = j_10 == &e;
  _23 = _21 | _22;


The only pass which is able to optmize the above is pre.

That is take:
```
int e;

void g();

int f(int a, int b)
{
  int *t;
  if (a)
    t = 0;
  else
    t = &e;
  if (b)
    g();
  int t1 = t == 0;
  int t2 = t == &e;
  return t1|t2;
}
```

Reply via email to