https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48696
--- Comment #22 from ptomsich at gcc dot gnu.org --- Agreed. It would be ideal not to have to deal with this in the store-forward avoidance pass (i.e., catching it before or during lowering). Given that the store-forward avoidance pass (mostly) catches this case, it seems reasonable to ensure that cases such as this can be cleaned up in the pass nonetheless.