https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77432
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |msebor at gcc dot gnu.org Last reconfirmed|2016-08-31 00:00:00 |2020-6-8 Known to fail| |10.1.0, 11.0, 7.3.0, 8.2.0, | |9.1.0 --- Comment #4 from Martin Sebor <msebor at gcc dot gnu.org> --- Reconfirming with GCC 11. The if statement is simplified to if (1 != 0) by EVRP: Visiting stmt b_4 = *a_3(D); Intersecting int * [1B, +INF] EQUIVALENCES: { a_3(D) } (1 elements) and int * VARYING to int * [1B, +INF] EQUIVALENCES: { a_3(D) } (1 elements) pushing new range for a_3(D): int * [1B, +INF] EQUIVALENCES: { a_3(D) } (1 elements) Visiting stmt if (a_3(D) != 0B) Visiting conditional with predicate: if (a_3(D) != 0B) With known ranges a_3(D): int * [1B, +INF] EQUIVALENCES: { a_3(D) } (1 elements) Predicate evaluates to: 1 gimple_simplified to if (1 != 0)