HomeSort by: relevance | last modified time | path
    Searched refs:RMWI (Results 1 - 20 of 20) sorted by relevancy

  /src/external/apache2/llvm/dist/llvm/lib/Transforms/InstCombine/
InstCombineAtomicRMW.cpp 25 bool isIdempotentRMW(AtomicRMWInst& RMWI) {
26 if (auto CF = dyn_cast<ConstantFP>(RMWI.getValOperand()))
27 switch(RMWI.getOperation()) {
36 auto C = dyn_cast<ConstantInt>(RMWI.getValOperand());
40 switch(RMWI.getOperation()) {
63 bool isSaturating(AtomicRMWInst& RMWI) {
64 if (auto CF = dyn_cast<ConstantFP>(RMWI.getValOperand()))
65 switch(RMWI.getOperation()) {
73 auto C = dyn_cast<ConstantInt>(RMWI.getValOperand());
77 switch(RMWI.getOperation())
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/NVPTX/
NVPTXAtomicLower.cpp 48 if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(&I))
49 if (RMWI->getPointerAddressSpace() == ADDRESS_SPACE_LOCAL)
50 LocalMemoryAtomics.push_back(RMWI);
53 for (AtomicRMWInst *RMWI : LocalMemoryAtomics)
54 Changed |= lowerAtomicRMWInst(RMWI);
  /src/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Scalar/
LowerAtomic.h 29 /// Convert the given RMWI into primitive load and stores,
32 bool lowerAtomicRMWInst(AtomicRMWInst *RMWI);
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/
LowerAtomic.cpp 43 bool llvm::lowerAtomicRMWInst(AtomicRMWInst *RMWI) {
44 IRBuilder<> Builder(RMWI);
45 Value *Ptr = RMWI->getPointerOperand();
46 Value *Val = RMWI->getValOperand();
51 switch (RMWI->getOperation()) {
98 RMWI->replaceAllUsesWith(Orig);
99 RMWI->eraseFromParent();
125 else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(&Inst))
126 Changed |= lowerAtomicRMWInst(RMWI);
  /src/external/apache2/llvm/dist/llvm/lib/Analysis/
MemoryLocation.cpp 77 MemoryLocation MemoryLocation::get(const AtomicRMWInst *RMWI) {
79 RMWI->getAAMetadata(AATags);
80 const auto &DL = RMWI->getModule()->getDataLayout();
82 return MemoryLocation(RMWI->getPointerOperand(),
84 RMWI->getValOperand()->getType())),
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/
AtomicExpandPass.cpp 106 bool isIdempotentRMW(AtomicRMWInst *RMWI);
107 bool simplifyIdempotentRMW(AtomicRMWInst *RMWI);
146 static unsigned getAtomicOpSize(AtomicRMWInst *RMWI) {
147 const DataLayout &DL = RMWI->getModule()->getDataLayout();
148 return DL.getTypeStoreSize(RMWI->getValOperand()->getType());
191 auto RMWI = dyn_cast<AtomicRMWInst>(I);
193 assert((LI || SI || RMWI || CASI) && "Unknown atomic instruction");
208 } else if (RMWI) {
209 if (!atomicSizeSupported(TLI, RMWI)) {
210 expandAtomicRMWToLibcall(RMWI);
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/IR/
Instruction.cpp 457 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I1))
458 return RMWI->getOperation() == cast<AtomicRMWInst>(I2)->getOperation() &&
459 RMWI->isVolatile() == cast<AtomicRMWInst>(I2)->isVolatile() &&
460 RMWI->getOrdering() == cast<AtomicRMWInst>(I2)->getOrdering() &&
461 RMWI->getSyncScopeID() == cast<AtomicRMWInst>(I2)->getSyncScopeID();
Verifier.cpp 523 void visitAtomicRMWInst(AtomicRMWInst &RMWI);
3836 void Verifier::visitAtomicRMWInst(AtomicRMWInst &RMWI) {
3837 Assert(RMWI.getOrdering() != AtomicOrdering::Unordered,
3838 "atomicrmw instructions cannot be unordered.", &RMWI);
3839 auto Op = RMWI.getOperation();
3840 Type *ElTy = RMWI.getOperand(1)->getType();
3845 &RMWI, ElTy);
3850 &RMWI, ElTy);
3855 &RMWI, ElTy);
3857 checkAtomicMemAccessSize(ElTy, &RMWI);
    [all...]
AsmWriter.cpp 4004 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(&I))
4005 Out << ' ' << AtomicRMWInst::getOperationName(RMWI->getOperation());
4363 } else if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(&I)) {
4364 writeAtomic(RMWI->getContext(), RMWI->getOrdering(),
4365 RMWI->getSyncScopeID());
4366 Out << ", align " << RMWI->getAlign().value();
Core.cpp 2054 if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(P))
2055 return RMWI->getAlign().value();
2074 else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(P))
2075 RMWI->setAlignment(Align(Bytes));
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Instrumentation/
ThreadSanitizer.cpp 772 } else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I)) {
773 Value *Addr = RMWI->getPointerOperand();
777 FunctionCallee F = TsanAtomicRMW[RMWI->getOperation()][Idx];
785 IRB.CreateIntCast(RMWI->getValOperand(), Ty, false),
786 createOrdering(&IRB, RMWI->getOrdering())};
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/
FunctionComparator.cpp 653 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(L)) {
654 if (int Res = cmpNumbers(RMWI->getOperation(),
657 if (int Res = cmpNumbers(RMWI->isVolatile(),
660 if (int Res = cmpOrderings(RMWI->getOrdering(),
663 return cmpNumbers(RMWI->getSyncScopeID(),
InlineFunction.cpp 1026 else if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I))
1027 PtrArgs.push_back(RMWI->getPointerOperand());
SimplifyCFG.cpp 4677 } else if (auto *RMWI = dyn_cast<AtomicRMWInst>(BBI)) {
4678 if (RMWI->isVolatile())
  /src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/
MemoryLocation.h 240 static MemoryLocation get(const AtomicRMWInst *RMWI);
  /src/external/apache2/llvm/dist/clang/lib/CodeGen/
CGAtomic.cpp 673 llvm::AtomicRMWInst *RMWI =
675 RMWI->setVolatile(E->isVolatile());
679 llvm::Value *Result = RMWI;
683 RMWI, LoadVal1);
685 Result = CGF.Builder.CreateBinOp((llvm::Instruction::BinaryOps)PostOp, RMWI,
CGBuiltin.cpp 10372 AtomicRMWInst *RMWI = Builder.CreateAtomicRMW(
10375 return Builder.CreateAdd(RMWI, Arg1);
  /src/external/apache2/llvm/dist/llvm/lib/AsmParser/
LLParser.cpp 7701 AtomicRMWInst *RMWI =
7704 RMWI->setVolatile(isVolatile);
7705 Inst = RMWI;
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/IPO/
AttributorAttributes.cpp 173 if (auto *RMWI = dyn_cast<AtomicRMWInst>(I)) {
174 return RMWI->getPointerOperand();
  /src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/
TargetLowering.h 2004 lowerIdempotentRMWIntoFencedLoad(AtomicRMWInst *RMWI) const {

Completed in 76 milliseconds