Home
last modified time | relevance | path

Searched refs:RMWI (Results 1 – 16 of 16) sorted by relevance

/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/InstCombine/
DInstCombineAtomicRMW.cpp23 bool isIdempotentRMW(AtomicRMWInst& RMWI) { in isIdempotentRMW() argument
24 if (auto CF = dyn_cast<ConstantFP>(RMWI.getValOperand())) in isIdempotentRMW()
25 switch(RMWI.getOperation()) { in isIdempotentRMW()
34 auto C = dyn_cast<ConstantInt>(RMWI.getValOperand()); in isIdempotentRMW()
38 switch(RMWI.getOperation()) { in isIdempotentRMW()
61 bool isSaturating(AtomicRMWInst& RMWI) { in isSaturating() argument
62 if (auto CF = dyn_cast<ConstantFP>(RMWI.getValOperand())) in isSaturating()
63 switch(RMWI.getOperation()) { in isSaturating()
71 auto C = dyn_cast<ConstantInt>(RMWI.getValOperand()); in isSaturating()
75 switch(RMWI.getOperation()) { in isSaturating()
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/
DLowerAtomic.cpp43 static bool LowerAtomicRMWInst(AtomicRMWInst *RMWI) { in LowerAtomicRMWInst() argument
44 IRBuilder<> Builder(RMWI); in LowerAtomicRMWInst()
45 Value *Ptr = RMWI->getPointerOperand(); in LowerAtomicRMWInst()
46 Value *Val = RMWI->getValOperand(); in LowerAtomicRMWInst()
51 switch (RMWI->getOperation()) { in LowerAtomicRMWInst()
98 RMWI->replaceAllUsesWith(Orig); in LowerAtomicRMWInst()
99 RMWI->eraseFromParent(); in LowerAtomicRMWInst()
126 else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(Inst)) in runOnBasicBlock() local
127 Changed |= LowerAtomicRMWInst(RMWI); in runOnBasicBlock()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/
DAtomicExpandPass.cpp105 bool isIdempotentRMW(AtomicRMWInst *RMWI);
106 bool simplifyIdempotentRMW(AtomicRMWInst *RMWI);
145 static unsigned getAtomicOpSize(AtomicRMWInst *RMWI) { in getAtomicOpSize() argument
146 const DataLayout &DL = RMWI->getModule()->getDataLayout(); in getAtomicOpSize()
147 return DL.getTypeStoreSize(RMWI->getValOperand()->getType()); in getAtomicOpSize()
174 static unsigned getAtomicOpAlign(AtomicRMWInst *RMWI) { in getAtomicOpAlign() argument
178 const DataLayout &DL = RMWI->getModule()->getDataLayout(); in getAtomicOpAlign()
179 return DL.getTypeStoreSize(RMWI->getValOperand()->getType()); in getAtomicOpAlign()
222 auto RMWI = dyn_cast<AtomicRMWInst>(I); in runOnFunction() local
224 assert((LI || SI || RMWI || CASI) && "Unknown atomic instruction"); in runOnFunction()
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/
DMemoryLocation.cpp75 MemoryLocation MemoryLocation::get(const AtomicRMWInst *RMWI) { in get() argument
77 RMWI->getAAMetadata(AATags); in get()
78 const auto &DL = RMWI->getModule()->getDataLayout(); in get()
80 return MemoryLocation(RMWI->getPointerOperand(), in get()
82 RMWI->getValOperand()->getType())), in get()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/IR/
DInstruction.cpp432 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I1)) in haveSameSpecialState() local
433 return RMWI->getOperation() == cast<AtomicRMWInst>(I2)->getOperation() && in haveSameSpecialState()
434 RMWI->isVolatile() == cast<AtomicRMWInst>(I2)->isVolatile() && in haveSameSpecialState()
435 RMWI->getOrdering() == cast<AtomicRMWInst>(I2)->getOrdering() && in haveSameSpecialState()
436 RMWI->getSyncScopeID() == cast<AtomicRMWInst>(I2)->getSyncScopeID(); in haveSameSpecialState()
DVerifier.cpp483 void visitAtomicRMWInst(AtomicRMWInst &RMWI);
3546 void Verifier::visitAtomicRMWInst(AtomicRMWInst &RMWI) { in visitAtomicRMWInst() argument
3547 Assert(RMWI.getOrdering() != AtomicOrdering::NotAtomic, in visitAtomicRMWInst()
3548 "atomicrmw instructions must be atomic.", &RMWI); in visitAtomicRMWInst()
3549 Assert(RMWI.getOrdering() != AtomicOrdering::Unordered, in visitAtomicRMWInst()
3550 "atomicrmw instructions cannot be unordered.", &RMWI); in visitAtomicRMWInst()
3551 auto Op = RMWI.getOperation(); in visitAtomicRMWInst()
3552 PointerType *PTy = dyn_cast<PointerType>(RMWI.getOperand(0)->getType()); in visitAtomicRMWInst()
3553 Assert(PTy, "First atomicrmw operand must be a pointer.", &RMWI); in visitAtomicRMWInst()
3559 &RMWI, ElTy); in visitAtomicRMWInst()
[all …]
DAsmWriter.cpp3721 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(&I)) in printInstruction() local
3722 Out << ' ' << AtomicRMWInst::getOperationName(RMWI->getOperation()); in printInstruction()
4079 } else if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(&I)) { in printInstruction() local
4080 writeAtomic(RMWI->getContext(), RMWI->getOrdering(), in printInstruction()
4081 RMWI->getSyncScopeID()); in printInstruction()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Instrumentation/
DThreadSanitizer.cpp660 } else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I)) { in instrumentAtomic() local
661 Value *Addr = RMWI->getPointerOperand(); in instrumentAtomic()
665 FunctionCallee F = TsanAtomicRMW[RMWI->getOperation()][Idx]; in instrumentAtomic()
673 IRB.CreateIntCast(RMWI->getValOperand(), Ty, false), in instrumentAtomic()
674 createOrdering(&IRB, RMWI->getOrdering())}; in instrumentAtomic()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Utils/
DFunctionComparator.cpp633 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(L)) { in cmpOperations() local
634 if (int Res = cmpNumbers(RMWI->getOperation(), in cmpOperations()
637 if (int Res = cmpNumbers(RMWI->isVolatile(), in cmpOperations()
640 if (int Res = cmpOrderings(RMWI->getOrdering(), in cmpOperations()
643 return cmpNumbers(RMWI->getSyncScopeID(), in cmpOperations()
DInlineFunction.cpp993 else if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I)) in AddAliasScopeMetadata() local
994 PtrArgs.push_back(RMWI->getPointerOperand()); in AddAliasScopeMetadata()
DSimplifyCFG.cpp4244 } else if (auto *RMWI = dyn_cast<AtomicRMWInst>(BBI)) { in SimplifyUnreachable() local
4245 if (RMWI->isVolatile()) in SimplifyUnreachable()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/SystemZ/
DSystemZPatterns.td42 class RMWI<SDPatternOperator load, SDPatternOperator operator,
52 def : RMWI<anyextloadi8, operator, truncstorei8, mode, imm32, insn>;
53 def : RMWI<anyextloadi8, operator, truncstorei8, mode, imm64, insn>;
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Analysis/
DMemoryLocation.h203 static MemoryLocation get(const AtomicRMWInst *RMWI);
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Transforms/IPO/
DAttributor.h854 if (auto *RMWI = dyn_cast<AtomicRMWInst>(I)) {
855 if (!AllowVolatile && RMWI->isVolatile())
857 return RMWI->getPointerOperand();
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/CodeGen/
DTargetLowering.h1854 lowerIdempotentRMWIntoFencedLoad(AtomicRMWInst *RMWI) const { in lowerIdempotentRMWIntoFencedLoad() argument
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/AsmParser/
DLLParser.cpp7173 AtomicRMWInst *RMWI = in ParseAtomicRMW() local
7175 RMWI->setVolatile(isVolatile); in ParseAtomicRMW()
7176 Inst = RMWI; in ParseAtomicRMW()