/external/swiftshader/third_party/LLVM/lib/Transforms/Scalar/ |
D | LowerAtomic.cpp | 39 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/ |
D | LowerAtomic.cpp | 44 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/ |
D | Instruction.cpp | 227 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()
|
D | Verifier.cpp | 293 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 …]
|
D | AsmWriter.cpp | 1689 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/ |
D | MemoryLocation.cpp | 57 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()
|
D | ValueTracking.cpp | 3489 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I)) in isGuaranteedToTransferExecutionToSuccessor() local 3490 return !RMWI->isVolatile(); in isGuaranteedToTransferExecutionToSuccessor()
|
/external/llvm/lib/CodeGen/ |
D | AtomicExpandPass.cpp | 120 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/ |
D | AliasAnalysis.cpp | 248 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/ |
D | Instruction.cpp | 388 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()
|
D | Verifier.cpp | 424 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 …]
|
D | AsmWriter.cpp | 2875 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/ |
D | ThreadSanitizer.cpp | 603 } 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/ |
D | MergeFunctions.cpp | 335 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/ |
D | SystemZPatterns.td | 43 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/ |
D | MemoryLocation.h | 69 static MemoryLocation get(const AtomicRMWInst *RMWI);
|
/external/llvm/lib/Transforms/IPO/ |
D | MergeFunctions.cpp | 1040 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/ |
D | AliasAnalysis.h | 140 Location getLocation(const AtomicRMWInst *RMWI);
|
/external/clang/lib/CodeGen/ |
D | CGAtomic.cpp | 612 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()
|
D | CGBuiltin.cpp | 1953 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/ |
D | InlineFunction.cpp | 906 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/ |
D | LLParser.cpp | 3878 AtomicRMWInst *RMWI = in ParseAtomicRMW() local 3880 RMWI->setVolatile(isVolatile); in ParseAtomicRMW() 3881 Inst = RMWI; in ParseAtomicRMW()
|
/external/swiftshader/third_party/LLVM/lib/Transforms/Utils/ |
D | SimplifyCFG.cpp | 2306 } else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(BBI)) { in SimplifyUnreachable() local 2307 if (RMWI->isVolatile()) in SimplifyUnreachable()
|
/external/llvm/include/llvm/Target/ |
D | TargetLowering.h | 1267 lowerIdempotentRMWIntoFencedLoad(AtomicRMWInst *RMWI) const { in lowerIdempotentRMWIntoFencedLoad() argument
|
/external/llvm/lib/AsmParser/ |
D | LLParser.cpp | 6193 AtomicRMWInst *RMWI = in ParseAtomicRMW() local 6195 RMWI->setVolatile(isVolatile); in ParseAtomicRMW() 6196 Inst = RMWI; in ParseAtomicRMW()
|