https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109138
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Last reconfirmed| |2023-03-15 Ever confirmed|0 |1 Status|UNCONFIRMED |NEW --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- reassoc1 introduces the unconditional use of an unitialized variable. From: <bb 3> [local count: 1014686025]: if (d_5(D) != 0) goto <bb 5>; [5.50%] else goto <bb 4>; [94.50%] <bb 4> [local count: 1073741824]: a.1_1 = a; if (a.1_1 == 0) goto <bb 3>; [94.50%] else goto <bb 5>; [5.50%] To: a.1_1 = a; _12 = (unsigned int) d_5(D); _4 = _12 | a.1_1; _3 = _4 == 0; if (_3 != 0) goto <bb 3>; [94.50%] else goto <bb 4>; [5.50%]