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

--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
VRP2:
Predicate evaluates to: DON'T KNOW
Matching expression match.pd:1972, gimple-match.c:819
Matching expression match.pd:1975, gimple-match.c:892
Matching expression match.pd:1982, gimple-match.c:952
Not folded
Folding PHI node: d_5 = PHI <b.0_1(3), 0(4)>
Queued PHI for removal.  Folds to: 0
Folding statement: if (d_5 >= 0)
gimple_simplified to if (1 != 0)
gimple_simplified to if (1 != 0)
Folded into: if (1 != 0)

Is it because of the uninitilized variable causing this to be done this way?

Here is a testcase which does not need an inline function but it shows that
there needs to be an uninitilized variable on a path and all.
int a, b = -2;
int main() {
  int d = 0;
  int t;
  if (b)
    goto t1;
  if (t) {
t1:
    if (!a)
      d = b;
    while (d > -1)
      ;
  }
  return 0;
}

Reply via email to