https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109585
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Last reconfirmed| |2023-04-24 Status|UNCONFIRMED |NEW --- Comment #18 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Alexander Monakov from comment #13) > The small repro from comment #5 is reproducible on x86_64 trunk as well with > -O2 -DNDEBUG (as well as on older x86_64 branches without -DNDEBUG). > > sched2 is lifting > > (insn:TI 295 100 101 12 (set (reg:CCZ 17 flags) > (compare:CCZ (mem/f:DI (plus:DI (reg/v/f:DI 3 bx [orig:133 t ] [133]) > (const_int 8 [0x8])) [2 MEM[(const struct ZixBTreeIter > *)t_3(D)].stack[0].node+0 S8 A64]) > (const_int 0 [0]))) "/app/example.c":65:12 discrim 2 8 > {*cmpdi_ccno_1} > (nil)) > > above conflicting > > (insn 101 295 102 12 (set (mem/f:DI (reg/v/f:DI 0 ax [orig:96 f ] [96]) [2 > f_69->node+0 S8 A64]) > (const_int 0 [0])) "/app/example.c":86:14 88 {*movdi_internal} > (nil)) since MEM_ALIAS_SET are the same it must be MEM_EXPR handling going wrong, or points-to info giving the wrong answer.