Home
last modified time | relevance | path

Searched refs:AtomicOrdering (Results 1 – 25 of 94) sorted by relevance

1234

/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Support/
H A DAtomicOrdering.h56 enum class AtomicOrdering : unsigned { enum
68 bool operator<(AtomicOrdering, AtomicOrdering) = delete;
69 bool operator>(AtomicOrdering, AtomicOrdering) = delete;
70 bool operator<=(AtomicOrdering, AtomicOrdering) = delete;
71 bool operator>=(AtomicOrdering, AtomicOrdering) = delete;
81 inline const char *toIRString(AtomicOrdering ao) { in toIRString()
90 inline bool isStrongerThan(AtomicOrdering AO, AtomicOrdering Other) { in isStrongerThan()
105 inline bool isAtLeastOrStrongerThan(AtomicOrdering AO, AtomicOrdering Other) { in isAtLeastOrStrongerThan()
128 inline bool isAcquireOrStronger(AtomicOrdering AO) { in isAcquireOrStronger()
132 inline bool isReleaseOrStronger(AtomicOrdering AO) { in isReleaseOrStronger()
[all …]
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DMachineMemOperand.h193 AtomicOrdering Ordering = AtomicOrdering::NotAtomic,
194 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic);
199 AtomicOrdering Ordering = AtomicOrdering::NotAtomic,
200 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic);
271 AtomicOrdering getSuccessOrdering() const { in getSuccessOrdering()
277 AtomicOrdering getFailureOrdering() const { in getFailureOrdering()
284 AtomicOrdering getMergedOrdering() const { in getMergedOrdering()
290 if (Ordering == AtomicOrdering::Monotonic) in getMergedOrdering()
291 return AtomicOrdering::Acquire; in getMergedOrdering()
292 if (Ordering == AtomicOrdering::Release) in getMergedOrdering()
[all …]
H A DMachineFunction.h911 AtomicOrdering Ordering = AtomicOrdering::NotAtomic,
912 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic);
918 AtomicOrdering Ordering = AtomicOrdering::NotAtomic,
919 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic);
H A DAtomicExpandUtils.h26 AtomicOrdering, SyncScope::ID, Value *&, Value *&)>;
H A DRuntimeLibcalls.h79 Libcall getOUTLINE_ATOMIC(unsigned Opc, AtomicOrdering Order, MVT VT);
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVExpandAtomicPseudoInsts.cpp138 case AtomicOrdering::Acquire: in getLRForRMW32()
140 case AtomicOrdering::Release: in getLRForRMW32()
155 case AtomicOrdering::Acquire: in getSCForRMW32()
157 case AtomicOrdering::Release: in getSCForRMW32()
172 case AtomicOrdering::Acquire: in getLRForRMW64()
174 case AtomicOrdering::Release: in getLRForRMW64()
189 case AtomicOrdering::Acquire: in getSCForRMW64()
225 AtomicOrdering Ordering = in doAtomicBinOpExpansion()
288 AtomicOrdering Ordering = in doMaskedAtomicBinOpExpansion()
429 AtomicOrdering Ordering = in expandAtomicMinMaxOp()
[all …]
H A DRISCVInstrInfoA.td192 // Ordering constants must be kept in sync with the AtomicOrdering enum in
193 // AtomicOrdering.h.
281 // Ordering constants must be kept in sync with the AtomicOrdering enum in
282 // AtomicOrdering.h.
351 // Ordering constants must be kept in sync with the AtomicOrdering enum in
352 // AtomicOrdering.h.
H A DRISCVISelLowering.h388 AtomicOrdering Ord) const override;
390 AtomicOrdering Ord) const override;
463 AtomicOrdering Ord) const override;
470 AtomicOrdering Ord) const override;
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DSIMemoryLegalizer.cpp92 AtomicOrdering Ordering = AtomicOrdering::NotAtomic;
93 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic;
101 SIMemOpInfo(AtomicOrdering Ordering = AtomicOrdering::SequentiallyConsistent, in SIMemOpInfo()
106 AtomicOrdering FailureOrdering = in SIMemOpInfo()
117 if (Ordering == AtomicOrdering::NotAtomic) { in SIMemOpInfo()
164 AtomicOrdering getOrdering() const { in getOrdering()
170 AtomicOrdering getFailureOrdering() const { in getFailureOrdering()
630 AtomicOrdering Ordering = AtomicOrdering::NotAtomic; in constructFromMIWithMMO()
631 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic; in constructFromMIWithMMO()
668 if (Ordering != AtomicOrdering::NotAtomic) { in constructFromMIWithMMO()
[all …]
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DGlobalStatus.cpp33 static AtomicOrdering strongerOrdering(AtomicOrdering X, AtomicOrdering Y) { in strongerOrdering()
34 if ((X == AtomicOrdering::Acquire && Y == AtomicOrdering::Release) || in strongerOrdering()
35 (Y == AtomicOrdering::Acquire && X == AtomicOrdering::Release)) in strongerOrdering()
36 return AtomicOrdering::AcquireRelease; in strongerOrdering()
37 return (AtomicOrdering)std::max((unsigned)X, (unsigned)Y); in strongerOrdering()
/freebsd-13.1/contrib/llvm-project/clang/lib/CodeGen/
H A DCGAtomic.cpp260 llvm::AtomicOrdering Success =
262 llvm::AtomicOrdering Failure =
267 llvm::AtomicOrdering Success =
269 llvm::AtomicOrdering Failure =
422 llvm::AtomicOrdering FailureOrder; in emitAtomicCmpXchgFailureSet()
1557 llvm::AtomicOrdering AO; in EmitAtomicLoad()
1562 AO = llvm::AtomicOrdering::Acquire; in EmitAtomicLoad()
1687 llvm::AtomicOrdering Success, llvm::AtomicOrdering Failure, bool IsWeak) { in EmitAtomicCompareExchangeOp()
1977 llvm::AtomicOrdering AO; in EmitAtomicStore()
1981 AO = llvm::AtomicOrdering::Release; in EmitAtomicStore()
[all …]
H A DCGStmtOpenMP.cpp5432 case llvm::AtomicOrdering::Acquire: in emitOMPAtomicReadExpr()
5438 case llvm::AtomicOrdering::Monotonic: in emitOMPAtomicReadExpr()
5439 case llvm::AtomicOrdering::Release: in emitOMPAtomicReadExpr()
5441 case llvm::AtomicOrdering::NotAtomic: in emitOMPAtomicReadExpr()
5442 case llvm::AtomicOrdering::Unordered: in emitOMPAtomicReadExpr()
5461 case llvm::AtomicOrdering::Release: in emitOMPAtomicWriteExpr()
5467 case llvm::AtomicOrdering::Acquire: in emitOMPAtomicWriteExpr()
5468 case llvm::AtomicOrdering::Monotonic: in emitOMPAtomicWriteExpr()
5627 case llvm::AtomicOrdering::Release: in emitOMPAtomicUpdateExpr()
5633 case llvm::AtomicOrdering::Acquire: in emitOMPAtomicUpdateExpr()
[all …]
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineAtomicRMW.cpp114 AtomicOrdering Ordering = RMWI.getOrdering(); in visitAtomicRMWInst()
115 assert(Ordering != AtomicOrdering::NotAtomic && in visitAtomicRMWInst()
116 Ordering != AtomicOrdering::Unordered && in visitAtomicRMWInst()
123 if (Ordering != AtomicOrdering::Release && in visitAtomicRMWInst()
124 Ordering != AtomicOrdering::Monotonic) in visitAtomicRMWInst()
151 if (Ordering != AtomicOrdering::Acquire && in visitAtomicRMWInst()
152 Ordering != AtomicOrdering::Monotonic) in visitAtomicRMWInst()
/freebsd-13.1/contrib/llvm-project/llvm/lib/CodeGen/
H A DAtomicExpandPass.cpp88 AtomicOrdering MemOpOrder,
101 AtomicOrdering MemOpOrder, SyncScope::ID SSID,
227 LI->setOrdering(AtomicOrdering::Monotonic); in runOnFunction()
230 SI->setOrdering(AtomicOrdering::Monotonic); in runOnFunction()
440 AtomicOrdering Order = LI->getOrdering(); in expandAtomicLoadToCmpXchg()
441 if (Order == AtomicOrdering::Unordered) in expandAtomicLoadToCmpXchg()
442 Order = AtomicOrdering::Monotonic; in expandAtomicLoadToCmpXchg()
809 AtomicOrdering MemOpOrder = AI->getOrdering(); in expandPartwordAtomicRMW()
1007 AtomicOrdering MemOpOrder, in expandAtomicOpToLLSC()
1072 AtomicOrdering MemOpOrder, in insertRMWLLSCLoop()
[all …]
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/IR/
H A DInstructions.h232 AtomicOrdering getOrdering() const { in getOrdering()
362 AtomicOrdering getOrdering() const { in getOrdering()
469 AtomicOrdering getOrdering() const {
523 AtomicOrdering SuccessOrdering, AtomicOrdering FailureOrdering,
634 return AtomicOrdering::Acquire;
673 static AtomicOrdering
678 case AtomicOrdering::Release:
679 case AtomicOrdering::Monotonic:
682 case AtomicOrdering::Acquire:
683 return AtomicOrdering::Acquire;
[all …]
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DGlobalStatus.h72 AtomicOrdering Ordering = AtomicOrdering::NotAtomic;
H A DFunctionComparator.h331 int cmpOrderings(AtomicOrdering L, AtomicOrdering R) const;
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Frontend/OpenMP/
H A DOMPIRBuilder.h961 AtomicOrdering AO, AtomicKind AK);
986 Value *Expr, AtomicOrdering AO,
1018 AtomicOrdering AO);
1031 AtomicOrdering AO);
1055 Value *Expr, AtomicOrdering AO,
1092 AtomicOrdering AO, AtomicRMWInst::BinOp RMWOp,
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/VE/
H A DVEISelLowering.cpp1005 case AtomicOrdering::NotAtomic: in emitLeadingFence()
1006 case AtomicOrdering::Unordered: in emitLeadingFence()
1008 case AtomicOrdering::Monotonic: in emitLeadingFence()
1009 case AtomicOrdering::Acquire: in emitLeadingFence()
1011 case AtomicOrdering::Release: in emitLeadingFence()
1026 case AtomicOrdering::NotAtomic: in emitTrailingFence()
1027 case AtomicOrdering::Unordered: in emitTrailingFence()
1029 case AtomicOrdering::Monotonic: in emitTrailingFence()
1030 case AtomicOrdering::Release: in emitTrailingFence()
1032 case AtomicOrdering::Acquire: in emitTrailingFence()
[all …]
H A DVEISelLowering.h96 AtomicOrdering Ord) const override;
98 AtomicOrdering Ord) const override;
/freebsd-13.1/contrib/llvm-project/llvm/lib/Frontend/OpenMP/
H A DOMPIRBuilder.cpp2373 llvm::AtomicOrdering FlushAO = AtomicOrdering::Monotonic; in checkAndEmitFlushAfterAtomic()
2377 if (AO == AtomicOrdering::Acquire || AO == AtomicOrdering::AcquireRelease || in checkAndEmitFlushAfterAtomic()
2379 FlushAO = AtomicOrdering::Acquire; in checkAndEmitFlushAfterAtomic()
2385 if (AO == AtomicOrdering::Release || AO == AtomicOrdering::AcquireRelease || in checkAndEmitFlushAfterAtomic()
2387 FlushAO = AtomicOrdering::Release; in checkAndEmitFlushAfterAtomic()
2393 case AtomicOrdering::Acquire: in checkAndEmitFlushAfterAtomic()
2394 FlushAO = AtomicOrdering::Acquire; in checkAndEmitFlushAfterAtomic()
2397 case AtomicOrdering::Release: in checkAndEmitFlushAfterAtomic()
2398 FlushAO = AtomicOrdering::Release; in checkAndEmitFlushAfterAtomic()
2401 case AtomicOrdering::AcquireRelease: in checkAndEmitFlushAfterAtomic()
[all …]
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DThreadSanitizer.cpp718 static ConstantInt *createOrdering(IRBuilder<> *IRB, AtomicOrdering ord) { in createOrdering()
721 case AtomicOrdering::NotAtomic: in createOrdering()
723 case AtomicOrdering::Unordered: LLVM_FALLTHROUGH; in createOrdering()
724 case AtomicOrdering::Monotonic: v = 0; break; in createOrdering()
727 case AtomicOrdering::Acquire: v = 2; break; in createOrdering()
728 case AtomicOrdering::Release: v = 3; break; in createOrdering()
729 case AtomicOrdering::AcquireRelease: v = 4; break; in createOrdering()
730 case AtomicOrdering::SequentiallyConsistent: v = 5; break; in createOrdering()
H A DDataFlowSanitizer.cpp2196 static AtomicOrdering addAcquireOrdering(AtomicOrdering AO) { in addAcquireOrdering()
2198 case AtomicOrdering::NotAtomic: in addAcquireOrdering()
2200 case AtomicOrdering::Unordered: in addAcquireOrdering()
2201 case AtomicOrdering::Monotonic: in addAcquireOrdering()
2202 case AtomicOrdering::Acquire: in addAcquireOrdering()
2204 case AtomicOrdering::Release: in addAcquireOrdering()
2456 static AtomicOrdering addReleaseOrdering(AtomicOrdering AO) { in addReleaseOrdering()
2458 case AtomicOrdering::NotAtomic: in addReleaseOrdering()
2460 case AtomicOrdering::Unordered: in addReleaseOrdering()
2462 case AtomicOrdering::Release: in addReleaseOrdering()
[all …]
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLowerAtomic.cpp109 LI->setAtomic(AtomicOrdering::NotAtomic); in LowerLoadInst()
114 SI->setAtomic(AtomicOrdering::NotAtomic); in LowerStoreInst()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/
H A DAArch64LegalizerInfo.cpp260 .lowerIf(atomicOrderingAtLeastOrStrongerThan(0, AtomicOrdering::Unordered)) in AArch64LegalizerInfo()
1190 case AtomicOrdering::Acquire: in legalizeAtomicCmpxchg128()
1193 case AtomicOrdering::Release: in legalizeAtomicCmpxchg128()
1196 case AtomicOrdering::AcquireRelease: in legalizeAtomicCmpxchg128()
1197 case AtomicOrdering::SequentiallyConsistent: in legalizeAtomicCmpxchg128()
1231 case AtomicOrdering::Acquire: in legalizeAtomicCmpxchg128()
1234 case AtomicOrdering::Release: in legalizeAtomicCmpxchg128()
1237 case AtomicOrdering::AcquireRelease: in legalizeAtomicCmpxchg128()
1238 case AtomicOrdering::SequentiallyConsistent: in legalizeAtomicCmpxchg128()

1234