Lines Matching refs:AO
5416 llvm::AtomicOrdering AO = S.getSingleClause<OMPFlushClause>() in EmitOMPFlushDirective() local
5427 S.getBeginLoc(), AO); in EmitOMPFlushDirective()
6054 static void emitSimpleAtomicStore(CodeGenFunction &CGF, llvm::AtomicOrdering AO, in emitSimpleAtomicStore() argument
6059 CGF.EmitAtomicStore(RVal, LVal, AO, LVal.isVolatile(), /*isInit=*/false); in emitSimpleAtomicStore()
6063 llvm::AtomicOrdering AO, LValue LVal, in emitSimpleAtomicLoad() argument
6068 LVal, Loc, llvm::AtomicCmpXchgInst::getStrongestFailureOrdering(AO), in emitSimpleAtomicLoad()
6090 static void emitOMPAtomicReadExpr(CodeGenFunction &CGF, llvm::AtomicOrdering AO, in emitOMPAtomicReadExpr() argument
6098 RValue Res = emitSimpleAtomicLoad(CGF, AO, XLValue, Loc); in emitOMPAtomicReadExpr()
6103 switch (AO) { in emitOMPAtomicReadExpr()
6122 llvm::AtomicOrdering AO, const Expr *X, in emitOMPAtomicWriteExpr() argument
6126 emitSimpleAtomicStore(CGF, AO, CGF.EmitLValue(X), CGF.EmitAnyExpr(E)); in emitOMPAtomicWriteExpr()
6132 switch (AO) { in emitOMPAtomicWriteExpr()
6151 llvm::AtomicOrdering AO, in emitOMPAtomicRMW() argument
6262 CGF.Builder.CreateAtomicRMW(RMWOp, X.getAddress(), UpdateVal, AO); in emitOMPAtomicRMW()
6268 llvm::AtomicOrdering AO, SourceLocation Loc, in EmitOMPAtomicSimpleUpdateExpr() argument
6276 auto Res = emitOMPAtomicRMW(*this, X, E, BO, AO, IsXLHSInRHSPart); in EmitOMPAtomicSimpleUpdateExpr()
6284 EmitAtomicUpdate(X, AO, CommonGen, X.getType().isVolatileQualified()); in EmitOMPAtomicSimpleUpdateExpr()
6291 llvm::AtomicOrdering AO, const Expr *X, in emitOMPAtomicUpdateExpr() argument
6316 XLValue, ExprRValue, BOUE->getOpcode(), IsXLHSInRHSPart, AO, Loc, Gen); in emitOMPAtomicUpdateExpr()
6322 switch (AO) { in emitOMPAtomicUpdateExpr()
6356 llvm::AtomicOrdering AO, in emitOMPAtomicCaptureExpr() argument
6393 XLValue, ExprRValue, BOUE->getOpcode(), IsXLHSInRHSPart, AO, Loc, Gen); in emitOMPAtomicCaptureExpr()
6419 XLValue, ExprRValue, /*BO=*/BO_Assign, /*IsXLHSInRHSPart=*/false, AO, in emitOMPAtomicCaptureExpr()
6439 switch (AO) { in emitOMPAtomicCaptureExpr()
6463 CodeGenFunction &CGF, llvm::AtomicOrdering AO, llvm::AtomicOrdering FailAO, in emitOMPAtomicCompareExpr() argument
6535 CGF.Builder, XOpVal, VOpVal, ROpVal, EVal, DVal, AO, Op, IsXBinopExpr, in emitOMPAtomicCompareExpr()
6539 CGF.Builder, XOpVal, VOpVal, ROpVal, EVal, DVal, AO, Op, IsXBinopExpr, in emitOMPAtomicCompareExpr()
6544 llvm::AtomicOrdering AO, in emitOMPAtomicExpr() argument
6552 emitOMPAtomicReadExpr(CGF, AO, X, V, Loc); in emitOMPAtomicExpr()
6555 emitOMPAtomicWriteExpr(CGF, AO, X, E, Loc); in emitOMPAtomicExpr()
6559 emitOMPAtomicUpdateExpr(CGF, AO, X, E, UE, IsXLHSInRHSPart, Loc); in emitOMPAtomicExpr()
6562 emitOMPAtomicCaptureExpr(CGF, AO, IsPostfixUpdate, V, X, E, UE, in emitOMPAtomicExpr()
6566 emitOMPAtomicCompareExpr(CGF, AO, FailAO, X, V, R, E, D, CE, in emitOMPAtomicExpr()
6576 llvm::AtomicOrdering AO = CGM.getOpenMPRuntime().getDefaultMemoryOrdering(); in EmitOMPAtomicDirective() local
6581 AO = llvm::AtomicOrdering::SequentiallyConsistent; in EmitOMPAtomicDirective()
6584 AO = llvm::AtomicOrdering::AcquireRelease; in EmitOMPAtomicDirective()
6587 AO = llvm::AtomicOrdering::Acquire; in EmitOMPAtomicDirective()
6590 AO = llvm::AtomicOrdering::Release; in EmitOMPAtomicDirective()
6593 AO = llvm::AtomicOrdering::Monotonic; in EmitOMPAtomicDirective()
6624 AO = DefaultOrder; in EmitOMPAtomicDirective()
6627 AO = llvm::AtomicOrdering::Release; in EmitOMPAtomicDirective()
6630 AO = llvm::AtomicOrdering::Acquire; in EmitOMPAtomicDirective()
6652 emitOMPAtomicExpr(*this, Kind, AO, FailAO, S.isPostfixUpdate(), S.getX(), in EmitOMPAtomicDirective()