Home
last modified time | relevance | path

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

12

/external/swiftshader/third_party/LLVM/lib/Transforms/Scalar/
DLowerAtomic.cpp39 static bool LowerAtomicRMWInst(AtomicRMWInst *RMWI) { in LowerAtomicRMWInst() argument
40 IRBuilder<> Builder(RMWI->getParent(), RMWI); in LowerAtomicRMWInst()
41 Value *Ptr = RMWI->getPointerOperand(); in LowerAtomicRMWInst()
42 Value *Val = RMWI->getValOperand(); in LowerAtomicRMWInst()
47 switch (RMWI->getOperation()) { in LowerAtomicRMWInst()
88 RMWI->replaceAllUsesWith(Orig); in LowerAtomicRMWInst()
89 RMWI->eraseFromParent(); in LowerAtomicRMWInst()
122 else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(Inst)) in runOnBasicBlock() local
123 Changed |= LowerAtomicRMWInst(RMWI); in runOnBasicBlock()
/external/llvm/lib/Transforms/Scalar/
DLowerAtomic.cpp44 static bool LowerAtomicRMWInst(AtomicRMWInst *RMWI) { in LowerAtomicRMWInst() argument
45 IRBuilder<> Builder(RMWI); in LowerAtomicRMWInst()
46 Value *Ptr = RMWI->getPointerOperand(); in LowerAtomicRMWInst()
47 Value *Val = RMWI->getValOperand(); in LowerAtomicRMWInst()
52 switch (RMWI->getOperation()) { in LowerAtomicRMWInst()
93 RMWI->replaceAllUsesWith(Orig); in LowerAtomicRMWInst()
94 RMWI->eraseFromParent(); in LowerAtomicRMWInst()
121 else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(Inst)) in runOnBasicBlock() local
122 Changed |= LowerAtomicRMWInst(RMWI); in runOnBasicBlock()
/external/swiftshader/third_party/LLVM/lib/VMCore/
DInstruction.cpp227 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(this)) in isIdenticalToWhenDefined() local
228 return RMWI->getOperation() == cast<AtomicRMWInst>(I)->getOperation() && in isIdenticalToWhenDefined()
229 RMWI->isVolatile() == cast<AtomicRMWInst>(I)->isVolatile() && in isIdenticalToWhenDefined()
230 RMWI->getOrdering() == cast<AtomicRMWInst>(I)->getOrdering() && in isIdenticalToWhenDefined()
231 RMWI->getSynchScope() == cast<AtomicRMWInst>(I)->getSynchScope(); in isIdenticalToWhenDefined()
283 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(this)) in isSameOperationAs() local
284 return RMWI->getOperation() == cast<AtomicRMWInst>(I)->getOperation() && in isSameOperationAs()
285 RMWI->isVolatile() == cast<AtomicRMWInst>(I)->isVolatile() && in isSameOperationAs()
286 RMWI->getOrdering() == cast<AtomicRMWInst>(I)->getOrdering() && in isSameOperationAs()
287 RMWI->getSynchScope() == cast<AtomicRMWInst>(I)->getSynchScope(); in isSameOperationAs()
DVerifier.cpp293 void visitAtomicRMWInst(AtomicRMWInst &RMWI);
1378 void Verifier::visitAtomicRMWInst(AtomicRMWInst &RMWI) { in visitAtomicRMWInst() argument
1379 Assert1(RMWI.getOrdering() != NotAtomic, in visitAtomicRMWInst()
1380 "atomicrmw instructions must be atomic.", &RMWI); in visitAtomicRMWInst()
1381 Assert1(RMWI.getOrdering() != Unordered, in visitAtomicRMWInst()
1382 "atomicrmw instructions cannot be unordered.", &RMWI); in visitAtomicRMWInst()
1383 PointerType *PTy = dyn_cast<PointerType>(RMWI.getOperand(0)->getType()); in visitAtomicRMWInst()
1384 Assert1(PTy, "First atomicrmw operand must be a pointer.", &RMWI); in visitAtomicRMWInst()
1386 Assert2(ElTy == RMWI.getOperand(1)->getType(), in visitAtomicRMWInst()
1388 &RMWI, ElTy); in visitAtomicRMWInst()
[all …]
DAsmWriter.cpp1689 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(&I)) in printInstruction() local
1690 writeAtomicRMWOperation(Out, RMWI->getOperation()); in printInstruction()
1956 } else if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(&I)) { in printInstruction() local
1957 writeAtomic(RMWI->getOrdering(), RMWI->getSynchScope()); in printInstruction()
/external/llvm/lib/Analysis/
DMemoryLocation.cpp57 MemoryLocation MemoryLocation::get(const AtomicRMWInst *RMWI) { in get() argument
59 RMWI->getAAMetadata(AATags); in get()
60 const auto &DL = RMWI->getModule()->getDataLayout(); in get()
62 return MemoryLocation(RMWI->getPointerOperand(), in get()
63 DL.getTypeStoreSize(RMWI->getValOperand()->getType()), in get()
DValueTracking.cpp3489 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I)) in isGuaranteedToTransferExecutionToSuccessor() local
3490 return !RMWI->isVolatile(); in isGuaranteedToTransferExecutionToSuccessor()
/external/llvm/lib/CodeGen/
DAtomicExpandPass.cpp120 unsigned getAtomicOpSize(AtomicRMWInst *RMWI) { in getAtomicOpSize() argument
121 const DataLayout &DL = RMWI->getModule()->getDataLayout(); in getAtomicOpSize()
122 return DL.getTypeStoreSize(RMWI->getValOperand()->getType()); in getAtomicOpSize()
149 unsigned getAtomicOpAlign(AtomicRMWInst *RMWI) { in getAtomicOpAlign() argument
153 const DataLayout &DL = RMWI->getModule()->getDataLayout(); in getAtomicOpAlign()
154 return DL.getTypeStoreSize(RMWI->getValOperand()->getType()); in getAtomicOpAlign()
194 auto RMWI = dyn_cast<AtomicRMWInst>(I); in runOnFunction() local
196 assert((LI || SI || RMWI || CASI) && "Unknown atomic instruction"); in runOnFunction()
211 } else if (RMWI) { in runOnFunction()
212 if (!atomicSizeSupported(TLI, RMWI)) { in runOnFunction()
[all …]
/external/swiftshader/third_party/LLVM/lib/Analysis/
DAliasAnalysis.cpp248 AliasAnalysis::getLocation(const AtomicRMWInst *RMWI) { in getLocation() argument
249 return Location(RMWI->getPointerOperand(), in getLocation()
250 getTypeStoreSize(RMWI->getValOperand()->getType()), in getLocation()
251 RMWI->getMetadata(LLVMContext::MD_tbaa)); in getLocation()
/external/llvm/lib/IR/
DInstruction.cpp388 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I1)) in haveSameSpecialState() local
389 return RMWI->getOperation() == cast<AtomicRMWInst>(I2)->getOperation() && in haveSameSpecialState()
390 RMWI->isVolatile() == cast<AtomicRMWInst>(I2)->isVolatile() && in haveSameSpecialState()
391 RMWI->getOrdering() == cast<AtomicRMWInst>(I2)->getOrdering() && in haveSameSpecialState()
392 RMWI->getSynchScope() == cast<AtomicRMWInst>(I2)->getSynchScope(); in haveSameSpecialState()
DVerifier.cpp424 void visitAtomicRMWInst(AtomicRMWInst &RMWI);
3121 void Verifier::visitAtomicRMWInst(AtomicRMWInst &RMWI) { in visitAtomicRMWInst() argument
3122 Assert(RMWI.getOrdering() != AtomicOrdering::NotAtomic, in visitAtomicRMWInst()
3123 "atomicrmw instructions must be atomic.", &RMWI); in visitAtomicRMWInst()
3124 Assert(RMWI.getOrdering() != AtomicOrdering::Unordered, in visitAtomicRMWInst()
3125 "atomicrmw instructions cannot be unordered.", &RMWI); in visitAtomicRMWInst()
3126 PointerType *PTy = dyn_cast<PointerType>(RMWI.getOperand(0)->getType()); in visitAtomicRMWInst()
3127 Assert(PTy, "First atomicrmw operand must be a pointer.", &RMWI); in visitAtomicRMWInst()
3130 &RMWI, ElTy); in visitAtomicRMWInst()
3131 checkAtomicMemAccessSize(M, ElTy, &RMWI); in visitAtomicRMWInst()
[all …]
DAsmWriter.cpp2875 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(&I)) in printInstruction() local
2876 writeAtomicRMWOperation(Out, RMWI->getOperation()); in printInstruction()
3180 } else if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(&I)) { in printInstruction() local
3181 writeAtomic(RMWI->getOrdering(), RMWI->getSynchScope()); in printInstruction()
/external/llvm/lib/Transforms/Instrumentation/
DThreadSanitizer.cpp603 } else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I)) { in instrumentAtomic() local
604 Value *Addr = RMWI->getPointerOperand(); in instrumentAtomic()
608 Function *F = TsanAtomicRMW[RMWI->getOperation()][Idx]; in instrumentAtomic()
616 IRB.CreateIntCast(RMWI->getValOperand(), Ty, false), in instrumentAtomic()
617 createOrdering(&IRB, RMWI->getOrdering())}; in instrumentAtomic()
/external/swiftshader/third_party/LLVM/lib/Transforms/IPO/
DMergeFunctions.cpp335 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I1)) in isEquivalentOperation() local
336 return RMWI->getOperation() == cast<AtomicRMWInst>(I2)->getOperation() && in isEquivalentOperation()
337 RMWI->isVolatile() == cast<AtomicRMWInst>(I2)->isVolatile() && in isEquivalentOperation()
338 RMWI->getOrdering() == cast<AtomicRMWInst>(I2)->getOrdering() && in isEquivalentOperation()
339 RMWI->getSynchScope() == cast<AtomicRMWInst>(I2)->getSynchScope(); in isEquivalentOperation()
/external/llvm/lib/Target/SystemZ/
DSystemZPatterns.td43 class RMWI<SDPatternOperator load, SDPatternOperator operator,
53 def : RMWI<anyextloadi8, operator, truncstorei8, mode, imm32, insn>;
54 def : RMWI<anyextloadi8, operator, truncstorei8, mode, imm64, insn>;
/external/llvm/include/llvm/Analysis/
DMemoryLocation.h69 static MemoryLocation get(const AtomicRMWInst *RMWI);
/external/llvm/lib/Transforms/IPO/
DMergeFunctions.cpp1040 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(L)) { in cmpOperations() local
1041 if (int Res = cmpNumbers(RMWI->getOperation(), in cmpOperations()
1044 if (int Res = cmpNumbers(RMWI->isVolatile(), in cmpOperations()
1047 if (int Res = cmpOrderings(RMWI->getOrdering(), in cmpOperations()
1050 return cmpNumbers(RMWI->getSynchScope(), in cmpOperations()
/external/swiftshader/third_party/LLVM/include/llvm/Analysis/
DAliasAnalysis.h140 Location getLocation(const AtomicRMWInst *RMWI);
/external/clang/lib/CodeGen/
DCGAtomic.cpp612 llvm::AtomicRMWInst *RMWI = in EmitAtomicOp() local
614 RMWI->setVolatile(E->isVolatile()); in EmitAtomicOp()
618 llvm::Value *Result = RMWI; in EmitAtomicOp()
620 Result = CGF.Builder.CreateBinOp(PostOp, RMWI, LoadVal1); in EmitAtomicOp()
DCGBuiltin.cpp1953 AtomicRMWInst *RMWI = Builder.CreateAtomicRMW( in EmitBuiltinExpr() local
1958 RMWI->setVolatile(true); in EmitBuiltinExpr()
1959 return RValue::get(Builder.CreateAdd(RMWI, ConstantInt::get(IntTy, 1))); in EmitBuiltinExpr()
1963 AtomicRMWInst *RMWI = Builder.CreateAtomicRMW( in EmitBuiltinExpr() local
1968 RMWI->setVolatile(true); in EmitBuiltinExpr()
1969 return RValue::get(Builder.CreateSub(RMWI, ConstantInt::get(IntTy, 1))); in EmitBuiltinExpr()
1972 AtomicRMWInst *RMWI = Builder.CreateAtomicRMW( in EmitBuiltinExpr() local
1977 RMWI->setVolatile(true); in EmitBuiltinExpr()
1978 return RValue::get(RMWI); in EmitBuiltinExpr()
/external/llvm/lib/Transforms/Utils/
DInlineFunction.cpp906 else if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I)) in AddAliasScopeMetadata() local
907 PtrArgs.push_back(RMWI->getPointerOperand()); in AddAliasScopeMetadata()
/external/swiftshader/third_party/LLVM/lib/AsmParser/
DLLParser.cpp3878 AtomicRMWInst *RMWI = in ParseAtomicRMW() local
3880 RMWI->setVolatile(isVolatile); in ParseAtomicRMW()
3881 Inst = RMWI; in ParseAtomicRMW()
/external/swiftshader/third_party/LLVM/lib/Transforms/Utils/
DSimplifyCFG.cpp2306 } else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(BBI)) { in SimplifyUnreachable() local
2307 if (RMWI->isVolatile()) in SimplifyUnreachable()
/external/llvm/include/llvm/Target/
DTargetLowering.h1267 lowerIdempotentRMWIntoFencedLoad(AtomicRMWInst *RMWI) const { in lowerIdempotentRMWIntoFencedLoad() argument
/external/llvm/lib/AsmParser/
DLLParser.cpp6193 AtomicRMWInst *RMWI = in ParseAtomicRMW() local
6195 RMWI->setVolatile(isVolatile); in ParseAtomicRMW()
6196 Inst = RMWI; in ParseAtomicRMW()

12