Searched defs:RMWI (Results 1 - 6 of 6) sorted by relevance

/external/llvm/lib/Analysis/
H A DMemoryLocation.cpp57 MemoryLocation MemoryLocation::get(const AtomicRMWInst *RMWI) { argument
59 RMWI->getAAMetadata(AATags);
60 const auto &DL = RMWI->getModule()->getDataLayout();
62 return MemoryLocation(RMWI->getPointerOperand(),
63 DL.getTypeStoreSize(RMWI->getValOperand()->getType()),
/external/llvm/lib/Transforms/Scalar/
H A DLowerAtomic.cpp43 static bool LowerAtomicRMWInst(AtomicRMWInst *RMWI) { argument
44 IRBuilder<> Builder(RMWI);
45 Value *Ptr = RMWI->getPointerOperand();
46 Value *Val = RMWI->getValOperand();
51 switch (RMWI->getOperation()) {
92 RMWI->replaceAllUsesWith(Orig);
93 RMWI->eraseFromParent();
128 else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(Inst))
129 Changed |= LowerAtomicRMWInst(RMWI);
/external/llvm/lib/CodeGen/
H A DAtomicExpandPass.cpp97 auto RMWI = dyn_cast<AtomicRMWInst>(I); local
99 assert((LI || SI || RMWI || CASI || isa<FenceInst>(I)) &&
115 } else if (RMWI && (isAtLeastRelease(RMWI->getOrdering()) ||
116 isAtLeastAcquire(RMWI->getOrdering()))) {
117 FenceOrdering = RMWI->getOrdering();
118 RMWI->setOrdering(Monotonic);
160 } else if (RMWI) {
166 if (isIdempotentRMW(RMWI) && simplifyIdempotentRMW(RMWI)) {
[all...]
/external/clang/lib/CodeGen/
H A DCGAtomic.cpp624 llvm::AtomicRMWInst *RMWI = local
626 RMWI->setVolatile(E->isVolatile());
630 llvm::Value *Result = RMWI;
632 Result = CGF.Builder.CreateBinOp(PostOp, RMWI, LoadVal1);
H A DCGBuiltin.cpp1862 AtomicRMWInst *RMWI = Builder.CreateAtomicRMW( local
1867 RMWI->setVolatile(true);
1868 return RValue::get(Builder.CreateAdd(RMWI, ConstantInt::get(Int32Ty, 1)));
1871 AtomicRMWInst *RMWI = Builder.CreateAtomicRMW( local
1876 RMWI->setVolatile(true);
1877 return RValue::get(Builder.CreateSub(RMWI, ConstantInt::get(Int32Ty, 1)));
1880 AtomicRMWInst *RMWI = Builder.CreateAtomicRMW( local
1885 RMWI->setVolatile(true);
1886 return RValue::get(RMWI);
/external/llvm/lib/IR/
H A DVerifier.cpp396 void visitAtomicRMWInst(AtomicRMWInst &RMWI);
2848 void Verifier::visitAtomicRMWInst(AtomicRMWInst &RMWI) { argument
2849 Assert(RMWI.getOrdering() != NotAtomic,
2850 "atomicrmw instructions must be atomic.", &RMWI);
2851 Assert(RMWI.getOrdering() != Unordered,
2852 "atomicrmw instructions cannot be unordered.", &RMWI);
2853 PointerType *PTy = dyn_cast<PointerType>(RMWI.getOperand(0)->getType());
2854 Assert(PTy, "First atomicrmw operand must be a pointer.", &RMWI);
2857 &RMWI, ElTy);
2858 checkAtomicMemAccessSize(M, ElTy, &RMWI);
[all...]

Completed in 171 milliseconds