Don't sink a memory write past a memory read
If the instruction to sink may write memory, don't sink it past any
instruction that may read memory. The same check applies to the duplicates
found by findIdenticalInBlock.
Fixes https://github.com/swiftlang/swift/issues/92848
rdar://189007197