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

/external/llvm/lib/Transforms/Scalar/
H A DLowerAtomic.cpp43 static bool LowerAtomicRMWInst(AtomicRMWInst *RMWI) { argument
44 IRBuilder<> Builder(RMWI->getParent(), 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);
[all...]
/external/llvm/lib/Analysis/
H A DAliasAnalysis.cpp304 AliasAnalysis::getLocation(const AtomicRMWInst *RMWI) { argument
306 RMWI->getAAMetadata(AATags);
308 return Location(RMWI->getPointerOperand(),
309 getTypeStoreSize(RMWI->getValOperand()->getType()), AATags);
/external/llvm/lib/CodeGen/
H A DAtomicExpandPass.cpp88 auto RMWI = dyn_cast<AtomicRMWInst>(I); local
90 assert((LI || SI || RMWI || CASI || isa<FenceInst>(I)) &&
106 } else if (RMWI && (isAtLeastRelease(RMWI->getOrdering()) ||
107 isAtLeastAcquire(RMWI->getOrdering()))) {
108 FenceOrdering = RMWI->getOrdering();
109 RMWI->setOrdering(Monotonic);
133 } else if (RMWI) {
139 if (isIdempotentRMW(RMWI) && simplifyIdempotentRMW(RMWI)) {
537 isIdempotentRMW(AtomicRMWInst* RMWI) argument
557 simplifyIdempotentRMW(AtomicRMWInst* RMWI) argument
[all...]
/external/clang/lib/CodeGen/
H A DCGAtomic.cpp597 llvm::AtomicRMWInst *RMWI = local
599 RMWI->setVolatile(E->isVolatile());
603 llvm::Value *Result = RMWI;
605 Result = CGF.Builder.CreateBinOp(PostOp, RMWI, LoadVal1);
H A DCGBuiltin.cpp1650 AtomicRMWInst *RMWI = Builder.CreateAtomicRMW( local
1655 RMWI->setVolatile(true);
1656 return RValue::get(Builder.CreateAdd(RMWI, ConstantInt::get(Int32Ty, 1)));
1659 AtomicRMWInst *RMWI = Builder.CreateAtomicRMW( local
1664 RMWI->setVolatile(true);
1665 return RValue::get(Builder.CreateSub(RMWI, ConstantInt::get(Int32Ty, 1)));
1668 AtomicRMWInst *RMWI = Builder.CreateAtomicRMW( local
1673 RMWI->setVolatile(true);
1674 return RValue::get(RMWI);
/external/llvm/lib/IR/
H A DVerifier.cpp381 void visitAtomicRMWInst(AtomicRMWInst &RMWI);
2645 void Verifier::visitAtomicRMWInst(AtomicRMWInst &RMWI) { argument
2646 Assert(RMWI.getOrdering() != NotAtomic,
2647 "atomicrmw instructions must be atomic.", &RMWI);
2648 Assert(RMWI.getOrdering() != Unordered,
2649 "atomicrmw instructions cannot be unordered.", &RMWI);
2650 PointerType *PTy = dyn_cast<PointerType>(RMWI.getOperand(0)->getType());
2651 Assert(PTy, "First atomicrmw operand must be a pointer.", &RMWI);
2654 &RMWI, ElTy);
2657 "atomicrmw operand must be power-of-two byte-sized integer", &RMWI,
[all...]

Completed in 206 milliseconds