https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102733
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Martin Sebor from comment #3) > A couple of data points: I see the same behavior for any constant address > (not just null). Right because DSE does not compare MEM_ADDR_SPACE. It is literally a bug in dse.c and there might be other places in the RTL side which misses out on comparing MEM_ADDR_SPACE when it comes to memory accesses because it was an after thought (and was originally added to support SPU memory accesses where a function call would happen).