Home
last modified time | relevance | path

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

12345

/openbsd/src/gnu/llvm/llvm/include/llvm/Support/
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 …]
/openbsd/src/gnu/llvm/llvm/include/llvm/CodeGen/
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()
277 return static_cast<AtomicOrdering>(AtomicInfo.FailureOrdering); in getFailureOrdering()
283 AtomicOrdering getMergedOrdering() const { in getMergedOrdering()
297 return getSuccessOrdering() != AtomicOrdering::NotAtomic; in isAtomic()
[all …]
DMachineFunction.h979 AtomicOrdering Ordering = AtomicOrdering::NotAtomic,
980 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic);
986 AtomicOrdering Ordering = AtomicOrdering::NotAtomic,
987 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic);
DAtomicExpandUtils.h26 AtomicOrdering, SyncScope::ID, Value *&, Value *&)>;
DRuntimeLibcalls.h79 Libcall getOUTLINE_ATOMIC(unsigned Opc, AtomicOrdering Order, MVT VT);
/openbsd/src/gnu/llvm/llvm/lib/Target/RISCV/
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 …]
DRISCVInstrInfoA.td176 // Ordering constants must be kept in sync with the AtomicOrdering enum in
177 // AtomicOrdering.h.
274 // Ordering constants must be kept in sync with the AtomicOrdering enum in
275 // AtomicOrdering.h.
339 // Ordering constants must be kept in sync with the AtomicOrdering enum in
340 // AtomicOrdering.h.
/openbsd/src/gnu/llvm/llvm/tools/llvm-reduce/deltas/
DReduceMemoryOperations.cpp84 if (LI->getOrdering() != AtomicOrdering::NotAtomic && !O.shouldKeep()) in reduceAtomicOrderingInFunction()
85 LI->setAtomic(AtomicOrdering::NotAtomic); in reduceAtomicOrderingInFunction()
87 if (SI->getOrdering() != AtomicOrdering::NotAtomic && !O.shouldKeep()) in reduceAtomicOrderingInFunction()
88 SI->setAtomic(AtomicOrdering::NotAtomic); in reduceAtomicOrderingInFunction()
90 if (RMW->getOrdering() != AtomicOrdering::Monotonic && !O.shouldKeep()) in reduceAtomicOrderingInFunction()
91 RMW->setOrdering(AtomicOrdering::Monotonic); in reduceAtomicOrderingInFunction()
93 if (CmpXChg->getSuccessOrdering() != AtomicOrdering::Monotonic && in reduceAtomicOrderingInFunction()
95 CmpXChg->setSuccessOrdering(AtomicOrdering::Monotonic); in reduceAtomicOrderingInFunction()
96 if (CmpXChg->getFailureOrdering() != AtomicOrdering::Monotonic && in reduceAtomicOrderingInFunction()
98 CmpXChg->setFailureOrdering(AtomicOrdering::Monotonic); in reduceAtomicOrderingInFunction()
/openbsd/src/gnu/llvm/llvm/lib/Transforms/Utils/
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()
DLowerMemIntrinsics.cpp100 Load->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopKnownSize()
101 Store->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopKnownSize()
165 Load->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopKnownSize()
166 Store->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopKnownSize()
251 Load->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopUnknownSize()
252 Store->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopUnknownSize()
328 Load->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopUnknownSize()
329 Store->setAtomic(AtomicOrdering::Unordered); in createMemCpyLoopUnknownSize()
/openbsd/src/gnu/llvm/llvm/lib/Target/AMDGPU/
DSIMemoryLegalizer.cpp93 AtomicOrdering Ordering = AtomicOrdering::NotAtomic;
94 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic;
102 SIMemOpInfo(AtomicOrdering Ordering = AtomicOrdering::SequentiallyConsistent, in SIMemOpInfo()
107 AtomicOrdering FailureOrdering = in SIMemOpInfo()
108 AtomicOrdering::SequentiallyConsistent, in SIMemOpInfo()
118 if (Ordering == AtomicOrdering::NotAtomic) { in SIMemOpInfo()
122 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 …]
/openbsd/src/gnu/llvm/clang/lib/CodeGen/
DCGAtomic.cpp221 bool AsValue, llvm::AtomicOrdering AO,
234 llvm::AtomicOrdering Success =
235 llvm::AtomicOrdering::SequentiallyConsistent,
236 llvm::AtomicOrdering Failure =
237 llvm::AtomicOrdering::SequentiallyConsistent,
243 void EmitAtomicUpdate(llvm::AtomicOrdering AO,
248 void EmitAtomicUpdate(llvm::AtomicOrdering AO, RValue UpdateRVal,
262 llvm::AtomicOrdering AO, bool IsVolatile);
264 llvm::Value *EmitAtomicLoadOp(llvm::AtomicOrdering AO, bool IsVolatile);
268 llvm::AtomicOrdering Success =
[all …]
DCGStmtOpenMP.cpp5325 llvm::AtomicOrdering AO = S.getSingleClause<OMPFlushClause>() in EmitOMPFlushDirective()
5326 ? llvm::AtomicOrdering::NotAtomic in EmitOMPFlushDirective()
5327 : llvm::AtomicOrdering::AcquireRelease; in EmitOMPFlushDirective()
5950 static void emitSimpleAtomicStore(CodeGenFunction &CGF, llvm::AtomicOrdering AO, in emitSimpleAtomicStore()
5959 llvm::AtomicOrdering AO, LValue LVal, in emitSimpleAtomicLoad()
5986 static void emitOMPAtomicReadExpr(CodeGenFunction &CGF, llvm::AtomicOrdering AO, in emitOMPAtomicReadExpr()
6000 case llvm::AtomicOrdering::Acquire: in emitOMPAtomicReadExpr()
6001 case llvm::AtomicOrdering::AcquireRelease: in emitOMPAtomicReadExpr()
6002 case llvm::AtomicOrdering::SequentiallyConsistent: in emitOMPAtomicReadExpr()
6004 llvm::AtomicOrdering::Acquire); in emitOMPAtomicReadExpr()
[all …]
/openbsd/src/gnu/llvm/llvm/lib/Transforms/InstCombine/
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()
/openbsd/src/gnu/llvm/llvm/lib/CodeGen/
DAtomicExpandPass.cpp76 bool bracketInstWithFences(Instruction *I, AtomicOrdering Order);
89 Align AddrAlign, AtomicOrdering MemOpOrder,
93 AtomicOrdering MemOpOrder,
105 AtomicOrdering MemOpOrder, SyncScope::ID SSID,
116 Value *CASExpected, AtomicOrdering Ordering,
117 AtomicOrdering Ordering2,
263 auto FenceOrdering = AtomicOrdering::Monotonic; in runOnFunction()
266 LI->setOrdering(AtomicOrdering::Monotonic); in runOnFunction()
269 SI->setOrdering(AtomicOrdering::Monotonic); in runOnFunction()
273 RMWI->setOrdering(AtomicOrdering::Monotonic); in runOnFunction()
[all …]
DMachineOperand.cpp1069 AtomicOrdering Ordering, in MachineMemOperand()
1070 AtomicOrdering FailureOrdering) in MachineMemOperand()
1090 AtomicOrdering Ordering, in MachineMemOperand()
1091 AtomicOrdering FailureOrdering) in MachineMemOperand()
1171 if (getSuccessOrdering() != AtomicOrdering::NotAtomic) in print()
1173 if (getFailureOrdering() != AtomicOrdering::NotAtomic) in print()
/openbsd/src/gnu/llvm/llvm/include/llvm/IR/
DInstructions.h206 Align Align, AtomicOrdering Order,
210 Align Align, AtomicOrdering Order, SyncScope::ID SSID,
229 AtomicOrdering getOrdering() const { in getOrdering()
234 void setOrdering(AtomicOrdering Ordering) { in setOrdering()
250 void setAtomic(AtomicOrdering Ordering,
259 return (getOrdering() == AtomicOrdering::NotAtomic || in isUnordered()
260 getOrdering() == AtomicOrdering::Unordered) && in isUnordered()
327 AtomicOrdering Order, SyncScope::ID SSID = SyncScope::System,
330 AtomicOrdering Order, SyncScope::ID SSID, BasicBlock *InsertAtEnd);
354 AtomicOrdering getOrdering() const { in getOrdering()
[all …]
/openbsd/src/gnu/llvm/llvm/include/llvm/Transforms/Utils/
DGlobalStatus.h80 AtomicOrdering Ordering = AtomicOrdering::NotAtomic;
DFunctionComparator.h332 int cmpOrderings(AtomicOrdering L, AtomicOrdering R) const;
/openbsd/src/gnu/llvm/llvm/lib/Transforms/Scalar/
DLowerAtomicPass.cpp31 LI->setAtomic(AtomicOrdering::NotAtomic); in LowerLoadInst()
36 SI->setAtomic(AtomicOrdering::NotAtomic); in LowerStoreInst()
/openbsd/src/gnu/llvm/llvm/lib/Transforms/Instrumentation/
DThreadSanitizer.cpp666 static ConstantInt *createOrdering(IRBuilder<> *IRB, AtomicOrdering ord) { in createOrdering()
669 case AtomicOrdering::NotAtomic: in createOrdering()
671 case AtomicOrdering::Unordered: [[fallthrough]]; in createOrdering()
672 case AtomicOrdering::Monotonic: v = 0; break; in createOrdering()
675 case AtomicOrdering::Acquire: v = 2; break; in createOrdering()
676 case AtomicOrdering::Release: v = 3; break; in createOrdering()
677 case AtomicOrdering::AcquireRelease: v = 4; break; in createOrdering()
678 case AtomicOrdering::SequentiallyConsistent: v = 5; break; in createOrdering()
DDataFlowSanitizer.cpp2337 static AtomicOrdering addAcquireOrdering(AtomicOrdering AO) { in addAcquireOrdering()
2339 case AtomicOrdering::NotAtomic: in addAcquireOrdering()
2340 return AtomicOrdering::NotAtomic; in addAcquireOrdering()
2341 case AtomicOrdering::Unordered: in addAcquireOrdering()
2342 case AtomicOrdering::Monotonic: in addAcquireOrdering()
2343 case AtomicOrdering::Acquire: in addAcquireOrdering()
2344 return AtomicOrdering::Acquire; in addAcquireOrdering()
2345 case AtomicOrdering::Release: in addAcquireOrdering()
2346 case AtomicOrdering::AcquireRelease: in addAcquireOrdering()
2347 return AtomicOrdering::AcquireRelease; in addAcquireOrdering()
[all …]
/openbsd/src/gnu/llvm/llvm/lib/Target/VE/
DVEISelLowering.cpp1063 AtomicOrdering Ord) const { in emitLeadingFence()
1065 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()
1072 case AtomicOrdering::AcquireRelease: in emitLeadingFence()
1073 return Builder.CreateFence(AtomicOrdering::Release); in emitLeadingFence()
1074 case AtomicOrdering::SequentiallyConsistent: in emitLeadingFence()
1077 return Builder.CreateFence(AtomicOrdering::SequentiallyConsistent); in emitLeadingFence()
[all …]
/openbsd/src/gnu/llvm/llvm/lib/Target/AArch64/GISel/
DAArch64LegalizerInfo.cpp281 Actions.lowerIf(atomicOrderingAtLeastOrStrongerThan(0, AtomicOrdering::Unordered)); in AArch64LegalizerInfo()
314 Query.MMODescrs[0].Ordering != AtomicOrdering::NotAtomic; in AArch64LegalizerInfo()
352 Query.MMODescrs[0].Ordering != AtomicOrdering::NotAtomic; in AArch64LegalizerInfo()
1192 AtomicOrdering::Monotonic || in legalizeLoadStore()
1194 AtomicOrdering::Unordered); in legalizeLoadStore()
1435 case AtomicOrdering::Acquire: in legalizeAtomicCmpxchg128()
1438 case AtomicOrdering::Release: in legalizeAtomicCmpxchg128()
1441 case AtomicOrdering::AcquireRelease: in legalizeAtomicCmpxchg128()
1442 case AtomicOrdering::SequentiallyConsistent: in legalizeAtomicCmpxchg128()
1476 case AtomicOrdering::Acquire: in legalizeAtomicCmpxchg128()
[all …]
/openbsd/src/gnu/llvm/llvm/include/llvm/Frontend/OpenMP/
DOMPIRBuilder.h1668 AtomicOrdering AO, AtomicKind AK);
1696 AtomicOrdering AO, AtomicRMWInst::BinOp RMWOp,
1727 AtomicOrdering AO);
1740 AtomicOrdering AO);
1764 Value *Expr, AtomicOrdering AO,
1801 AtomicOrdering AO, AtomicRMWInst::BinOp RMWOp,
1853 AtomicOrdering AO, omp::OMPAtomicCompareOp Op,

12345