Loads and Stores that depend on the same address should be scheduled apart because we don't want a load that is waiting for a store to finish or a store that is waiting for a load to finish.
This patch depends on D45265 and so that patch would have to go in first.
Maybe do an early exit here:
Then we don't need to nest the two for loops below.