Home
last modified time | relevance | path

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

1234

/netbsd-src/external/apache2/llvm/dist/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;
76 return static_cast<Int>(AtomicOrdering::NotAtomic) <= I && in isValidAtomicOrdering()
77 I <= static_cast<Int>(AtomicOrdering::SequentiallyConsistent); in isValidAtomicOrdering()
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()
[all …]
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/RISCV/
H A DRISCVExpandAtomicPseudoInsts.cpp132 static unsigned getLRForRMW32(AtomicOrdering Ordering) { in getLRForRMW32()
136 case AtomicOrdering::Monotonic: in getLRForRMW32()
138 case AtomicOrdering::Acquire: in getLRForRMW32()
140 case AtomicOrdering::Release: in getLRForRMW32()
142 case AtomicOrdering::AcquireRelease: in getLRForRMW32()
144 case AtomicOrdering::SequentiallyConsistent: in getLRForRMW32()
149 static unsigned getSCForRMW32(AtomicOrdering Ordering) { in getSCForRMW32()
153 case AtomicOrdering::Monotonic: in getSCForRMW32()
155 case AtomicOrdering::Acquire: in getSCForRMW32()
157 case AtomicOrdering::Release: in getSCForRMW32()
[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.h369 AtomicOrdering Ord) const override;
371 AtomicOrdering Ord) const override;
444 AtomicOrdering Ord) const override;
451 AtomicOrdering Ord) const override;
/netbsd-src/external/apache2/llvm/dist/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()
107 AtomicOrdering::SequentiallyConsistent, in SIMemOpInfo()
117 if (Ordering == AtomicOrdering::NotAtomic) { in SIMemOpInfo()
121 FailureOrdering == AtomicOrdering::NotAtomic); in SIMemOpInfo()
164 AtomicOrdering getOrdering() const { in getOrdering()
170 AtomicOrdering getFailureOrdering() const { in getFailureOrdering()
207 return Ordering != AtomicOrdering::NotAtomic; in isAtomic()
[all …]
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/
H A DMachineMemOperand.h188 AtomicOrdering Ordering = AtomicOrdering::NotAtomic,
189 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic);
248 AtomicOrdering getOrdering() const { in getOrdering()
249 return static_cast<AtomicOrdering>(AtomicInfo.Ordering); in getOrdering()
254 AtomicOrdering getFailureOrdering() const { in getFailureOrdering()
255 return static_cast<AtomicOrdering>(AtomicInfo.FailureOrdering); in getFailureOrdering()
267 bool isAtomic() const { return getOrdering() != AtomicOrdering::NotAtomic; } in isAtomic()
273 return (getOrdering() == AtomicOrdering::NotAtomic || in isUnordered()
274 getOrdering() == AtomicOrdering::Unordered) && in isUnordered()
H A DAtomicExpandUtils.h26 AtomicOrdering, SyncScope::ID, Value *&, Value *&)>;
H A DRuntimeLibcalls.h66 Libcall getOUTLINE_ATOMIC(unsigned Opc, AtomicOrdering Order, MVT VT);
/netbsd-src/external/apache2/llvm/dist/clang/lib/CodeGen/
H A DCGAtomic.cpp213 bool AsValue, llvm::AtomicOrdering AO,
226 llvm::AtomicOrdering Success =
227 llvm::AtomicOrdering::SequentiallyConsistent,
228 llvm::AtomicOrdering Failure =
229 llvm::AtomicOrdering::SequentiallyConsistent,
235 void EmitAtomicUpdate(llvm::AtomicOrdering AO,
240 void EmitAtomicUpdate(llvm::AtomicOrdering AO, RValue UpdateRVal,
254 llvm::AtomicOrdering AO, bool IsVolatile);
256 llvm::Value *EmitAtomicLoadOp(llvm::AtomicOrdering AO, bool IsVolatile);
260 llvm::AtomicOrdering Success =
[all …]
H A DCGStmtOpenMP.cpp4798 llvm::AtomicOrdering AO = S.getSingleClause<OMPFlushClause>() in EmitOMPFlushDirective()
4799 ? llvm::AtomicOrdering::NotAtomic in EmitOMPFlushDirective()
4800 : llvm::AtomicOrdering::AcquireRelease; in EmitOMPFlushDirective()
5354 static void emitSimpleAtomicStore(CodeGenFunction &CGF, llvm::AtomicOrdering AO, in emitSimpleAtomicStore()
5363 llvm::AtomicOrdering AO, LValue LVal, in emitSimpleAtomicLoad()
5390 static void emitOMPAtomicReadExpr(CodeGenFunction &CGF, llvm::AtomicOrdering AO, in emitOMPAtomicReadExpr()
5404 case llvm::AtomicOrdering::Acquire: in emitOMPAtomicReadExpr()
5405 case llvm::AtomicOrdering::AcquireRelease: in emitOMPAtomicReadExpr()
5406 case llvm::AtomicOrdering::SequentiallyConsistent: in emitOMPAtomicReadExpr()
5408 llvm::AtomicOrdering::Acquire); in emitOMPAtomicReadExpr()
[all …]
H A DCGBuilder.h132 llvm::AtomicOrdering SuccessOrdering,
133 llvm::AtomicOrdering FailureOrdering,
144 llvm::Value *Val, llvm::AtomicOrdering Ordering,
/netbsd-src/external/apache2/llvm/dist/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()
/netbsd-src/external/apache2/llvm/dist/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()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/CodeGen/
H A DAtomicExpandPass.cpp72 bool bracketInstWithFences(Instruction *I, AtomicOrdering Order);
83 Align AddrAlign, AtomicOrdering MemOpOrder,
87 AtomicOrdering MemOpOrder,
100 AtomicOrdering MemOpOrder, SyncScope::ID SSID,
111 Value *CASExpected, AtomicOrdering Ordering,
112 AtomicOrdering Ordering2,
223 auto FenceOrdering = AtomicOrdering::Monotonic; in runOnFunction()
226 LI->setOrdering(AtomicOrdering::Monotonic); in runOnFunction()
229 SI->setOrdering(AtomicOrdering::Monotonic); in runOnFunction()
233 RMWI->setOrdering(AtomicOrdering::Monotonic); in runOnFunction()
[all …]
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/IR/
H A DInstructions.h203 Align Align, AtomicOrdering Order,
207 Align Align, AtomicOrdering Order, SyncScope::ID SSID,
231 AtomicOrdering getOrdering() const { in getOrdering()
236 void setOrdering(AtomicOrdering Ordering) { in setOrdering()
252 void setAtomic(AtomicOrdering Ordering,
261 return (getOrdering() == AtomicOrdering::NotAtomic || in isUnordered()
262 getOrdering() == AtomicOrdering::Unordered) && in isUnordered()
329 AtomicOrdering Order, SyncScope::ID SSID = SyncScope::System,
332 AtomicOrdering Order, SyncScope::ID SSID, BasicBlock *InsertAtEnd);
362 AtomicOrdering getOrdering() const { in getOrdering()
[all …]
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Utils/
H A DGlobalStatus.h72 AtomicOrdering Ordering = AtomicOrdering::NotAtomic;
H A DFunctionComparator.h331 int cmpOrderings(AtomicOrdering L, AtomicOrdering R) const;
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/Frontend/OpenMP/
H A DOMPIRBuilder.h911 AtomicOrdering AO, AtomicKind AK);
936 Value *Expr, AtomicOrdering AO,
968 AtomicOrdering AO);
981 AtomicOrdering AO);
1005 Value *Expr, AtomicOrdering AO,
1042 AtomicOrdering AO, AtomicRMWInst::BinOp RMWOp,
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/VE/
H A DVEISelLowering.cpp1002 AtomicOrdering Ord) const { in emitLeadingFence()
1004 case AtomicOrdering::NotAtomic: in emitLeadingFence()
1005 case AtomicOrdering::Unordered: in emitLeadingFence()
1007 case AtomicOrdering::Monotonic: in emitLeadingFence()
1008 case AtomicOrdering::Acquire: in emitLeadingFence()
1010 case AtomicOrdering::Release: in emitLeadingFence()
1011 case AtomicOrdering::AcquireRelease: in emitLeadingFence()
1012 return Builder.CreateFence(AtomicOrdering::Release); in emitLeadingFence()
1013 case AtomicOrdering::SequentiallyConsistent: in emitLeadingFence()
1016 return Builder.CreateFence(AtomicOrdering::SequentiallyConsistent); in emitLeadingFence()
[all …]
H A DVEISelLowering.h96 AtomicOrdering Ord) const override;
98 AtomicOrdering Ord) const override;
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Frontend/OpenMP/
H A DOMPIRBuilder.cpp2247 const LocationDescription &Loc, llvm::AtomicOrdering AO, AtomicKind AK) { in checkAndEmitFlushAfterAtomic()
2248 assert(!(AO == AtomicOrdering::NotAtomic || in checkAndEmitFlushAfterAtomic()
2249 AO == llvm::AtomicOrdering::Unordered) && in checkAndEmitFlushAfterAtomic()
2253 llvm::AtomicOrdering FlushAO = AtomicOrdering::Monotonic; in checkAndEmitFlushAfterAtomic()
2257 if (AO == AtomicOrdering::Acquire || AO == AtomicOrdering::AcquireRelease || in checkAndEmitFlushAfterAtomic()
2258 AO == AtomicOrdering::SequentiallyConsistent) { in checkAndEmitFlushAfterAtomic()
2259 FlushAO = AtomicOrdering::Acquire; in checkAndEmitFlushAfterAtomic()
2265 if (AO == AtomicOrdering::Release || AO == AtomicOrdering::AcquireRelease || in checkAndEmitFlushAfterAtomic()
2266 AO == AtomicOrdering::SequentiallyConsistent) { in checkAndEmitFlushAfterAtomic()
2267 FlushAO = AtomicOrdering::Release; in checkAndEmitFlushAfterAtomic()
[all …]
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Instrumentation/
H A DThreadSanitizer.cpp688 static ConstantInt *createOrdering(IRBuilder<> *IRB, AtomicOrdering ord) { in createOrdering()
691 case AtomicOrdering::NotAtomic: in createOrdering()
693 case AtomicOrdering::Unordered: LLVM_FALLTHROUGH; in createOrdering()
694 case AtomicOrdering::Monotonic: v = 0; break; in createOrdering()
697 case AtomicOrdering::Acquire: v = 2; break; in createOrdering()
698 case AtomicOrdering::Release: v = 3; break; in createOrdering()
699 case AtomicOrdering::AcquireRelease: v = 4; break; in createOrdering()
700 case AtomicOrdering::SequentiallyConsistent: v = 5; break; in createOrdering()
H A DDataFlowSanitizer.cpp2400 static AtomicOrdering addAcquireOrdering(AtomicOrdering AO) { in addAcquireOrdering()
2402 case AtomicOrdering::NotAtomic: in addAcquireOrdering()
2403 return AtomicOrdering::NotAtomic; in addAcquireOrdering()
2404 case AtomicOrdering::Unordered: in addAcquireOrdering()
2405 case AtomicOrdering::Monotonic: in addAcquireOrdering()
2406 case AtomicOrdering::Acquire: in addAcquireOrdering()
2407 return AtomicOrdering::Acquire; in addAcquireOrdering()
2408 case AtomicOrdering::Release: in addAcquireOrdering()
2409 case AtomicOrdering::AcquireRelease: in addAcquireOrdering()
2410 return AtomicOrdering::AcquireRelease; in addAcquireOrdering()
[all …]
H A DMemorySanitizer.cpp1821 AtomicOrdering addReleaseOrdering(AtomicOrdering a) { in addReleaseOrdering()
1823 case AtomicOrdering::NotAtomic: in addReleaseOrdering()
1824 return AtomicOrdering::NotAtomic; in addReleaseOrdering()
1825 case AtomicOrdering::Unordered: in addReleaseOrdering()
1826 case AtomicOrdering::Monotonic: in addReleaseOrdering()
1827 case AtomicOrdering::Release: in addReleaseOrdering()
1828 return AtomicOrdering::Release; in addReleaseOrdering()
1829 case AtomicOrdering::Acquire: in addReleaseOrdering()
1830 case AtomicOrdering::AcquireRelease: in addReleaseOrdering()
1831 return AtomicOrdering::AcquireRelease; in addReleaseOrdering()
[all …]
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/
H A DLowerAtomic.cpp109 LI->setAtomic(AtomicOrdering::NotAtomic); in LowerLoadInst()
114 SI->setAtomic(AtomicOrdering::NotAtomic); in LowerStoreInst()

1234