Home
last modified time | relevance | path

Searched refs:AtomicRMWInst (Results 1 – 25 of 76) sorted by relevance

1234

/external/swiftshader/third_party/LLVM/lib/Transforms/Scalar/
DLowerAtomic.cpp39 static bool LowerAtomicRMWInst(AtomicRMWInst *RMWI) { in LowerAtomicRMWInst()
49 case AtomicRMWInst::Xchg: in LowerAtomicRMWInst()
52 case AtomicRMWInst::Add: in LowerAtomicRMWInst()
55 case AtomicRMWInst::Sub: in LowerAtomicRMWInst()
58 case AtomicRMWInst::And: in LowerAtomicRMWInst()
61 case AtomicRMWInst::Nand: in LowerAtomicRMWInst()
64 case AtomicRMWInst::Or: in LowerAtomicRMWInst()
67 case AtomicRMWInst::Xor: in LowerAtomicRMWInst()
70 case AtomicRMWInst::Max: in LowerAtomicRMWInst()
74 case AtomicRMWInst::Min: in LowerAtomicRMWInst()
[all …]
/external/llvm/lib/Transforms/Scalar/
DLowerAtomic.cpp44 static bool LowerAtomicRMWInst(AtomicRMWInst *RMWI) { in LowerAtomicRMWInst()
54 case AtomicRMWInst::Xchg: in LowerAtomicRMWInst()
57 case AtomicRMWInst::Add: in LowerAtomicRMWInst()
60 case AtomicRMWInst::Sub: in LowerAtomicRMWInst()
63 case AtomicRMWInst::And: in LowerAtomicRMWInst()
66 case AtomicRMWInst::Nand: in LowerAtomicRMWInst()
69 case AtomicRMWInst::Or: in LowerAtomicRMWInst()
72 case AtomicRMWInst::Xor: in LowerAtomicRMWInst()
75 case AtomicRMWInst::Max: in LowerAtomicRMWInst()
79 case AtomicRMWInst::Min: in LowerAtomicRMWInst()
[all …]
/external/llvm/lib/CodeGen/
DAtomicExpandPass.cpp59 bool tryExpandAtomicRMW(AtomicRMWInst *AI);
68 AtomicRMWInst *I,
80 bool isIdempotentRMW(AtomicRMWInst *AI);
81 bool simplifyIdempotentRMW(AtomicRMWInst *AI);
90 void expandAtomicRMWToLibcall(AtomicRMWInst *I);
94 llvm::expandAtomicRMWToCmpXchg(AtomicRMWInst *AI,
120 unsigned getAtomicOpSize(AtomicRMWInst *RMWI) { in getAtomicOpSize()
149 unsigned getAtomicOpAlign(AtomicRMWInst *RMWI) { in getAtomicOpAlign()
194 auto RMWI = dyn_cast<AtomicRMWInst>(I); in runOnFunction()
468 AtomicRMWInst *AI = in expandAtomicStore()
[all …]
/external/swiftshader/third_party/LLVM/lib/VMCore/
DInstruction.cpp227 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(this)) in isIdenticalToWhenDefined()
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()
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()
DAutoUpgrade.cpp243 AtomicRMWInst::BinOp Op; in UpgradeIntrinsicCall()
245 Op = AtomicRMWInst::Xchg; in UpgradeIntrinsicCall()
247 Op = AtomicRMWInst::Add; in UpgradeIntrinsicCall()
249 Op = AtomicRMWInst::Sub; in UpgradeIntrinsicCall()
251 Op = AtomicRMWInst::And; in UpgradeIntrinsicCall()
253 Op = AtomicRMWInst::Nand; in UpgradeIntrinsicCall()
255 Op = AtomicRMWInst::Or; in UpgradeIntrinsicCall()
257 Op = AtomicRMWInst::Xor; in UpgradeIntrinsicCall()
259 Op = AtomicRMWInst::Max; in UpgradeIntrinsicCall()
261 Op = AtomicRMWInst::Min; in UpgradeIntrinsicCall()
[all …]
DAsmWriter.cpp663 AtomicRMWInst::BinOp Op) { in writeAtomicRMWOperation()
666 case AtomicRMWInst::Xchg: Out << " xchg"; break; in writeAtomicRMWOperation()
667 case AtomicRMWInst::Add: Out << " add"; break; in writeAtomicRMWOperation()
668 case AtomicRMWInst::Sub: Out << " sub"; break; in writeAtomicRMWOperation()
669 case AtomicRMWInst::And: Out << " and"; break; in writeAtomicRMWOperation()
670 case AtomicRMWInst::Nand: Out << " nand"; break; in writeAtomicRMWOperation()
671 case AtomicRMWInst::Or: Out << " or"; break; in writeAtomicRMWOperation()
672 case AtomicRMWInst::Xor: Out << " xor"; break; in writeAtomicRMWOperation()
673 case AtomicRMWInst::Max: Out << " max"; break; in writeAtomicRMWOperation()
674 case AtomicRMWInst::Min: Out << " min"; break; in writeAtomicRMWOperation()
[all …]
DInstructions.cpp1268 void AtomicRMWInst::Init(BinOp Operation, Value *Ptr, Value *Val, in Init()
1288 AtomicRMWInst::AtomicRMWInst(BinOp Operation, Value *Ptr, Value *Val, in AtomicRMWInst() function in AtomicRMWInst
1293 OperandTraits<AtomicRMWInst>::op_begin(this), in AtomicRMWInst()
1294 OperandTraits<AtomicRMWInst>::operands(this), in AtomicRMWInst()
1299 AtomicRMWInst::AtomicRMWInst(BinOp Operation, Value *Ptr, Value *Val, in AtomicRMWInst() function in AtomicRMWInst
1304 OperandTraits<AtomicRMWInst>::op_begin(this), in AtomicRMWInst()
1305 OperandTraits<AtomicRMWInst>::operands(this), in AtomicRMWInst()
3364 AtomicRMWInst *AtomicRMWInst::clone_impl() const { in clone_impl()
3365 AtomicRMWInst *Result = in clone_impl()
3366 new AtomicRMWInst(getOperation(),getOperand(0), getOperand(1), in clone_impl()
/external/llvm/lib/Transforms/Instrumentation/
DThreadSanitizer.cpp116 Function *TsanAtomicRMW[AtomicRMWInst::LAST_BINOP + 1][kNumberOfAccessSizes];
191 for (int op = AtomicRMWInst::FIRST_BINOP; in initializeCallbacks()
192 op <= AtomicRMWInst::LAST_BINOP; ++op) { in initializeCallbacks()
195 if (op == AtomicRMWInst::Xchg) in initializeCallbacks()
197 else if (op == AtomicRMWInst::Add) in initializeCallbacks()
199 else if (op == AtomicRMWInst::Sub) in initializeCallbacks()
201 else if (op == AtomicRMWInst::And) in initializeCallbacks()
203 else if (op == AtomicRMWInst::Or) in initializeCallbacks()
205 else if (op == AtomicRMWInst::Xor) in initializeCallbacks()
207 else if (op == AtomicRMWInst::Nand) in initializeCallbacks()
[all …]
DBoundsChecking.cpp183 isa<AtomicRMWInst>(I)) in runOnFunction()
200 } else if (AtomicRMWInst *AI = dyn_cast<AtomicRMWInst>(Inst)) { in runOnFunction()
/external/llvm/include/llvm/CodeGen/
DAtomicExpandUtils.h15 class AtomicRMWInst; variable
56 expandAtomicRMWToCmpXchg(AtomicRMWInst *AI, CreateCmpXchgInstFun Factory);
/external/llvm/lib/IR/
DInstruction.cpp388 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I1)) in haveSameSpecialState()
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()
DAsmWriter.cpp1078 AtomicRMWInst::BinOp Op) { in writeAtomicRMWOperation()
1081 case AtomicRMWInst::Xchg: Out << " xchg"; break; in writeAtomicRMWOperation()
1082 case AtomicRMWInst::Add: Out << " add"; break; in writeAtomicRMWOperation()
1083 case AtomicRMWInst::Sub: Out << " sub"; break; in writeAtomicRMWOperation()
1084 case AtomicRMWInst::And: Out << " and"; break; in writeAtomicRMWOperation()
1085 case AtomicRMWInst::Nand: Out << " nand"; break; in writeAtomicRMWOperation()
1086 case AtomicRMWInst::Or: Out << " or"; break; in writeAtomicRMWOperation()
1087 case AtomicRMWInst::Xor: Out << " xor"; break; in writeAtomicRMWOperation()
1088 case AtomicRMWInst::Max: Out << " max"; break; in writeAtomicRMWOperation()
1089 case AtomicRMWInst::Min: Out << " min"; break; in writeAtomicRMWOperation()
[all …]
DCore.cpp3040 AtomicRMWInst::BinOp intop; in LLVMBuildAtomicRMW()
3042 case LLVMAtomicRMWBinOpXchg: intop = AtomicRMWInst::Xchg; break; in LLVMBuildAtomicRMW()
3043 case LLVMAtomicRMWBinOpAdd: intop = AtomicRMWInst::Add; break; in LLVMBuildAtomicRMW()
3044 case LLVMAtomicRMWBinOpSub: intop = AtomicRMWInst::Sub; break; in LLVMBuildAtomicRMW()
3045 case LLVMAtomicRMWBinOpAnd: intop = AtomicRMWInst::And; break; in LLVMBuildAtomicRMW()
3046 case LLVMAtomicRMWBinOpNand: intop = AtomicRMWInst::Nand; break; in LLVMBuildAtomicRMW()
3047 case LLVMAtomicRMWBinOpOr: intop = AtomicRMWInst::Or; break; in LLVMBuildAtomicRMW()
3048 case LLVMAtomicRMWBinOpXor: intop = AtomicRMWInst::Xor; break; in LLVMBuildAtomicRMW()
3049 case LLVMAtomicRMWBinOpMax: intop = AtomicRMWInst::Max; break; in LLVMBuildAtomicRMW()
3050 case LLVMAtomicRMWBinOpMin: intop = AtomicRMWInst::Min; break; in LLVMBuildAtomicRMW()
[all …]
/external/llvm/include/llvm/Analysis/
DMemoryLocation.h69 static MemoryLocation get(const AtomicRMWInst *RMWI);
79 else if (auto *I = dyn_cast<AtomicRMWInst>(Inst)) in get()
DAliasAnalysis.h418 ModRefInfo getModRefInfo(const AtomicRMWInst *RMW, const MemoryLocation &Loc);
421 ModRefInfo getModRefInfo(const AtomicRMWInst *RMW, const Value *P, in getModRefInfo()
492 return getModRefInfo((const AtomicRMWInst*)I, Loc); in getModRefInfo()
/external/swiftshader/third_party/LLVM/include/llvm/Analysis/
DAliasAnalysis.h140 Location getLocation(const AtomicRMWInst *RMWI);
350 return getModRefInfo((const AtomicRMWInst*)I, Loc); in getModRefInfo()
441 ModRefResult getModRefInfo(const AtomicRMWInst *RMW, const Location &Loc);
444 ModRefResult getModRefInfo(const AtomicRMWInst *RMW, in getModRefInfo()
/external/swiftshader/third_party/LLVM/lib/Bitcode/Writer/
DBitcodeWriter.cpp103 static unsigned GetEncodedRMWOperation(AtomicRMWInst::BinOp Op) { in GetEncodedRMWOperation()
106 case AtomicRMWInst::Xchg: return bitc::RMW_XCHG; in GetEncodedRMWOperation()
107 case AtomicRMWInst::Add: return bitc::RMW_ADD; in GetEncodedRMWOperation()
108 case AtomicRMWInst::Sub: return bitc::RMW_SUB; in GetEncodedRMWOperation()
109 case AtomicRMWInst::And: return bitc::RMW_AND; in GetEncodedRMWOperation()
110 case AtomicRMWInst::Nand: return bitc::RMW_NAND; in GetEncodedRMWOperation()
111 case AtomicRMWInst::Or: return bitc::RMW_OR; in GetEncodedRMWOperation()
112 case AtomicRMWInst::Xor: return bitc::RMW_XOR; in GetEncodedRMWOperation()
113 case AtomicRMWInst::Max: return bitc::RMW_MAX; in GetEncodedRMWOperation()
114 case AtomicRMWInst::Min: return bitc::RMW_MIN; in GetEncodedRMWOperation()
[all …]
/external/swiftshader/third_party/LLVM/lib/Transforms/IPO/
DMergeFunctions.cpp335 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I1)) in isEquivalentOperation()
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/swiftshader/third_party/LLVM/lib/Bitcode/Reader/
DBitcodeReader.cpp134 static AtomicRMWInst::BinOp GetDecodedRMWOperation(unsigned Val) { in GetDecodedRMWOperation()
136 default: return AtomicRMWInst::BAD_BINOP; in GetDecodedRMWOperation()
137 case bitc::RMW_XCHG: return AtomicRMWInst::Xchg; in GetDecodedRMWOperation()
138 case bitc::RMW_ADD: return AtomicRMWInst::Add; in GetDecodedRMWOperation()
139 case bitc::RMW_SUB: return AtomicRMWInst::Sub; in GetDecodedRMWOperation()
140 case bitc::RMW_AND: return AtomicRMWInst::And; in GetDecodedRMWOperation()
141 case bitc::RMW_NAND: return AtomicRMWInst::Nand; in GetDecodedRMWOperation()
142 case bitc::RMW_OR: return AtomicRMWInst::Or; in GetDecodedRMWOperation()
143 case bitc::RMW_XOR: return AtomicRMWInst::Xor; in GetDecodedRMWOperation()
144 case bitc::RMW_MAX: return AtomicRMWInst::Max; in GetDecodedRMWOperation()
[all …]
/external/tensorflow/tensorflow/compiler/xla/service/gpu/
Dir_emitter.cc205 ir_builder_.CreateAtomicRMW(llvm::AtomicRMWInst::Add, output_address, in MaybeEmitDirectAtomicOperation()
217 ? llvm::AtomicRMWInst::Max in MaybeEmitDirectAtomicOperation()
218 : llvm::AtomicRMWInst::UMax; in MaybeEmitDirectAtomicOperation()
228 ? llvm::AtomicRMWInst::Min in MaybeEmitDirectAtomicOperation()
229 : llvm::AtomicRMWInst::UMin; in MaybeEmitDirectAtomicOperation()
/external/llvm/unittests/Analysis/
DAliasAnalysisTest.cpp185 new AtomicRMWInst(AtomicRMWInst::Xchg, Addr, ConstantInt::get(IntType, 1), in TEST_F()
/external/clang/lib/CodeGen/
DCGAtomic.cpp492 llvm::AtomicRMWInst::BinOp Op = llvm::AtomicRMWInst::Add; in EmitAtomicOp()
560 Op = llvm::AtomicRMWInst::Xchg; in EmitAtomicOp()
568 Op = llvm::AtomicRMWInst::Add; in EmitAtomicOp()
576 Op = llvm::AtomicRMWInst::Sub; in EmitAtomicOp()
584 Op = llvm::AtomicRMWInst::And; in EmitAtomicOp()
592 Op = llvm::AtomicRMWInst::Or; in EmitAtomicOp()
600 Op = llvm::AtomicRMWInst::Xor; in EmitAtomicOp()
607 Op = llvm::AtomicRMWInst::Nand; in EmitAtomicOp()
612 llvm::AtomicRMWInst *RMWI = in EmitAtomicOp()
DCGBuiltin.cpp87 llvm::AtomicRMWInst::BinOp Kind, in MakeBinaryAtomicValue()
137 llvm::AtomicRMWInst::BinOp Kind, in EmitBinaryAtomic()
146 llvm::AtomicRMWInst::BinOp Kind, in EmitBinaryAtomicPost()
1227 return EmitBinaryAtomic(*this, llvm::AtomicRMWInst::Add, E); in EmitBuiltinExpr()
1233 return EmitBinaryAtomic(*this, llvm::AtomicRMWInst::Sub, E); in EmitBuiltinExpr()
1239 return EmitBinaryAtomic(*this, llvm::AtomicRMWInst::Or, E); in EmitBuiltinExpr()
1245 return EmitBinaryAtomic(*this, llvm::AtomicRMWInst::And, E); in EmitBuiltinExpr()
1251 return EmitBinaryAtomic(*this, llvm::AtomicRMWInst::Xor, E); in EmitBuiltinExpr()
1257 return EmitBinaryAtomic(*this, llvm::AtomicRMWInst::Nand, E); in EmitBuiltinExpr()
1261 return EmitBinaryAtomic(*this, llvm::AtomicRMWInst::Min, E); in EmitBuiltinExpr()
[all …]
/external/swiftshader/third_party/LLVM/lib/Analysis/
DAliasAnalysis.cpp248 AliasAnalysis::getLocation(const AtomicRMWInst *RMWI) { in getLocation()
347 AliasAnalysis::getModRefInfo(const AtomicRMWInst *RMW, const Location &Loc) { in getModRefInfo()
/external/llvm/lib/Bitcode/Writer/
DBitcodeWriter.cpp515 static unsigned getEncodedRMWOperation(AtomicRMWInst::BinOp Op) { in getEncodedRMWOperation()
518 case AtomicRMWInst::Xchg: return bitc::RMW_XCHG; in getEncodedRMWOperation()
519 case AtomicRMWInst::Add: return bitc::RMW_ADD; in getEncodedRMWOperation()
520 case AtomicRMWInst::Sub: return bitc::RMW_SUB; in getEncodedRMWOperation()
521 case AtomicRMWInst::And: return bitc::RMW_AND; in getEncodedRMWOperation()
522 case AtomicRMWInst::Nand: return bitc::RMW_NAND; in getEncodedRMWOperation()
523 case AtomicRMWInst::Or: return bitc::RMW_OR; in getEncodedRMWOperation()
524 case AtomicRMWInst::Xor: return bitc::RMW_XOR; in getEncodedRMWOperation()
525 case AtomicRMWInst::Max: return bitc::RMW_MAX; in getEncodedRMWOperation()
526 case AtomicRMWInst::Min: return bitc::RMW_MIN; in getEncodedRMWOperation()
[all …]

1234