/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombineAtomicRMW.cpp | 23 bool isIdempotentRMW(AtomicRMWInst& RMWI) { argument 24 if (auto CF = dyn_cast<ConstantFP>(RMWI.getValOperand())) 25 switch(RMWI.getOperation()) { 34 auto C = dyn_cast<ConstantInt>(RMWI.getValOperand()); 38 switch(RMWI.getOperation()) { 61 bool isSaturating(AtomicRMWInst& RMWI) { argument 62 if (auto CF = dyn_cast<ConstantFP>(RMWI.getValOperand())) 63 switch(RMWI.getOperation()) { 71 auto C = dyn_cast<ConstantInt>(RMWI.getValOperand()); 75 switch(RMWI 96 visitAtomicRMWInst(AtomicRMWInst &RMWI) argument [all...] |
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | LowerAtomic.cpp | 43 static bool LowerAtomicRMWInst(AtomicRMWInst *RMWI) { argument 44 IRBuilder<> Builder(RMWI); 45 Value *Ptr = RMWI->getPointerOperand(); 46 Value *Val = RMWI->getValOperand(); 51 switch (RMWI->getOperation()) { 98 RMWI->replaceAllUsesWith(Orig); 99 RMWI->eraseFromParent(); 125 else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(&Inst)) 126 Changed |= LowerAtomicRMWInst(RMWI);
|
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | MemoryLocation.cpp | 75 MemoryLocation MemoryLocation::get(const AtomicRMWInst *RMWI) { argument 77 RMWI->getAAMetadata(AATags); 78 const auto &DL = RMWI->getModule()->getDataLayout(); 80 return MemoryLocation(RMWI->getPointerOperand(), 82 RMWI->getValOperand()->getType())),
|
/freebsd-13-stable/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | AtomicExpandPass.cpp | 105 bool isIdempotentRMW(AtomicRMWInst *RMWI); 106 bool simplifyIdempotentRMW(AtomicRMWInst *RMWI); 145 static unsigned getAtomicOpSize(AtomicRMWInst *RMWI) { argument 146 const DataLayout &DL = RMWI->getModule()->getDataLayout(); 147 return DL.getTypeStoreSize(RMWI->getValOperand()->getType()); 190 auto RMWI = dyn_cast<AtomicRMWInst>(I); local 192 assert((LI || SI || RMWI || CASI) && "Unknown atomic instruction"); 207 } else if (RMWI) { 208 if (!atomicSizeSupported(TLI, RMWI)) { 209 expandAtomicRMWToLibcall(RMWI); 1353 isIdempotentRMW(AtomicRMWInst* RMWI) argument 1373 simplifyIdempotentRMW(AtomicRMWInst* RMWI) argument [all...] |
/freebsd-13-stable/contrib/llvm-project/llvm/lib/IR/ |
H A D | Instruction.cpp | 459 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I1)) 460 return RMWI->getOperation() == cast<AtomicRMWInst>(I2)->getOperation() && 461 RMWI->isVolatile() == cast<AtomicRMWInst>(I2)->isVolatile() && 462 RMWI->getOrdering() == cast<AtomicRMWInst>(I2)->getOrdering() && 463 RMWI->getSyncScopeID() == cast<AtomicRMWInst>(I2)->getSyncScopeID();
|
H A D | Verifier.cpp | 486 void visitAtomicRMWInst(AtomicRMWInst &RMWI); 3661 void Verifier::visitAtomicRMWInst(AtomicRMWInst &RMWI) { argument 3662 Assert(RMWI.getOrdering() != AtomicOrdering::NotAtomic, 3663 "atomicrmw instructions must be atomic.", &RMWI); 3664 Assert(RMWI.getOrdering() != AtomicOrdering::Unordered, 3665 "atomicrmw instructions cannot be unordered.", &RMWI); 3666 auto Op = RMWI.getOperation(); 3667 PointerType *PTy = dyn_cast<PointerType>(RMWI.getOperand(0)->getType()); 3668 Assert(PTy, "First atomicrmw operand must be a pointer.", &RMWI); 3674 &RMWI, ElT [all...] |
H A D | AsmWriter.cpp | 3845 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(&I)) 3846 Out << ' ' << AtomicRMWInst::getOperationName(RMWI->getOperation()); 4203 } else if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(&I)) { 4204 writeAtomic(RMWI->getContext(), RMWI->getOrdering(), 4205 RMWI->getSyncScopeID());
|
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ |
H A D | ThreadSanitizer.cpp | 708 } else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I)) { 709 Value *Addr = RMWI->getPointerOperand(); 713 FunctionCallee F = TsanAtomicRMW[RMWI->getOperation()][Idx]; 721 IRB.CreateIntCast(RMWI->getValOperand(), Ty, false), 722 createOrdering(&IRB, RMWI->getOrdering())};
|
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | FunctionComparator.cpp | 646 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(L)) { 647 if (int Res = cmpNumbers(RMWI->getOperation(), 650 if (int Res = cmpNumbers(RMWI->isVolatile(), 653 if (int Res = cmpOrderings(RMWI->getOrdering(), 656 return cmpNumbers(RMWI->getSyncScopeID(),
|
H A D | InlineFunction.cpp | 995 else if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I)) 996 PtrArgs.push_back(RMWI->getPointerOperand());
|
H A D | SimplifyCFG.cpp | 4297 } else if (auto *RMWI = dyn_cast<AtomicRMWInst>(BBI)) { 4298 if (RMWI->isVolatile())
|
/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | MemoryLocation.h | 220 static MemoryLocation get(const AtomicRMWInst *RMWI);
|
/freebsd-13-stable/contrib/llvm-project/clang/lib/CodeGen/ |
H A D | CGAtomic.cpp | 671 llvm::AtomicRMWInst *RMWI = local 673 RMWI->setVolatile(E->isVolatile()); 677 llvm::Value *Result = RMWI; 681 RMWI, LoadVal1); 683 Result = CGF.Builder.CreateBinOp((llvm::Instruction::BinaryOps)PostOp, RMWI,
|
H A D | CGBuiltin.cpp | 9806 AtomicRMWInst *RMWI = Builder.CreateAtomicRMW( 9809 return Builder.CreateAdd(RMWI, Arg1);
|
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
H A D | AttributorAttributes.cpp | 159 if (auto *RMWI = dyn_cast<AtomicRMWInst>(I)) { 160 if (!AllowVolatile && RMWI->isVolatile()) 162 return RMWI->getPointerOperand();
|
/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | TargetLowering.h | 1969 lowerIdempotentRMWIntoFencedLoad(AtomicRMWInst *RMWI) const {
|
/freebsd-13-stable/contrib/llvm-project/llvm/lib/AsmParser/ |
H A D | LLParser.cpp | 7312 AtomicRMWInst *RMWI = 7314 RMWI->setVolatile(isVolatile); 7315 Inst = RMWI;
|