This is the patch 3/3 resulting from the split of D4797.
Even loads/stores that have a stronger ordering than monotonic can be safe.
The rule is no release-acquire pair on the path from the QueryInst, assuming that
the QueryInst is not atomic itself.
I also cleaned up a bit the test DeadStoreElimination/atomic.ll
as I was adding tests to it