Lines Matching defs:AO
213 bool AsValue, llvm::AtomicOrdering AO,
231 /// \param AO Atomic ordering.
233 void EmitAtomicUpdate(llvm::AtomicOrdering AO,
237 /// \param AO Atomic ordering.
238 void EmitAtomicUpdate(llvm::AtomicOrdering AO, RValue UpdateRVal,
247 translateAtomicOrdering(const llvm::AtomicOrdering AO);
257 llvm::AtomicOrdering AO, bool IsVolatile);
259 llvm::Value *EmitAtomicLoadOp(llvm::AtomicOrdering AO, bool IsVolatile);
273 EmitAtomicUpdateLibcall(llvm::AtomicOrdering AO,
277 void EmitAtomicUpdateOp(llvm::AtomicOrdering AO,
281 void EmitAtomicUpdateLibcall(llvm::AtomicOrdering AO, RValue UpdateRVal,
284 void EmitAtomicUpdateOp(llvm::AtomicOrdering AO, RValue UpdateRal,
290 AtomicInfo::translateAtomicOrdering(const llvm::AtomicOrdering AO) {
291 switch (AO) {
1252 llvm::AtomicOrdering AO, bool) {
1261 llvm::ConstantInt::get(CGF.IntTy, translateAtomicOrdering(AO))),
1266 llvm::Value *AtomicInfo::EmitAtomicLoadOp(llvm::AtomicOrdering AO,
1271 Load->setAtomic(AO);
1306 llvm::AtomicOrdering AO;
1309 AO = llvm::SequentiallyConsistent;
1311 AO = llvm::Acquire;
1314 return EmitAtomicLoad(LV, SL, AO, IsVolatile, Slot);
1318 bool AsValue, llvm::AtomicOrdering AO,
1329 EmitAtomicLoadLibcall(TempAddr.getPointer(), AO, IsVolatile);
1337 auto *Load = EmitAtomicLoadOp(AO, IsVolatile);
1351 llvm::AtomicOrdering AO, bool IsVolatile,
1354 return Atomics.EmitAtomicLoad(resultSlot, loc, /*AsValue=*/true, AO,
1565 llvm::AtomicOrdering AO, const llvm::function_ref<RValue(RValue)> &UpdateOp,
1567 auto Failure = llvm::AtomicCmpXchgInst::getStrongestFailureOrdering(AO);
1571 EmitAtomicLoadLibcall(ExpectedAddr.getPointer(), AO, IsVolatile);
1588 AO, Failure);
1594 llvm::AtomicOrdering AO, const llvm::function_ref<RValue(RValue)> &UpdateOp,
1596 auto Failure = llvm::AtomicCmpXchgInst::getStrongestFailureOrdering(AO);
1599 auto *OldVal = EmitAtomicLoadOp(AO, IsVolatile);
1619 auto Res = EmitAtomicCompareExchangeOp(PHI, DesiredVal, AO, Failure);
1652 void AtomicInfo::EmitAtomicUpdateLibcall(llvm::AtomicOrdering AO,
1654 auto Failure = llvm::AtomicCmpXchgInst::getStrongestFailureOrdering(AO);
1658 EmitAtomicLoadLibcall(ExpectedAddr.getPointer(), AO, IsVolatile);
1672 AO, Failure);
1677 void AtomicInfo::EmitAtomicUpdateOp(llvm::AtomicOrdering AO, RValue UpdateRVal,
1679 auto Failure = llvm::AtomicCmpXchgInst::getStrongestFailureOrdering(AO);
1682 auto *OldVal = EmitAtomicLoadOp(AO, IsVolatile);
1700 auto Res = EmitAtomicCompareExchangeOp(PHI, DesiredVal, AO, Failure);
1707 llvm::AtomicOrdering AO, const llvm::function_ref<RValue(RValue)> &UpdateOp,
1710 EmitAtomicUpdateLibcall(AO, UpdateOp, IsVolatile);
1712 EmitAtomicUpdateOp(AO, UpdateOp, IsVolatile);
1716 void AtomicInfo::EmitAtomicUpdate(llvm::AtomicOrdering AO, RValue UpdateRVal,
1719 EmitAtomicUpdateLibcall(AO, UpdateRVal, IsVolatile);
1721 EmitAtomicUpdateOp(AO, UpdateRVal, IsVolatile);
1728 llvm::AtomicOrdering AO;
1730 AO = llvm::SequentiallyConsistent;
1732 AO = llvm::Release;
1735 return EmitAtomicStore(rvalue, lvalue, AO, IsVolatile, isInit);
1744 llvm::AtomicOrdering AO, bool IsVolatile,
1776 IntTy, AtomicInfo::translateAtomicOrdering(AO))),
1794 store->setAtomic(AO);
1805 atomics.EmitAtomicUpdate(AO, rvalue, IsVolatile);
1829 LValue LVal, llvm::AtomicOrdering AO,
1832 Atomics.EmitAtomicUpdate(AO, UpdateOp, IsVolatile);