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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rsandifo at gcc dot gnu.org

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to avieira from comment #3)
> 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?)

It's the section anchor that breaks things.  There's a duplicate bug about this
somewhere, or a thread on the mailing list.  But IIRC Richard had fixed this?

Reply via email to