https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104498

--- Comment #3 from avieira at gcc dot gnu.org ---
Sorry some confusion there, I thought it was base_alias_check bailing out
early, but that seems to return true, it is the memrefs_conflict_p that returns
0.

I suspect rtx_equal_for_memref_p should have returned 1 for:
x:
(plus:DI (mult:DI (reg:DI 99 [ off.0_1 ])
        (const_int 4 [0x4]))
    (const:DI (plus:DI (symbol_ref:DI ("*.LANCHOR0") [flags 0x182])
            (const_int 16 [0x10]))))

and y:
(plus:DI (mult:DI (reg:DI 99 [ off.0_1 ])
        (const_int 4 [0x4]))
    (symbol_ref:DI ("b") [flags 0x2] <var_decl 0xfffff7635f30 b>))

But it does not... must be because of that trailing (equivalence notes? that's
what I assume they are?)

Reply via email to