https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49330
--- Comment #22 from Richard Biener <rguenth at gcc dot gnu.org> --- Things we fail to disambiguate are (mem:TF (pre_dec:SI (reg/f:SI 7 sp)) [0 S16 A8]) vs. (mem/c:TF (plus:SI (reg/f:SI 19 frame) (const_int -16 [0xfffffffffffffff0])) [1 S16 A128]) or (mem:SI (pre_dec:SI (reg/f:SI 7 sp)) [3 S4 A32]) vs. (mem/f/c:SI (symbol_ref:SI ("argv") [flags 0x2] <var_decl 0x7f782d1e6360 argv>) [2 argv+0 S4 A32]) where I don't find anything besides CSELIB cselib_sp_based_value_p handling in find_base_term that could be the one handling it? I guess we should be able to somehow handle both sp and frame based accesses in a more conservative way?