https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115095
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 CC| |hubicka at gcc dot gnu.org, | |rguenth at gcc dot gnu.org Status|UNCONFIRMED |NEW Last reconfirmed| |2024-05-15 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- GCC isn't able to compute the number of iterations of a loop like the following which would be required for us to peel it and do the required constant folding. We're also not trying brute-force peeling for loops we cannot compute an upper bound of its number of iterations (attempting to arrive at one when evaluating the peeled stmts). <bb 3> [local count: 955630224]: # _26 = PHI <_9(8), 116(2)> # h_27 = PHI <h_15(8), 0(2)> # s_29 = PHI <s_14(8), "t.c"(2)> _10 = (unsigned int) _26; h_12 = _10 + h_27; s_14 = s_29 + 1; h_15 = _10 * h_12; _9 = *s_14; if (_9 != 0) goto <bb 8>; [89.00%] else goto <bb 4>; [11.00%] <bb 8> [local count: 850510900]: goto <bb 3>; [100.00%]