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.