Home
last modified time | relevance | path

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

12345

/freebsd-14.2/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;
91 inline bool isStrongerThan(AtomicOrdering AO, AtomicOrdering Other) { in isStrongerThan()
106 inline bool isAtLeastOrStrongerThan(AtomicOrdering AO, AtomicOrdering Other) { in isAtLeastOrStrongerThan()
139 inline AtomicOrdering getMergedAtomicOrdering(AtomicOrdering AO, in getMergedAtomicOrdering()
141 if ((AO == AtomicOrdering::Acquire && Other == AtomicOrdering::Release) || in getMergedAtomicOrdering()
142 (AO == AtomicOrdering::Release && Other == AtomicOrdering::Acquire)) in getMergedAtomicOrdering()
[all …]
/freebsd-14.2/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);
273 AtomicOrdering getSuccessOrdering() const { in getSuccessOrdering()
274 return static_cast<AtomicOrdering>(AtomicInfo.Ordering); in getSuccessOrdering()
279 AtomicOrdering getFailureOrdering() const { in getFailureOrdering()
286 AtomicOrdering getMergedOrdering() const { in getMergedOrdering()
300 return getSuccessOrdering() != AtomicOrdering::NotAtomic; in isAtomic()
307 return (getSuccessOrdering() == AtomicOrdering::NotAtomic || in isUnordered()
[all …]
H A DRuntimeLibcalls.h89 AtomicOrdering Order, uint64_t MemSize);
93 Libcall getOUTLINE_ATOMIC(unsigned Opc, AtomicOrdering Order, MVT VT);
H A DMachineFunction.h1032 AtomicOrdering Ordering = AtomicOrdering::NotAtomic,
1033 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic);
1039 AtomicOrdering Ordering = AtomicOrdering::NotAtomic,
1040 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic);
H A DAtomicExpandUtils.h26 AtomicOrdering, SyncScope::ID, Value *&, Value *&)>;
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVExpandAtomicPseudoInsts.cpp160 case AtomicOrdering::Acquire: in getLRForRMW32()
164 case AtomicOrdering::Release: in getLRForRMW32()
182 case AtomicOrdering::Acquire: in getSCForRMW32()
184 case AtomicOrdering::Release: in getSCForRMW32()
204 case AtomicOrdering::Acquire: in getLRForRMW64()
208 case AtomicOrdering::Release: in getLRForRMW64()
226 case AtomicOrdering::Acquire: in getSCForRMW64()
269 AtomicOrdering Ordering = in doAtomicBinOpExpansion()
335 AtomicOrdering Ordering = in doMaskedAtomicBinOpExpansion()
477 AtomicOrdering Ordering = in expandAtomicMinMaxOp()
[all …]
H A DRISCVInstrInfoA.td225 // Ordering constants must be kept in sync with the AtomicOrdering enum in
226 // AtomicOrdering.h.
276 // Ordering constants must be kept in sync with the AtomicOrdering enum in
277 // AtomicOrdering.h.
320 // Ordering constants must be kept in sync with the AtomicOrdering enum in
321 // AtomicOrdering.h.
/freebsd-14.2/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()
H A DLowerMemIntrinsics.cpp92 Load->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopKnownSize()
93 Store->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopKnownSize()
148 Load->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopKnownSize()
149 Store->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopKnownSize()
225 Load->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopUnknownSize()
226 Store->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopUnknownSize()
298 Load->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopUnknownSize()
299 Store->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopUnknownSize()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DSIMemoryLegalizer.cpp93 AtomicOrdering Ordering = AtomicOrdering::NotAtomic;
94 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic;
102 SIMemOpInfo(AtomicOrdering Ordering = AtomicOrdering::SequentiallyConsistent, in SIMemOpInfo()
107 AtomicOrdering FailureOrdering = in SIMemOpInfo()
118 if (Ordering == AtomicOrdering::NotAtomic) { in SIMemOpInfo()
164 AtomicOrdering getOrdering() const { in getOrdering()
170 AtomicOrdering getFailureOrdering() const { in getFailureOrdering()
728 AtomicOrdering Ordering = AtomicOrdering::NotAtomic; in constructFromMIWithMMO()
729 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic; in constructFromMIWithMMO()
763 if (Ordering != AtomicOrdering::NotAtomic) { in constructFromMIWithMMO()
[all …]
/freebsd-14.2/contrib/llvm-project/clang/lib/CodeGen/
H A DCGAtomic.cpp268 llvm::AtomicOrdering Success =
270 llvm::AtomicOrdering Failure =
275 llvm::AtomicOrdering Success =
277 llvm::AtomicOrdering Failure =
430 llvm::AtomicOrdering FailureOrder; in emitAtomicCmpXchgFailureSet()
1716 llvm::AtomicOrdering AO; in EmitAtomicLoad()
1721 AO = llvm::AtomicOrdering::Acquire; in EmitAtomicLoad()
1846 llvm::AtomicOrdering Success, llvm::AtomicOrdering Failure, bool IsWeak) { in EmitAtomicCompareExchangeOp()
2132 llvm::AtomicOrdering AO; in EmitAtomicStore()
2136 AO = llvm::AtomicOrdering::Release; in EmitAtomicStore()
[all …]
H A DCGStmtOpenMP.cpp6050 case llvm::AtomicOrdering::Acquire: in emitOMPAtomicReadExpr()
6056 case llvm::AtomicOrdering::Monotonic: in emitOMPAtomicReadExpr()
6057 case llvm::AtomicOrdering::Release: in emitOMPAtomicReadExpr()
6059 case llvm::AtomicOrdering::NotAtomic: in emitOMPAtomicReadExpr()
6079 case llvm::AtomicOrdering::Release: in emitOMPAtomicWriteExpr()
6085 case llvm::AtomicOrdering::Acquire: in emitOMPAtomicWriteExpr()
6270 case llvm::AtomicOrdering::Release: in emitOMPAtomicUpdateExpr()
6276 case llvm::AtomicOrdering::Acquire: in emitOMPAtomicUpdateExpr()
6410 CodeGenFunction &CGF, llvm::AtomicOrdering AO, llvm::AtomicOrdering FailAO, in emitOMPAtomicCompareExpr()
6523 llvm::AtomicOrdering AO = llvm::AtomicOrdering::Monotonic; in EmitOMPAtomicDirective()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/CodeGen/
H A DAtomicExpandPass.cpp93 AtomicOrdering MemOpOrder,
432 LI->setAtomic(AtomicOrdering::NotAtomic); in tryExpandAtomicLoad()
447 SI->setAtomic(AtomicOrdering::NotAtomic); in tryExpandAtomicStore()
472 AtomicOrdering Order = LI->getOrdering(); in expandAtomicLoadToCmpXchg()
473 if (Order == AtomicOrdering::Unordered) in expandAtomicLoadToCmpXchg()
474 Order = AtomicOrdering::Monotonic; in expandAtomicLoadToCmpXchg()
525 AtomicOrdering Ordering = SI->getOrdering(); in expandAtomicStore()
526 assert(Ordering != AtomicOrdering::NotAtomic); in expandAtomicStore()
527 AtomicOrdering RMWOrdering = Ordering == AtomicOrdering::Unordered in expandAtomicStore()
1052 AtomicOrdering MemOpOrder, in expandAtomicOpToLLSC()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/SPIRV/
H A DSPIRVUtils.cpp192 SPIRV::MemorySemantics::MemorySemantics getMemSemantics(AtomicOrdering Ord) { in getMemSemantics()
194 case AtomicOrdering::Acquire: in getMemSemantics()
196 case AtomicOrdering::Release: in getMemSemantics()
198 case AtomicOrdering::AcquireRelease: in getMemSemantics()
200 case AtomicOrdering::SequentiallyConsistent: in getMemSemantics()
202 case AtomicOrdering::Unordered: in getMemSemantics()
203 case AtomicOrdering::Monotonic: in getMemSemantics()
204 case AtomicOrdering::NotAtomic: in getMemSemantics()
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/IR/
H A DInstructions.h229 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-14.2/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DGlobalStatus.h80 AtomicOrdering Ordering = AtomicOrdering::NotAtomic;
H A DFunctionComparator.h327 int cmpOrderings(AtomicOrdering L, AtomicOrdering R) const;
/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLowerAtomicPass.cpp31 LI->setAtomic(AtomicOrdering::NotAtomic); in LowerLoadInst()
36 SI->setAtomic(AtomicOrdering::NotAtomic); in LowerStoreInst()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineAtomicRMW.cpp119 assert(RMWI.getOrdering() != AtomicOrdering::NotAtomic && in visitAtomicRMWInst()
120 RMWI.getOrdering() != AtomicOrdering::Unordered && in visitAtomicRMWInst()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/
H A DAArch64LegalizerInfo.cpp351 Query.MMODescrs[0].Ordering == AtomicOrdering::Acquire; in AArch64LegalizerInfo()
1619 assert(Ordering == AtomicOrdering::Monotonic || in legalizeLoadStore()
1620 Ordering == AtomicOrdering::Unordered); in legalizeLoadStore()
1868 case AtomicOrdering::Acquire: in legalizeAtomicCmpxchg128()
1871 case AtomicOrdering::Release: in legalizeAtomicCmpxchg128()
1874 case AtomicOrdering::AcquireRelease: in legalizeAtomicCmpxchg128()
1875 case AtomicOrdering::SequentiallyConsistent: in legalizeAtomicCmpxchg128()
1909 case AtomicOrdering::Acquire: in legalizeAtomicCmpxchg128()
1912 case AtomicOrdering::Release: in legalizeAtomicCmpxchg128()
1915 case AtomicOrdering::AcquireRelease: in legalizeAtomicCmpxchg128()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DThreadSanitizer.cpp661 static ConstantInt *createOrdering(IRBuilder<> *IRB, AtomicOrdering ord) { in createOrdering()
664 case AtomicOrdering::NotAtomic: in createOrdering()
666 case AtomicOrdering::Unordered: [[fallthrough]]; in createOrdering()
667 case AtomicOrdering::Monotonic: v = 0; break; in createOrdering()
670 case AtomicOrdering::Acquire: v = 2; break; in createOrdering()
671 case AtomicOrdering::Release: v = 3; break; in createOrdering()
672 case AtomicOrdering::AcquireRelease: v = 4; break; in createOrdering()
673 case AtomicOrdering::SequentiallyConsistent: v = 5; break; in createOrdering()
H A DDataFlowSanitizer.cpp2343 static AtomicOrdering addAcquireOrdering(AtomicOrdering AO) { in addAcquireOrdering()
2345 case AtomicOrdering::NotAtomic: in addAcquireOrdering()
2347 case AtomicOrdering::Unordered: in addAcquireOrdering()
2348 case AtomicOrdering::Monotonic: in addAcquireOrdering()
2349 case AtomicOrdering::Acquire: in addAcquireOrdering()
2351 case AtomicOrdering::Release: in addAcquireOrdering()
2630 static AtomicOrdering addReleaseOrdering(AtomicOrdering AO) { in addReleaseOrdering()
2632 case AtomicOrdering::NotAtomic: in addReleaseOrdering()
2634 case AtomicOrdering::Unordered: in addReleaseOrdering()
2636 case AtomicOrdering::Release: in addReleaseOrdering()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/VE/
H A DVEISelLowering.cpp1065 case AtomicOrdering::NotAtomic: in emitLeadingFence()
1066 case AtomicOrdering::Unordered: in emitLeadingFence()
1068 case AtomicOrdering::Monotonic: in emitLeadingFence()
1069 case AtomicOrdering::Acquire: in emitLeadingFence()
1071 case AtomicOrdering::Release: in emitLeadingFence()
1086 case AtomicOrdering::NotAtomic: in emitTrailingFence()
1087 case AtomicOrdering::Unordered: in emitTrailingFence()
1089 case AtomicOrdering::Monotonic: in emitTrailingFence()
1090 case AtomicOrdering::Release: in emitTrailingFence()
1092 case AtomicOrdering::Acquire: in emitTrailingFence()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Frontend/OpenMP/
H A DOMPIRBuilder.h2378 AtomicOrdering AO, AtomicKind AK);
2406 AtomicOrdering AO, AtomicRMWInst::BinOp RMWOp,
2437 AtomicOrdering AO);
2450 AtomicOrdering AO);
2474 Value *Expr, AtomicOrdering AO,
2511 AtomicOrdering AO, AtomicRMWInst::BinOp RMWOp,
2563 AtomicOrdering AO, omp::OMPAtomicCompareOp Op,
2568 AtomicOrdering AO,
2571 bool IsFailOnly, AtomicOrdering Failure);
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/LoongArch/
H A DLoongArchExpandAtomicPseudoInsts.cpp574 AtomicOrdering FailureOrdering = in expandAtomicCmpXchg()
575 static_cast<AtomicOrdering>(MI.getOperand(IsMasked ? 6 : 5).getImm()); in expandAtomicCmpXchg()
579 case AtomicOrdering::Acquire: in expandAtomicCmpXchg()
580 case AtomicOrdering::AcquireRelease: in expandAtomicCmpXchg()
581 case AtomicOrdering::SequentiallyConsistent: in expandAtomicCmpXchg()

12345