Unfortunately, I wasn't able to create a test case that demonstrates the
problem I was trying to fix with this patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175226
91177308-0d34-0410-b5e6-
96231b3b80d8
// Loads or stores cannot be moved past a store to the delay slot
// and stores cannot be moved past a load.
- if (Candidate.mayStore()) {
+ if (Candidate.mayStore() || Candidate.hasOrderedMemoryRef()) {
HasHazard |= SawStore | SawLoad;
SawStore = true;
} else if (Candidate.mayLoad()) {