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