/freebsd-11-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-11-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(); 126 else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(Inst)) 127 Changed |= LowerAtomicRMWInst(RMWI);
|
/freebsd-11-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-11-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()); 174 static unsigned getAtomicOpAlign(AtomicRMWInst *RMWI) { argument 178 const DataLayout &DL = RMWI->getModule()->getDataLayout(); 179 return DL.getTypeStoreSize(RMWI->getValOperand()->getType()); 222 auto RMWI = dyn_cast<AtomicRMWInst>(I); local 224 assert((LI || SI || RMWI || CAS 1317 isIdempotentRMW(AtomicRMWInst* RMWI) argument 1337 simplifyIdempotentRMW(AtomicRMWInst* RMWI) argument [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | FunctionComparator.cpp | 633 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(L)) { 634 if (int Res = cmpNumbers(RMWI->getOperation(), 637 if (int Res = cmpNumbers(RMWI->isVolatile(), 640 if (int Res = cmpOrderings(RMWI->getOrdering(), 643 return cmpNumbers(RMWI->getSyncScopeID(),
|
H A D | InlineFunction.cpp | 993 else if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I)) 994 PtrArgs.push_back(RMWI->getPointerOperand());
|
H A D | SimplifyCFG.cpp | 4243 } else if (auto *RMWI = dyn_cast<AtomicRMWInst>(BBI)) { 4244 if (RMWI->isVolatile())
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/IR/ |
H A D | Instruction.cpp | 432 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I1)) 433 return RMWI->getOperation() == cast<AtomicRMWInst>(I2)->getOperation() && 434 RMWI->isVolatile() == cast<AtomicRMWInst>(I2)->isVolatile() && 435 RMWI->getOrdering() == cast<AtomicRMWInst>(I2)->getOrdering() && 436 RMWI->getSyncScopeID() == cast<AtomicRMWInst>(I2)->getSyncScopeID();
|
H A D | Verifier.cpp | 483 void visitAtomicRMWInst(AtomicRMWInst &RMWI); 3546 void Verifier::visitAtomicRMWInst(AtomicRMWInst &RMWI) { argument 3547 Assert(RMWI.getOrdering() != AtomicOrdering::NotAtomic, 3548 "atomicrmw instructions must be atomic.", &RMWI); 3549 Assert(RMWI.getOrdering() != AtomicOrdering::Unordered, 3550 "atomicrmw instructions cannot be unordered.", &RMWI); 3551 auto Op = RMWI.getOperation(); 3552 PointerType *PTy = dyn_cast<PointerType>(RMWI.getOperand(0)->getType()); 3553 Assert(PTy, "First atomicrmw operand must be a pointer.", &RMWI); 3559 &RMWI, ElT [all...] |
H A D | AsmWriter.cpp | 3721 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(&I)) 3722 Out << ' ' << AtomicRMWInst::getOperationName(RMWI->getOperation()); 4079 } else if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(&I)) { 4080 writeAtomic(RMWI->getContext(), RMWI->getOrdering(), 4081 RMWI->getSyncScopeID());
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ |
H A D | ThreadSanitizer.cpp | 660 } else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I)) { 661 Value *Addr = RMWI->getPointerOperand(); 665 FunctionCallee F = TsanAtomicRMW[RMWI->getOperation()][Idx]; 673 IRB.CreateIntCast(RMWI->getValOperand(), Ty, false), 674 createOrdering(&IRB, RMWI->getOrdering())};
|
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | MemoryLocation.h | 203 static MemoryLocation get(const AtomicRMWInst *RMWI);
|
/freebsd-11-stable/contrib/llvm-project/clang/lib/CodeGen/ |
H A D | CGAtomic.cpp | 670 llvm::AtomicRMWInst *RMWI = local 672 RMWI->setVolatile(E->isVolatile()); 676 llvm::Value *Result = RMWI; 680 RMWI, LoadVal1); 682 Result = CGF.Builder.CreateBinOp((llvm::Instruction::BinaryOps)PostOp, RMWI,
|
H A D | CGBuiltin.cpp | 8511 AtomicRMWInst *RMWI = Builder.CreateAtomicRMW( 8514 return Builder.CreateAdd(RMWI, Arg1);
|
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/ |
H A D | Attributor.h | 854 if (auto *RMWI = dyn_cast<AtomicRMWInst>(I)) { 855 if (!AllowVolatile && RMWI->isVolatile()) 857 return RMWI->getPointerOperand();
|
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | TargetLowering.h | 1854 lowerIdempotentRMWIntoFencedLoad(AtomicRMWInst *RMWI) const {
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/AsmParser/ |
H A D | LLParser.cpp | 7173 AtomicRMWInst *RMWI = 7175 RMWI->setVolatile(isVolatile); 7176 Inst = RMWI;
|