https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107467
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|marxin at gcc dot gnu.org |unassigned at gcc dot gnu.org Keywords|needs-bisection | Status|ASSIGNED |NEW --- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> --- Running that under valgrind I see it started with r12-656-ga564da506f52be66: ==13643== Conditional jump or move depends on uninitialised value(s) ==13643== at 0x401148: bool compare_pairs<SomeClass*>(pair<SomeClass*> const&, pair<SomeClass*> const&) (pr107467-2.C:12) ==13643== by 0x401176: Combined<OtherClass>::clashy() [clone .isra.0] (pr107467-2.C:23) ==13643== by 0x4011B2: other_func() (pr107467-2.C:40) ==13643== by 0x4011ED: main (pr107467-2.C:48) So I guess it might be something in between DSE and aliasing info investigated by IPA modref. @Honza: Can you take a look?