https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87627
--- Comment #5 from Alexander Monakov <amonakov at gcc dot gnu.org> --- I've spent some time looking at this again, and I couldn't find a way to preserve REG_EQUIV notes (it's actually unclear what REG_EQUIV means precisely). What I think could help in simple cases like this one, and might also be helpful in other situations, is to have mem_attrs indicate that memory does not escape. RTL CSE would not need to invalidate such MEMs when processing a call.