This extends the same line of reasoning used in EarlyCSE w/http://reviews.llvm.org/D15352 to the DSE implementation in InstCombine.
Key points:
- We only remove unordered or simple stores.
- The loads producing values consumed by dead stores don't influence whether the store is dead.