Skip to content

Commit 5dbb1a4

Browse files
committed
Fix memory orderings
1 parent d75e4c2 commit 5dbb1a4

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

lib/IRGen/IRGenFunction.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -674,8 +674,8 @@ void IRGenFunction::emitAwaitAsyncContinuation(
674674
contAwaitSyncAddr->getType()->getPointerElementType(), 1);
675675
auto results = Builder.CreateAtomicCmpXchg(
676676
contAwaitSyncAddr, null, one,
677-
llvm::AtomicOrdering::AcquireRelease /*success ordering*/,
678-
llvm::AtomicOrdering::Monotonic /* failure ordering */,
677+
llvm::AtomicOrdering::Release /*success ordering*/,
678+
llvm::AtomicOrdering::Acquire /* failure ordering */,
679679
llvm::SyncScope::System);
680680
auto firstAtAwait = Builder.CreateExtractValue(results, 1);
681681
auto contBB = createBasicBlock("await.async.maybe.resume");
@@ -711,8 +711,8 @@ void IRGenFunction::emitAwaitAsyncContinuation(
711711
arguments);
712712
auto results = Builder.CreateAtomicCmpXchg(
713713
contAwaitSyncAddr, null, one,
714-
llvm::AtomicOrdering::AcquireRelease /*success ordering*/,
715-
llvm::AtomicOrdering::Monotonic /* failure ordering */,
714+
llvm::AtomicOrdering::Release /*success ordering*/,
715+
llvm::AtomicOrdering::Acquire /* failure ordering */,
716716
llvm::SyncScope::System);
717717
// Again, are we first at the wait (can only reach that state after
718718
// continuation.resume/abort is called)? If so abort to wait for the end of

0 commit comments

Comments
 (0)