/external/llvm/lib/Transforms/Scalar/ |
D | LowerAtomic.cpp | 39 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/IR/ |
D | Instruction.cpp | 314 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(this)) in isIdenticalToWhenDefined() 315 return RMWI->getOperation() == cast<AtomicRMWInst>(I)->getOperation() && in isIdenticalToWhenDefined() 316 RMWI->isVolatile() == cast<AtomicRMWInst>(I)->isVolatile() && in isIdenticalToWhenDefined() 317 RMWI->getOrdering() == cast<AtomicRMWInst>(I)->getOrdering() && in isIdenticalToWhenDefined() 318 RMWI->getSynchScope() == cast<AtomicRMWInst>(I)->getSynchScope(); in isIdenticalToWhenDefined() 388 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(this)) in isSameOperationAs() 389 return RMWI->getOperation() == cast<AtomicRMWInst>(I)->getOperation() && in isSameOperationAs() 390 RMWI->isVolatile() == cast<AtomicRMWInst>(I)->isVolatile() && in isSameOperationAs() 391 RMWI->getOrdering() == cast<AtomicRMWInst>(I)->getOrdering() && in isSameOperationAs() 392 RMWI->getSynchScope() == cast<AtomicRMWInst>(I)->getSynchScope(); in isSameOperationAs()
|
D | AsmWriter.cpp | 714 AtomicRMWInst::BinOp Op) { in writeAtomicRMWOperation() 717 case AtomicRMWInst::Xchg: Out << " xchg"; break; in writeAtomicRMWOperation() 718 case AtomicRMWInst::Add: Out << " add"; break; in writeAtomicRMWOperation() 719 case AtomicRMWInst::Sub: Out << " sub"; break; in writeAtomicRMWOperation() 720 case AtomicRMWInst::And: Out << " and"; break; in writeAtomicRMWOperation() 721 case AtomicRMWInst::Nand: Out << " nand"; break; in writeAtomicRMWOperation() 722 case AtomicRMWInst::Or: Out << " or"; break; in writeAtomicRMWOperation() 723 case AtomicRMWInst::Xor: Out << " xor"; break; in writeAtomicRMWOperation() 724 case AtomicRMWInst::Max: Out << " max"; break; in writeAtomicRMWOperation() 725 case AtomicRMWInst::Min: Out << " min"; break; in writeAtomicRMWOperation() [all …]
|
D | Core.cpp | 2403 AtomicRMWInst::BinOp intop; in LLVMBuildAtomicRMW() 2405 case LLVMAtomicRMWBinOpXchg: intop = AtomicRMWInst::Xchg; break; in LLVMBuildAtomicRMW() 2406 case LLVMAtomicRMWBinOpAdd: intop = AtomicRMWInst::Add; break; in LLVMBuildAtomicRMW() 2407 case LLVMAtomicRMWBinOpSub: intop = AtomicRMWInst::Sub; break; in LLVMBuildAtomicRMW() 2408 case LLVMAtomicRMWBinOpAnd: intop = AtomicRMWInst::And; break; in LLVMBuildAtomicRMW() 2409 case LLVMAtomicRMWBinOpNand: intop = AtomicRMWInst::Nand; break; in LLVMBuildAtomicRMW() 2410 case LLVMAtomicRMWBinOpOr: intop = AtomicRMWInst::Or; break; in LLVMBuildAtomicRMW() 2411 case LLVMAtomicRMWBinOpXor: intop = AtomicRMWInst::Xor; break; in LLVMBuildAtomicRMW() 2412 case LLVMAtomicRMWBinOpMax: intop = AtomicRMWInst::Max; break; in LLVMBuildAtomicRMW() 2413 case LLVMAtomicRMWBinOpMin: intop = AtomicRMWInst::Min; break; in LLVMBuildAtomicRMW() [all …]
|
D | Instructions.cpp | 1266 void AtomicRMWInst::Init(BinOp Operation, Value *Ptr, Value *Val, in Init() 1286 AtomicRMWInst::AtomicRMWInst(BinOp Operation, Value *Ptr, Value *Val, in AtomicRMWInst() function in AtomicRMWInst 1291 OperandTraits<AtomicRMWInst>::op_begin(this), in AtomicRMWInst() 1292 OperandTraits<AtomicRMWInst>::operands(this), in AtomicRMWInst() 1297 AtomicRMWInst::AtomicRMWInst(BinOp Operation, Value *Ptr, Value *Val, in AtomicRMWInst() function in AtomicRMWInst 1302 OperandTraits<AtomicRMWInst>::op_begin(this), in AtomicRMWInst() 1303 OperandTraits<AtomicRMWInst>::operands(this), in AtomicRMWInst() 3520 AtomicRMWInst *AtomicRMWInst::clone_impl() const { in clone_impl() 3521 AtomicRMWInst *Result = in clone_impl() 3522 new AtomicRMWInst(getOperation(),getOperand(0), getOperand(1), in clone_impl()
|
D | Verifier.cpp | 307 void visitAtomicRMWInst(AtomicRMWInst &RMWI); 1866 void Verifier::visitAtomicRMWInst(AtomicRMWInst &RMWI) { in visitAtomicRMWInst() 1884 Assert1(AtomicRMWInst::FIRST_BINOP <= RMWI.getOperation() && in visitAtomicRMWInst() 1885 RMWI.getOperation() <= AtomicRMWInst::LAST_BINOP, in visitAtomicRMWInst()
|
/external/llvm/lib/Transforms/Instrumentation/ |
D | ThreadSanitizer.cpp | 113 Function *TsanAtomicRMW[AtomicRMWInst::LAST_BINOP + 1][kNumberOfAccessSizes]; 175 for (int op = AtomicRMWInst::FIRST_BINOP; in initializeCallbacks() 176 op <= AtomicRMWInst::LAST_BINOP; ++op) { in initializeCallbacks() 179 if (op == AtomicRMWInst::Xchg) in initializeCallbacks() 181 else if (op == AtomicRMWInst::Add) in initializeCallbacks() 183 else if (op == AtomicRMWInst::Sub) in initializeCallbacks() 185 else if (op == AtomicRMWInst::And) in initializeCallbacks() 187 else if (op == AtomicRMWInst::Or) in initializeCallbacks() 189 else if (op == AtomicRMWInst::Xor) in initializeCallbacks() 191 else if (op == AtomicRMWInst::Nand) in initializeCallbacks() [all …]
|
D | BoundsChecking.cpp | 185 isa<AtomicRMWInst>(I)) in runOnFunction() 201 } else if (AtomicRMWInst *AI = dyn_cast<AtomicRMWInst>(Inst)) { in runOnFunction()
|
D | AddressSanitizer.cpp | 632 if (AtomicRMWInst *RMW = dyn_cast<AtomicRMWInst>(I)) { in isInterestingMemoryAccess()
|
/external/clang/lib/CodeGen/ |
D | CGAtomic.cpp | 189 llvm::AtomicRMWInst::BinOp Op = llvm::AtomicRMWInst::Add; in EmitAtomicOp() 244 Op = llvm::AtomicRMWInst::Xchg; in EmitAtomicOp() 252 Op = llvm::AtomicRMWInst::Add; in EmitAtomicOp() 260 Op = llvm::AtomicRMWInst::Sub; in EmitAtomicOp() 268 Op = llvm::AtomicRMWInst::And; in EmitAtomicOp() 276 Op = llvm::AtomicRMWInst::Or; in EmitAtomicOp() 284 Op = llvm::AtomicRMWInst::Xor; in EmitAtomicOp() 291 Op = llvm::AtomicRMWInst::Nand; in EmitAtomicOp() 297 llvm::AtomicRMWInst *RMWI = in EmitAtomicOp()
|
D | CGBuiltin.cpp | 80 llvm::AtomicRMWInst::BinOp Kind, in EmitBinaryAtomic() 113 llvm::AtomicRMWInst::BinOp Kind, in EmitBinaryAtomicPost() 870 return EmitBinaryAtomic(*this, llvm::AtomicRMWInst::Add, E); in EmitBuiltinExpr() 876 return EmitBinaryAtomic(*this, llvm::AtomicRMWInst::Sub, E); in EmitBuiltinExpr() 882 return EmitBinaryAtomic(*this, llvm::AtomicRMWInst::Or, E); in EmitBuiltinExpr() 888 return EmitBinaryAtomic(*this, llvm::AtomicRMWInst::And, E); in EmitBuiltinExpr() 894 return EmitBinaryAtomic(*this, llvm::AtomicRMWInst::Xor, E); in EmitBuiltinExpr() 898 return EmitBinaryAtomic(*this, llvm::AtomicRMWInst::Min, E); in EmitBuiltinExpr() 900 return EmitBinaryAtomic(*this, llvm::AtomicRMWInst::Max, E); in EmitBuiltinExpr() 902 return EmitBinaryAtomic(*this, llvm::AtomicRMWInst::UMin, E); in EmitBuiltinExpr() [all …]
|
D | CGExprScalar.cpp | 1477 return Builder.CreateAtomicRMW(llvm::AtomicRMWInst::Xchg, in EmitScalarPrePostIncDec() 1488 llvm::AtomicRMWInst::BinOp aop = isInc ? llvm::AtomicRMWInst::Add : in EmitScalarPrePostIncDec() 1489 llvm::AtomicRMWInst::Sub; in EmitScalarPrePostIncDec() 1927 llvm::AtomicRMWInst::BinOp aop = llvm::AtomicRMWInst::BAD_BINOP; in EmitCompoundAssignLValue() 1936 aop = llvm::AtomicRMWInst::Add; in EmitCompoundAssignLValue() 1939 aop = llvm::AtomicRMWInst::Sub; in EmitCompoundAssignLValue() 1942 aop = llvm::AtomicRMWInst::And; in EmitCompoundAssignLValue() 1945 aop = llvm::AtomicRMWInst::Xor; in EmitCompoundAssignLValue() 1948 aop = llvm::AtomicRMWInst::Or; in EmitCompoundAssignLValue() 1953 if (aop != llvm::AtomicRMWInst::BAD_BINOP) { in EmitCompoundAssignLValue()
|
/external/llvm/include/llvm/Analysis/ |
D | AliasAnalysis.h | 148 Location getLocation(const AtomicRMWInst *RMWI); 363 return getModRefInfo((const AtomicRMWInst*)I, Loc); in getModRefInfo() 454 ModRefResult getModRefInfo(const AtomicRMWInst *RMW, const Location &Loc); 457 ModRefResult getModRefInfo(const AtomicRMWInst *RMW, in getModRefInfo()
|
/external/llvm/lib/Transforms/IPO/ |
D | MergeFunctions.cpp | 343 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I1)) in isEquivalentOperation() 344 return RMWI->getOperation() == cast<AtomicRMWInst>(I2)->getOperation() && in isEquivalentOperation() 345 RMWI->isVolatile() == cast<AtomicRMWInst>(I2)->isVolatile() && in isEquivalentOperation() 346 RMWI->getOrdering() == cast<AtomicRMWInst>(I2)->getOrdering() && in isEquivalentOperation() 347 RMWI->getSynchScope() == cast<AtomicRMWInst>(I2)->getSynchScope(); in isEquivalentOperation()
|
/external/llvm/lib/Bitcode/Writer/ |
D | BitcodeWriter.cpp | 111 static unsigned GetEncodedRMWOperation(AtomicRMWInst::BinOp Op) { in GetEncodedRMWOperation() 114 case AtomicRMWInst::Xchg: return bitc::RMW_XCHG; in GetEncodedRMWOperation() 115 case AtomicRMWInst::Add: return bitc::RMW_ADD; in GetEncodedRMWOperation() 116 case AtomicRMWInst::Sub: return bitc::RMW_SUB; in GetEncodedRMWOperation() 117 case AtomicRMWInst::And: return bitc::RMW_AND; in GetEncodedRMWOperation() 118 case AtomicRMWInst::Nand: return bitc::RMW_NAND; in GetEncodedRMWOperation() 119 case AtomicRMWInst::Or: return bitc::RMW_OR; in GetEncodedRMWOperation() 120 case AtomicRMWInst::Xor: return bitc::RMW_XOR; in GetEncodedRMWOperation() 121 case AtomicRMWInst::Max: return bitc::RMW_MAX; in GetEncodedRMWOperation() 122 case AtomicRMWInst::Min: return bitc::RMW_MIN; in GetEncodedRMWOperation() [all …]
|
/external/llvm/lib/Target/CppBackend/ |
D | CPPBackend.cpp | 1563 const AtomicRMWInst *rmwi = cast<AtomicRMWInst>(I); in printInstruction() 1568 case AtomicRMWInst::Xchg: Operation = "AtomicRMWInst::Xchg"; break; in printInstruction() 1569 case AtomicRMWInst::Add: Operation = "AtomicRMWInst::Add"; break; in printInstruction() 1570 case AtomicRMWInst::Sub: Operation = "AtomicRMWInst::Sub"; break; in printInstruction() 1571 case AtomicRMWInst::And: Operation = "AtomicRMWInst::And"; break; in printInstruction() 1572 case AtomicRMWInst::Nand: Operation = "AtomicRMWInst::Nand"; break; in printInstruction() 1573 case AtomicRMWInst::Or: Operation = "AtomicRMWInst::Or"; break; in printInstruction() 1574 case AtomicRMWInst::Xor: Operation = "AtomicRMWInst::Xor"; break; in printInstruction() 1575 case AtomicRMWInst::Max: Operation = "AtomicRMWInst::Max"; break; in printInstruction() 1576 case AtomicRMWInst::Min: Operation = "AtomicRMWInst::Min"; break; in printInstruction() [all …]
|
/external/llvm/lib/Bitcode/Reader/ |
D | BitcodeReader.cpp | 157 static AtomicRMWInst::BinOp GetDecodedRMWOperation(unsigned Val) { in GetDecodedRMWOperation() 159 default: return AtomicRMWInst::BAD_BINOP; in GetDecodedRMWOperation() 160 case bitc::RMW_XCHG: return AtomicRMWInst::Xchg; in GetDecodedRMWOperation() 161 case bitc::RMW_ADD: return AtomicRMWInst::Add; in GetDecodedRMWOperation() 162 case bitc::RMW_SUB: return AtomicRMWInst::Sub; in GetDecodedRMWOperation() 163 case bitc::RMW_AND: return AtomicRMWInst::And; in GetDecodedRMWOperation() 164 case bitc::RMW_NAND: return AtomicRMWInst::Nand; in GetDecodedRMWOperation() 165 case bitc::RMW_OR: return AtomicRMWInst::Or; in GetDecodedRMWOperation() 166 case bitc::RMW_XOR: return AtomicRMWInst::Xor; in GetDecodedRMWOperation() 167 case bitc::RMW_MAX: return AtomicRMWInst::Max; in GetDecodedRMWOperation() [all …]
|
/external/llvm/lib/Analysis/ |
D | AliasAnalysis.cpp | 253 AliasAnalysis::getLocation(const AtomicRMWInst *RMWI) { in getLocation() 352 AliasAnalysis::getModRefInfo(const AtomicRMWInst *RMW, const Location &Loc) { in getModRefInfo()
|
/external/llvm/lib/AsmParser/ |
D | LLParser.cpp | 4202 AtomicRMWInst::BinOp Operation; in ParseAtomicRMW() 4209 case lltok::kw_xchg: Operation = AtomicRMWInst::Xchg; break; in ParseAtomicRMW() 4210 case lltok::kw_add: Operation = AtomicRMWInst::Add; break; in ParseAtomicRMW() 4211 case lltok::kw_sub: Operation = AtomicRMWInst::Sub; break; in ParseAtomicRMW() 4212 case lltok::kw_and: Operation = AtomicRMWInst::And; break; in ParseAtomicRMW() 4213 case lltok::kw_nand: Operation = AtomicRMWInst::Nand; break; in ParseAtomicRMW() 4214 case lltok::kw_or: Operation = AtomicRMWInst::Or; break; in ParseAtomicRMW() 4215 case lltok::kw_xor: Operation = AtomicRMWInst::Xor; break; in ParseAtomicRMW() 4216 case lltok::kw_max: Operation = AtomicRMWInst::Max; break; in ParseAtomicRMW() 4217 case lltok::kw_min: Operation = AtomicRMWInst::Min; break; in ParseAtomicRMW() [all …]
|
/external/llvm/include/llvm/ |
D | InstVisitor.h | 178 RetTy visitAtomicRMWInst(AtomicRMWInst &I) { DELEGATE(Instruction);} in visitAtomicRMWInst()
|
/external/llvm/include/llvm/IR/ |
D | Instruction.def | 138 HANDLE_MEMORY_INST(32, AtomicRMW , AtomicRMWInst )
|
D | Instructions.h | 558 class AtomicRMWInst : public Instruction { 561 virtual AtomicRMWInst *clone_impl() const; 600 AtomicRMWInst(BinOp Operation, Value *Ptr, Value *Val, 603 AtomicRMWInst(BinOp Operation, Value *Ptr, Value *Val, 690 struct OperandTraits<AtomicRMWInst> 691 : public FixedNumOperandTraits<AtomicRMWInst,2> { 694 DEFINE_TRANSPARENT_OPERAND_ACCESSORS(AtomicRMWInst, Value)
|
D | IRBuilder.h | 884 AtomicRMWInst *CreateAtomicRMW(AtomicRMWInst::BinOp Op, Value *Ptr, Value *Val, 887 return Insert(new AtomicRMWInst(Op, Ptr, Val, Ordering, SynchScope));
|
/external/llvm/lib/CodeGen/SelectionDAG/ |
D | SelectionDAGBuilder.h | 521 void visitAtomicRMW(const AtomicRMWInst &I);
|
D | SelectionDAGBuilder.cpp | 3473 void SelectionDAGBuilder::visitAtomicRMW(const AtomicRMWInst &I) { in visitAtomicRMW() 3478 case AtomicRMWInst::Xchg: NT = ISD::ATOMIC_SWAP; break; in visitAtomicRMW() 3479 case AtomicRMWInst::Add: NT = ISD::ATOMIC_LOAD_ADD; break; in visitAtomicRMW() 3480 case AtomicRMWInst::Sub: NT = ISD::ATOMIC_LOAD_SUB; break; in visitAtomicRMW() 3481 case AtomicRMWInst::And: NT = ISD::ATOMIC_LOAD_AND; break; in visitAtomicRMW() 3482 case AtomicRMWInst::Nand: NT = ISD::ATOMIC_LOAD_NAND; break; in visitAtomicRMW() 3483 case AtomicRMWInst::Or: NT = ISD::ATOMIC_LOAD_OR; break; in visitAtomicRMW() 3484 case AtomicRMWInst::Xor: NT = ISD::ATOMIC_LOAD_XOR; break; in visitAtomicRMW() 3485 case AtomicRMWInst::Max: NT = ISD::ATOMIC_LOAD_MAX; break; in visitAtomicRMW() 3486 case AtomicRMWInst::Min: NT = ISD::ATOMIC_LOAD_MIN; break; in visitAtomicRMW() [all …]
|