https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91708
--- Comment #22 from Wilco <wilco at gcc dot gnu.org> --- (In reply to Richard Earnshaw from comment #21) > But dropping in a char* will give a more restrictive alias set, so that > isn't wrong, even if it is suboptimal The alias set could be anything given CSE changes one MEM to another without any checks (it's not clear whether it even checks other attributes like volatile).