| /llvm-project-15.0.7/llvm/include/llvm/Support/ |
| H A D | AtomicOrdering.h | 56 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 D | MachineMemOperand.h | 192 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 D | MachineFunction.h | 962 AtomicOrdering Ordering = AtomicOrdering::NotAtomic, 963 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic); 969 AtomicOrdering Ordering = AtomicOrdering::NotAtomic, 970 AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic);
|
| H A D | AtomicExpandUtils.h | 26 AtomicOrdering, SyncScope::ID, Value *&, Value *&)>;
|
| /llvm-project-15.0.7/llvm/lib/Target/RISCV/ |
| H A D | RISCVExpandAtomicPseudoInsts.cpp | 138 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 D | RISCVInstrInfoA.td | 171 // 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 D | SIMemoryLegalizer.cpp | 93 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 D | GlobalStatus.cpp | 33 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 D | LowerMemIntrinsics.cpp | 101 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 D | CGAtomic.cpp | 268 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 D | InstCombineAtomicRMW.cpp | 119 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 D | SPIRVUtils.cpp | 193 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 D | LLVMToLLVMIRTranslation.cpp | 128 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 D | AtomicExpandPass.cpp | 423 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 D | Instructions.h | 226 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 D | GlobalStatus.h | 80 AtomicOrdering Ordering = AtomicOrdering::NotAtomic;
|
| H A D | FunctionComparator.h | 332 int cmpOrderings(AtomicOrdering L, AtomicOrdering R) const;
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | LowerAtomicPass.cpp | 31 LI->setAtomic(AtomicOrdering::NotAtomic); in LowerLoadInst() 36 SI->setAtomic(AtomicOrdering::NotAtomic); in LowerStoreInst()
|
| /llvm-project-15.0.7/mlir/lib/Target/LLVMIR/ |
| H A D | ConvertFromLLVMIR.cpp | 748 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 D | OMPIRBuilder.h | 1355 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 D | AArch64LegalizerInfo.cpp | 301 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 D | VEISelLowering.cpp | 1049 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 D | ThreadSanitizer.cpp | 674 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 D | DataFlowSanitizer.cpp | 2155 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 D | address-space-patfrags.td | 65 // 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,
|