Home
last modified time | relevance | path

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

12345

/llvm-project-15.0.7/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;
90 inline bool isStrongerThan(AtomicOrdering AO, AtomicOrdering Other) { in isStrongerThan()
105 inline bool isAtLeastOrStrongerThan(AtomicOrdering AO, AtomicOrdering Other) { in isAtLeastOrStrongerThan()
138 inline AtomicOrdering getMergedAtomicOrdering(AtomicOrdering AO, in getMergedAtomicOrdering()
140 if ((AO == AtomicOrdering::Acquire && Other == AtomicOrdering::Release) || in getMergedAtomicOrdering()
141 (AO == AtomicOrdering::Release && Other == AtomicOrdering::Acquire)) in getMergedAtomicOrdering()
[all …]
/llvm-project-15.0.7/llvm/include/llvm/CodeGen/
H A DMachineMemOperand.h192 AtomicOrdering Ordering = AtomicOrdering::NotAtomic,
193 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic);
198 AtomicOrdering Ordering = AtomicOrdering::NotAtomic,
199 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic);
270 AtomicOrdering getSuccessOrdering() const { in getSuccessOrdering()
271 return static_cast<AtomicOrdering>(AtomicInfo.Ordering); in getSuccessOrdering()
276 AtomicOrdering getFailureOrdering() const { in getFailureOrdering()
283 AtomicOrdering getMergedOrdering() const { in getMergedOrdering()
297 return getSuccessOrdering() != AtomicOrdering::NotAtomic; in isAtomic()
304 return (getSuccessOrdering() == AtomicOrdering::NotAtomic || in isUnordered()
[all …]
H A DMachineFunction.h962 AtomicOrdering Ordering = AtomicOrdering::NotAtomic,
963 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic);
969 AtomicOrdering Ordering = AtomicOrdering::NotAtomic,
970 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic);
H A DAtomicExpandUtils.h26 AtomicOrdering, SyncScope::ID, Value *&, Value *&)>;
/llvm-project-15.0.7/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.td171 // Ordering constants must be kept in sync with the AtomicOrdering enum in
172 // AtomicOrdering.h.
269 // Ordering constants must be kept in sync with the AtomicOrdering enum in
270 // AtomicOrdering.h.
341 // Ordering constants must be kept in sync with the AtomicOrdering enum in
342 // AtomicOrdering.h.
/llvm-project-15.0.7/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()
694 AtomicOrdering Ordering = AtomicOrdering::NotAtomic; in constructFromMIWithMMO()
695 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic; in constructFromMIWithMMO()
729 if (Ordering != AtomicOrdering::NotAtomic) { in constructFromMIWithMMO()
[all …]
/llvm-project-15.0.7/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.cpp101 Load->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopKnownSize()
102 Store->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopKnownSize()
166 Load->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopKnownSize()
167 Store->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopKnownSize()
254 Load->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopUnknownSize()
255 Store->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopUnknownSize()
331 Load->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopUnknownSize()
332 Store->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopUnknownSize()
/llvm-project-15.0.7/clang/lib/CodeGen/
H A DCGAtomic.cpp268 llvm::AtomicOrdering Success =
270 llvm::AtomicOrdering Failure =
275 llvm::AtomicOrdering Success =
277 llvm::AtomicOrdering Failure =
431 llvm::AtomicOrdering FailureOrder; in emitAtomicCmpXchgFailureSet()
1611 llvm::AtomicOrdering AO; in EmitAtomicLoad()
1616 AO = llvm::AtomicOrdering::Acquire; in EmitAtomicLoad()
1741 llvm::AtomicOrdering Success, llvm::AtomicOrdering Failure, bool IsWeak) { in EmitAtomicCompareExchangeOp()
2031 llvm::AtomicOrdering AO; in EmitAtomicStore()
2035 AO = llvm::AtomicOrdering::Release; in EmitAtomicStore()
[all …]
/llvm-project-15.0.7/llvm/lib/Transforms/InstCombine/
H A DInstCombineAtomicRMW.cpp119 AtomicOrdering Ordering = RMWI.getOrdering(); in visitAtomicRMWInst()
120 assert(Ordering != AtomicOrdering::NotAtomic && in visitAtomicRMWInst()
121 Ordering != AtomicOrdering::Unordered && in visitAtomicRMWInst()
128 if (Ordering != AtomicOrdering::Release && in visitAtomicRMWInst()
129 Ordering != AtomicOrdering::Monotonic) in visitAtomicRMWInst()
156 if (Ordering != AtomicOrdering::Acquire && in visitAtomicRMWInst()
157 Ordering != AtomicOrdering::Monotonic) in visitAtomicRMWInst()
/llvm-project-15.0.7/llvm/lib/Target/SPIRV/
H A DSPIRVUtils.cpp193 SPIRV::MemorySemantics getMemSemantics(AtomicOrdering Ord) { in getMemSemantics()
195 case AtomicOrdering::Acquire: in getMemSemantics()
197 case AtomicOrdering::Release: in getMemSemantics()
199 case AtomicOrdering::AcquireRelease: in getMemSemantics()
201 case AtomicOrdering::SequentiallyConsistent: in getMemSemantics()
203 case AtomicOrdering::Unordered: in getMemSemantics()
204 case AtomicOrdering::Monotonic: in getMemSemantics()
205 case AtomicOrdering::NotAtomic: in getMemSemantics()
/llvm-project-15.0.7/mlir/lib/Target/LLVMIR/Dialect/LLVMIR/
H A DLLVMToLLVMIRTranslation.cpp128 static llvm::AtomicOrdering getLLVMAtomicOrdering(AtomicOrdering ordering) { in getLLVMAtomicOrdering()
130 case LLVM::AtomicOrdering::not_atomic: in getLLVMAtomicOrdering()
131 return llvm::AtomicOrdering::NotAtomic; in getLLVMAtomicOrdering()
132 case LLVM::AtomicOrdering::unordered: in getLLVMAtomicOrdering()
134 case LLVM::AtomicOrdering::monotonic: in getLLVMAtomicOrdering()
136 case LLVM::AtomicOrdering::acquire: in getLLVMAtomicOrdering()
137 return llvm::AtomicOrdering::Acquire; in getLLVMAtomicOrdering()
138 case LLVM::AtomicOrdering::release: in getLLVMAtomicOrdering()
139 return llvm::AtomicOrdering::Release; in getLLVMAtomicOrdering()
140 case LLVM::AtomicOrdering::acq_rel: in getLLVMAtomicOrdering()
[all …]
/llvm-project-15.0.7/llvm/lib/CodeGen/
H A DAtomicExpandPass.cpp423 LI->setAtomic(AtomicOrdering::NotAtomic); in tryExpandAtomicLoad()
438 SI->setAtomic(AtomicOrdering::NotAtomic); in tryExpandAtomicStore()
463 AtomicOrdering Order = LI->getOrdering(); in expandAtomicLoadToCmpXchg()
464 if (Order == AtomicOrdering::Unordered) in expandAtomicLoadToCmpXchg()
465 Order = AtomicOrdering::Monotonic; in expandAtomicLoadToCmpXchg()
518 AtomicOrdering Ordering = SI->getOrdering(); in expandAtomicStore()
519 assert(Ordering != AtomicOrdering::NotAtomic); in expandAtomicStore()
520 AtomicOrdering RMWOrdering = Ordering == AtomicOrdering::Unordered in expandAtomicStore()
1013 AtomicOrdering MemOpOrder, in expandAtomicOpToLLSC()
1078 AtomicOrdering MemOpOrder, in insertRMWLLSCLoop()
[all …]
/llvm-project-15.0.7/llvm/include/llvm/IR/
H A DInstructions.h226 AtomicOrdering getOrdering() const { in getOrdering()
351 AtomicOrdering getOrdering() const { in getOrdering()
458 AtomicOrdering getOrdering() const {
512 AtomicOrdering SuccessOrdering, AtomicOrdering FailureOrdering,
623 return AtomicOrdering::Acquire;
662 static AtomicOrdering
667 case AtomicOrdering::Release:
668 case AtomicOrdering::Monotonic:
671 case AtomicOrdering::Acquire:
672 return AtomicOrdering::Acquire;
[all …]
/llvm-project-15.0.7/llvm/include/llvm/Transforms/Utils/
H A DGlobalStatus.h80 AtomicOrdering Ordering = AtomicOrdering::NotAtomic;
H A DFunctionComparator.h332 int cmpOrderings(AtomicOrdering L, AtomicOrdering R) const;
/llvm-project-15.0.7/llvm/lib/Transforms/Scalar/
H A DLowerAtomicPass.cpp31 LI->setAtomic(AtomicOrdering::NotAtomic); in LowerLoadInst()
36 SI->setAtomic(AtomicOrdering::NotAtomic); in LowerStoreInst()
/llvm-project-15.0.7/mlir/lib/Target/LLVMIR/
H A DConvertFromLLVMIR.cpp748 static AtomicOrdering getLLVMAtomicOrdering(llvm::AtomicOrdering ordering) { in getLLVMAtomicOrdering()
750 case llvm::AtomicOrdering::NotAtomic: in getLLVMAtomicOrdering()
752 case llvm::AtomicOrdering::Unordered: in getLLVMAtomicOrdering()
753 return LLVM::AtomicOrdering::unordered; in getLLVMAtomicOrdering()
754 case llvm::AtomicOrdering::Monotonic: in getLLVMAtomicOrdering()
756 case llvm::AtomicOrdering::Acquire: in getLLVMAtomicOrdering()
757 return LLVM::AtomicOrdering::acquire; in getLLVMAtomicOrdering()
758 case llvm::AtomicOrdering::Release: in getLLVMAtomicOrdering()
759 return LLVM::AtomicOrdering::release; in getLLVMAtomicOrdering()
761 return LLVM::AtomicOrdering::acq_rel; in getLLVMAtomicOrdering()
[all …]
/llvm-project-15.0.7/llvm/include/llvm/Frontend/OpenMP/
H A DOMPIRBuilder.h1355 AtomicOrdering AO, AtomicKind AK);
1383 AtomicOrdering AO, AtomicRMWInst::BinOp RMWOp,
1414 AtomicOrdering AO);
1427 AtomicOrdering AO);
1451 Value *Expr, AtomicOrdering AO,
1488 AtomicOrdering AO, AtomicRMWInst::BinOp RMWOp,
1540 AtomicOrdering AO, omp::OMPAtomicCompareOp Op,
/llvm-project-15.0.7/llvm/lib/Target/AArch64/GISel/
H A DAArch64LegalizerInfo.cpp301 Query.MMODescrs[0].Ordering != AtomicOrdering::NotAtomic; in AArch64LegalizerInfo()
1092 AtomicOrdering::Monotonic || in legalizeLoadStore()
1094 AtomicOrdering::Unordered); in legalizeLoadStore()
1316 case AtomicOrdering::Acquire: in legalizeAtomicCmpxchg128()
1319 case AtomicOrdering::Release: in legalizeAtomicCmpxchg128()
1322 case AtomicOrdering::AcquireRelease: in legalizeAtomicCmpxchg128()
1323 case AtomicOrdering::SequentiallyConsistent: in legalizeAtomicCmpxchg128()
1357 case AtomicOrdering::Acquire: in legalizeAtomicCmpxchg128()
1360 case AtomicOrdering::Release: in legalizeAtomicCmpxchg128()
1363 case AtomicOrdering::AcquireRelease: in legalizeAtomicCmpxchg128()
[all …]
/llvm-project-15.0.7/llvm/lib/Target/VE/
H A DVEISelLowering.cpp1049 case AtomicOrdering::NotAtomic: in emitLeadingFence()
1050 case AtomicOrdering::Unordered: in emitLeadingFence()
1052 case AtomicOrdering::Monotonic: in emitLeadingFence()
1053 case AtomicOrdering::Acquire: in emitLeadingFence()
1055 case AtomicOrdering::Release: in emitLeadingFence()
1070 case AtomicOrdering::NotAtomic: in emitTrailingFence()
1071 case AtomicOrdering::Unordered: in emitTrailingFence()
1073 case AtomicOrdering::Monotonic: in emitTrailingFence()
1074 case AtomicOrdering::Release: in emitTrailingFence()
1076 case AtomicOrdering::Acquire: in emitTrailingFence()
[all …]
/llvm-project-15.0.7/llvm/lib/Transforms/Instrumentation/
H A DThreadSanitizer.cpp674 static ConstantInt *createOrdering(IRBuilder<> *IRB, AtomicOrdering ord) { in createOrdering()
677 case AtomicOrdering::NotAtomic: in createOrdering()
679 case AtomicOrdering::Unordered: LLVM_FALLTHROUGH; in createOrdering()
680 case AtomicOrdering::Monotonic: v = 0; break; in createOrdering()
683 case AtomicOrdering::Acquire: v = 2; break; in createOrdering()
684 case AtomicOrdering::Release: v = 3; break; in createOrdering()
685 case AtomicOrdering::AcquireRelease: v = 4; break; in createOrdering()
686 case AtomicOrdering::SequentiallyConsistent: v = 5; break; in createOrdering()
H A DDataFlowSanitizer.cpp2155 static AtomicOrdering addAcquireOrdering(AtomicOrdering AO) { in addAcquireOrdering()
2157 case AtomicOrdering::NotAtomic: in addAcquireOrdering()
2159 case AtomicOrdering::Unordered: in addAcquireOrdering()
2160 case AtomicOrdering::Monotonic: in addAcquireOrdering()
2161 case AtomicOrdering::Acquire: in addAcquireOrdering()
2163 case AtomicOrdering::Release: in addAcquireOrdering()
2440 static AtomicOrdering addReleaseOrdering(AtomicOrdering AO) { in addReleaseOrdering()
2442 case AtomicOrdering::NotAtomic: in addReleaseOrdering()
2444 case AtomicOrdering::Unordered: in addReleaseOrdering()
2446 case AtomicOrdering::Release: in addReleaseOrdering()
[all …]
/llvm-project-15.0.7/llvm/test/TableGen/
H A Daddress-space-patfrags.td65 // GISEL-NEXT: GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(int64_t)AtomicOrdering::NotAtomic,
85 // GISEL-NEXT: GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(int64_t)AtomicOrdering::NotAtomic,
103 // GISEL-NEXT: GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(int64_t)AtomicOrdering::NotAtomic,

12345