https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89733
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The warning triggers when the warning pass sees uninitialized uses in the IL (and quite complex code doesn't prove that it is not actually impossible at runtime (predicate aware analysis). You are using -O1, so fewer optimizations happen, haven't tried if it goes away with -O2.