@@ -674,8 +674,8 @@ void IRGenFunction::emitAwaitAsyncContinuation(
674
674
contAwaitSyncAddr->getType ()->getPointerElementType (), 1 );
675
675
auto results = Builder.CreateAtomicCmpXchg (
676
676
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 */ ,
679
679
llvm::SyncScope::System);
680
680
auto firstAtAwait = Builder.CreateExtractValue (results, 1 );
681
681
auto contBB = createBasicBlock (" await.async.maybe.resume" );
@@ -711,8 +711,8 @@ void IRGenFunction::emitAwaitAsyncContinuation(
711
711
arguments);
712
712
auto results = Builder.CreateAtomicCmpXchg (
713
713
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 */ ,
716
716
llvm::SyncScope::System);
717
717
// Again, are we first at the wait (can only reach that state after
718
718
// continuation.resume/abort is called)? If so abort to wait for the end of
0 commit comments