Home
last modified time | relevance | path

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

123

/external/llvm/include/llvm/Support/
DAtomicOrdering.h57 enum class AtomicOrdering { 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 (Int)AtomicOrdering::NotAtomic <= I && in isValidAtomicOrdering()
77 I <= (Int)AtomicOrdering::SequentiallyConsistent; in isValidAtomicOrdering()
81 static inline const char *toIRString(AtomicOrdering ao) { in toIRString()
90 static inline bool isStrongerThan(AtomicOrdering ao, AtomicOrdering other) { in isStrongerThan()
105 static inline bool isAtLeastOrStrongerThan(AtomicOrdering ao, in isAtLeastOrStrongerThan()
[all …]
/external/llvm/lib/Transforms/Utils/
DGlobalStatus.cpp22 static AtomicOrdering strongerOrdering(AtomicOrdering X, AtomicOrdering Y) { in strongerOrdering()
23 if (X == AtomicOrdering::Acquire && Y == AtomicOrdering::Release) in strongerOrdering()
24 return AtomicOrdering::AcquireRelease; in strongerOrdering()
25 if (Y == AtomicOrdering::Acquire && X == AtomicOrdering::Release) in strongerOrdering()
26 return AtomicOrdering::AcquireRelease; in strongerOrdering()
27 return (AtomicOrdering)std::max((unsigned)X, (unsigned)Y); in strongerOrdering()
188 Ordering(AtomicOrdering::NotAtomic) {} in GlobalStatus()
/external/clang/lib/CodeGen/
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 …]
/external/llvm/lib/CodeGen/
DAtomicExpandPass.cpp50 bool bracketInstWithFences(Instruction *I, AtomicOrdering Order,
62 AtomicOrdering MemOpOrder,
65 Instruction *I, Type *ResultTy, Value *Addr, AtomicOrdering MemOpOrder,
75 AtomicOrdering MemOpOrder,
85 Value *CASExpected, AtomicOrdering Ordering,
86 AtomicOrdering Ordering2,
226 auto FenceOrdering = AtomicOrdering::Monotonic; in runOnFunction()
230 LI->setOrdering(AtomicOrdering::Monotonic); in runOnFunction()
235 SI->setOrdering(AtomicOrdering::Monotonic); in runOnFunction()
241 RMWI->setOrdering(AtomicOrdering::Monotonic); in runOnFunction()
[all …]
/external/llvm/include/llvm/IR/
DInstructions.h192 AtomicOrdering Order, SynchronizationScope SynchScope = CrossThread,
197 unsigned Align, AtomicOrdering Order,
201 unsigned Align, AtomicOrdering Order,
238 AtomicOrdering getOrdering() const { in getOrdering()
239 return AtomicOrdering((getSubclassDataFromInstruction() >> 7) & 7); in getOrdering()
244 void setOrdering(AtomicOrdering Ordering) { in setOrdering()
261 void setAtomic(AtomicOrdering Ordering,
269 return (getOrdering() == AtomicOrdering::NotAtomic || in isUnordered()
270 getOrdering() == AtomicOrdering::Unordered) && in isUnordered()
329 unsigned Align, AtomicOrdering Order,
[all …]
/external/swiftshader/third_party/LLVM/include/llvm/
DInstructions.h35 enum AtomicOrdering { enum
152 unsigned Align, AtomicOrdering Order,
156 unsigned Align, AtomicOrdering Order,
188 AtomicOrdering getOrdering() const { in getOrdering()
189 return AtomicOrdering((getSubclassDataFromInstruction() >> 7) & 7); in getOrdering()
194 void setOrdering(AtomicOrdering Ordering) { in setOrdering()
212 void setAtomic(AtomicOrdering Ordering,
275 unsigned Align, AtomicOrdering Order,
279 unsigned Align, AtomicOrdering Order,
308 AtomicOrdering getOrdering() const { in getOrdering()
[all …]
/external/llvm/lib/Transforms/Instrumentation/
DThreadSanitizer.cpp508 static ConstantInt *createOrdering(IRBuilder<> *IRB, AtomicOrdering ord) { in createOrdering()
511 case AtomicOrdering::NotAtomic: in createOrdering()
513 case AtomicOrdering::Unordered: // Fall-through. in createOrdering()
514 case AtomicOrdering::Monotonic: v = 0; break; in createOrdering()
517 case AtomicOrdering::Acquire: v = 2; break; in createOrdering()
518 case AtomicOrdering::Release: v = 3; break; in createOrdering()
519 case AtomicOrdering::AcquireRelease: v = 4; break; in createOrdering()
520 case AtomicOrdering::SequentiallyConsistent: v = 5; break; in createOrdering()
DMemorySanitizer.cpp1232 AtomicOrdering addReleaseOrdering(AtomicOrdering a) { in addReleaseOrdering()
1234 case AtomicOrdering::NotAtomic: in addReleaseOrdering()
1235 return AtomicOrdering::NotAtomic; in addReleaseOrdering()
1236 case AtomicOrdering::Unordered: in addReleaseOrdering()
1237 case AtomicOrdering::Monotonic: in addReleaseOrdering()
1238 case AtomicOrdering::Release: in addReleaseOrdering()
1239 return AtomicOrdering::Release; in addReleaseOrdering()
1240 case AtomicOrdering::Acquire: in addReleaseOrdering()
1241 case AtomicOrdering::AcquireRelease: in addReleaseOrdering()
1242 return AtomicOrdering::AcquireRelease; in addReleaseOrdering()
[all …]
/external/llvm/unittests/Analysis/
DAliasAnalysisTest.cpp183 AtomicOrdering::Monotonic, AtomicOrdering::Monotonic, CrossThread, BB); in TEST_F()
186 AtomicOrdering::Monotonic, CrossThread, BB); in TEST_F()
/external/llvm/include/llvm/CodeGen/
DAtomicExpandUtils.h22 AtomicOrdering, Value *&, Value *&)> CreateCmpXchgInstFun;
DSelectionDAGNodes.h1048 AtomicOrdering getOrdering() const {
1049 return AtomicOrdering((SubclassData >> 8) & 15);
1128 AtomicOrdering FailureOrdering;
1130 void InitAtomic(AtomicOrdering SuccessOrdering,
1131 AtomicOrdering FailureOrdering,
1134 assert((AtomicOrdering)((unsigned)SuccessOrdering & 15) ==
1137 assert((AtomicOrdering)((unsigned)FailureOrdering & 15) ==
1155 AtomicOrdering SuccessOrdering, AtomicOrdering FailureOrdering,
1164 AtomicOrdering getSuccessOrdering() const {
1170 AtomicOrdering getFailureOrdering() const {
DSelectionDAG.h857 unsigned Alignment, AtomicOrdering SuccessOrdering,
858 AtomicOrdering FailureOrdering,
863 AtomicOrdering SuccessOrdering,
864 AtomicOrdering FailureOrdering,
871 unsigned Alignment, AtomicOrdering Ordering,
875 AtomicOrdering Ordering, SynchronizationScope SynchScope);
881 AtomicOrdering Ordering, SynchronizationScope SynchScope);
887 MachineMemOperand *MMO, AtomicOrdering SuccessOrdering,
888 AtomicOrdering FailureOrdering,
892 MachineMemOperand *MMO, AtomicOrdering Ordering,
/external/llvm/include/llvm/Transforms/Utils/
DGlobalStatus.h71 AtomicOrdering Ordering;
/external/llvm/lib/Transforms/Scalar/
DLowerAtomic.cpp104 LI->setAtomic(AtomicOrdering::NotAtomic); in LowerLoadInst()
109 SI->setAtomic(AtomicOrdering::NotAtomic); in LowerStoreInst()
/external/llvm/lib/IR/
DInstructions.cpp1342 : LoadInst(Ty, Ptr, Name, isVolatile, Align, AtomicOrdering::NotAtomic, in LoadInst()
1347 : LoadInst(Ptr, Name, isVolatile, Align, AtomicOrdering::NotAtomic, in LoadInst()
1351 unsigned Align, AtomicOrdering Order, in LoadInst()
1363 unsigned Align, AtomicOrdering Order, in LoadInst()
1380 setAtomic(AtomicOrdering::NotAtomic); in LoadInst()
1390 setAtomic(AtomicOrdering::NotAtomic); in LoadInst()
1401 setAtomic(AtomicOrdering::NotAtomic); in LoadInst()
1412 setAtomic(AtomicOrdering::NotAtomic); in LoadInst()
1457 : StoreInst(val, addr, isVolatile, Align, AtomicOrdering::NotAtomic, in StoreInst()
1462 : StoreInst(val, addr, isVolatile, Align, AtomicOrdering::NotAtomic, in StoreInst()
[all …]
DCore.cpp2737 static AtomicOrdering mapFromLLVMOrdering(LLVMAtomicOrdering Ordering) { in mapFromLLVMOrdering()
2739 case LLVMAtomicOrderingNotAtomic: return AtomicOrdering::NotAtomic; in mapFromLLVMOrdering()
2740 case LLVMAtomicOrderingUnordered: return AtomicOrdering::Unordered; in mapFromLLVMOrdering()
2741 case LLVMAtomicOrderingMonotonic: return AtomicOrdering::Monotonic; in mapFromLLVMOrdering()
2742 case LLVMAtomicOrderingAcquire: return AtomicOrdering::Acquire; in mapFromLLVMOrdering()
2743 case LLVMAtomicOrderingRelease: return AtomicOrdering::Release; in mapFromLLVMOrdering()
2745 return AtomicOrdering::AcquireRelease; in mapFromLLVMOrdering()
2747 return AtomicOrdering::SequentiallyConsistent; in mapFromLLVMOrdering()
2753 static LLVMAtomicOrdering mapToLLVMOrdering(AtomicOrdering Ordering) { in mapToLLVMOrdering()
2755 case AtomicOrdering::NotAtomic: return LLVMAtomicOrderingNotAtomic; in mapToLLVMOrdering()
[all …]
DVerifier.cpp2984 Assert(LI.getOrdering() != AtomicOrdering::Release && in visitLoadInst()
2985 LI.getOrdering() != AtomicOrdering::AcquireRelease, in visitLoadInst()
3013 Assert(SI.getOrdering() != AtomicOrdering::Acquire && in visitStoreInst()
3014 SI.getOrdering() != AtomicOrdering::AcquireRelease, in visitStoreInst()
3090 Assert(CXI.getSuccessOrdering() != AtomicOrdering::NotAtomic, in visitAtomicCmpXchgInst()
3092 Assert(CXI.getFailureOrdering() != AtomicOrdering::NotAtomic, in visitAtomicCmpXchgInst()
3094 Assert(CXI.getSuccessOrdering() != AtomicOrdering::Unordered, in visitAtomicCmpXchgInst()
3096 Assert(CXI.getFailureOrdering() != AtomicOrdering::Unordered, in visitAtomicCmpXchgInst()
3102 Assert(CXI.getFailureOrdering() != AtomicOrdering::Release && in visitAtomicCmpXchgInst()
3103 CXI.getFailureOrdering() != AtomicOrdering::AcquireRelease, in visitAtomicCmpXchgInst()
[all …]
/external/llvm/lib/Target/ARM/
DARMISelLowering.h441 AtomicOrdering Ord) const override;
443 Value *Addr, AtomicOrdering Ord) const override;
447 Instruction* emitLeadingFence(IRBuilder<> &Builder, AtomicOrdering Ord,
449 Instruction* emitTrailingFence(IRBuilder<> &Builder, AtomicOrdering Ord,
/external/llvm/lib/Target/Hexagon/
DHexagonISelLowering.h255 AtomicOrdering Ord) const override;
257 Value *Addr, AtomicOrdering Ord) const override;
/external/llvm/lib/AsmParser/
DLLParser.cpp1876 AtomicOrdering &Ordering) { in ParseScopeAndOrdering()
1891 bool LLParser::ParseOrdering(AtomicOrdering &Ordering) { in ParseOrdering()
1894 case lltok::kw_unordered: Ordering = AtomicOrdering::Unordered; break; in ParseOrdering()
1895 case lltok::kw_monotonic: Ordering = AtomicOrdering::Monotonic; break; in ParseOrdering()
1898 case lltok::kw_acquire: Ordering = AtomicOrdering::Acquire; break; in ParseOrdering()
1899 case lltok::kw_release: Ordering = AtomicOrdering::Release; break; in ParseOrdering()
1900 case lltok::kw_acq_rel: Ordering = AtomicOrdering::AcquireRelease; break; in ParseOrdering()
1902 Ordering = AtomicOrdering::SequentiallyConsistent; in ParseOrdering()
6005 AtomicOrdering Ordering = AtomicOrdering::NotAtomic; in ParseLoad()
6032 if (Ordering == AtomicOrdering::Release || in ParseLoad()
[all …]
/external/llvm/lib/Target/AArch64/
DAArch64InstrAtomics.td31 AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getOrdering();
39 AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getOrdering();
114 AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getOrdering();
115 assert(Ordering != AtomicOrdering::AcquireRelease &&
123 AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getOrdering();
/external/swiftshader/third_party/LLVM/include/llvm/CodeGen/
DSelectionDAG.h593 AtomicOrdering Ordering,
598 AtomicOrdering Ordering,
605 unsigned Alignment, AtomicOrdering Ordering,
609 AtomicOrdering Ordering,
617 AtomicOrdering Ordering,
621 AtomicOrdering Ordering,
DSelectionDAGNodes.h921 AtomicOrdering getOrdering() const {
922 return AtomicOrdering((SubclassData >> 7) & 15);
990 void InitAtomic(AtomicOrdering Ordering, SynchronizationScope SynchScope) {
1019 AtomicOrdering Ordering, SynchronizationScope SynchScope)
1027 AtomicOrdering Ordering, SynchronizationScope SynchScope)
1035 AtomicOrdering Ordering, SynchronizationScope SynchScope)
/external/llvm/lib/Bitcode/Reader/
DBitcodeReader.cpp848 static AtomicOrdering getDecodedOrdering(unsigned Val) { in getDecodedOrdering()
850 case bitc::ORDERING_NOTATOMIC: return AtomicOrdering::NotAtomic; in getDecodedOrdering()
851 case bitc::ORDERING_UNORDERED: return AtomicOrdering::Unordered; in getDecodedOrdering()
852 case bitc::ORDERING_MONOTONIC: return AtomicOrdering::Monotonic; in getDecodedOrdering()
853 case bitc::ORDERING_ACQUIRE: return AtomicOrdering::Acquire; in getDecodedOrdering()
854 case bitc::ORDERING_RELEASE: return AtomicOrdering::Release; in getDecodedOrdering()
855 case bitc::ORDERING_ACQREL: return AtomicOrdering::AcquireRelease; in getDecodedOrdering()
857 case bitc::ORDERING_SEQCST: return AtomicOrdering::SequentiallyConsistent; in getDecodedOrdering()
5313 AtomicOrdering Ordering = getDecodedOrdering(Record[OpNum + 2]); in parseFunctionBody()
5314 if (Ordering == AtomicOrdering::NotAtomic || in parseFunctionBody()
[all …]
/external/llvm/lib/Analysis/
DMemoryDependenceAnalysis.cpp96 if (LI->getOrdering() == AtomicOrdering::Monotonic) { in GetLocation()
109 if (SI->getOrdering() == AtomicOrdering::Monotonic) { in GetLocation()
523 if (LI->getOrdering() != AtomicOrdering::Monotonic) in getSimplePointerDependencyFrom()
589 if (SI->getOrdering() != AtomicOrdering::Monotonic) in getSimplePointerDependencyFrom()
645 if (isLoad && FI->getOrdering() == AtomicOrdering::Release) in getSimplePointerDependencyFrom()

123