Home
last modified time | relevance | path

Searched refs:RMW (Results 1 – 25 of 58) sorted by relevance

123

/external/llvm-project/llvm/lib/Analysis/
DAliasAnalysis.cpp622 ModRefInfo AAResults::getModRefInfo(const AtomicRMWInst *RMW, in getModRefInfo() argument
625 return getModRefInfo(RMW, Loc, AAQIP); in getModRefInfo()
628 ModRefInfo AAResults::getModRefInfo(const AtomicRMWInst *RMW, in getModRefInfo() argument
632 if (isStrongerThanMonotonic(RMW->getOrdering())) in getModRefInfo()
636 AliasResult AR = alias(MemoryLocation::get(RMW), Loc, AAQI); in getModRefInfo()
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/
DAliasAnalysis.cpp604 ModRefInfo AAResults::getModRefInfo(const AtomicRMWInst *RMW, in getModRefInfo() argument
607 return getModRefInfo(RMW, Loc, AAQIP); in getModRefInfo()
610 ModRefInfo AAResults::getModRefInfo(const AtomicRMWInst *RMW, in getModRefInfo() argument
614 if (isStrongerThanMonotonic(RMW->getOrdering())) in getModRefInfo()
618 AliasResult AR = alias(MemoryLocation::get(RMW), Loc, AAQI); in getModRefInfo()
/external/llvm/lib/Analysis/
DAliasAnalysis.cpp407 ModRefInfo AAResults::getModRefInfo(const AtomicRMWInst *RMW, in getModRefInfo() argument
410 if (isStrongerThanMonotonic(RMW->getOrdering())) in getModRefInfo()
414 if (Loc.Ptr && !alias(MemoryLocation::get(RMW), Loc)) in getModRefInfo()
/external/llvm-project/llvm/lib/Transforms/Instrumentation/
DMemProfiler.cpp348 } else if (AtomicRMWInst *RMW = dyn_cast<AtomicRMWInst>(I)) { in isInterestingMemoryAccess() local
353 DL.getTypeStoreSizeInBits(RMW->getValOperand()->getType()); in isInterestingMemoryAccess()
355 Access.Addr = RMW->getPointerOperand(); in isInterestingMemoryAccess()
DHWAddressSanitizer.cpp661 } else if (AtomicRMWInst *RMW = dyn_cast<AtomicRMWInst>(I)) { in getInterestingMemoryOperands() local
662 if (!ClInstrumentAtomics || ignoreAccess(RMW->getPointerOperand())) in getInterestingMemoryOperands()
664 Interesting.emplace_back(I, RMW->getPointerOperandIndex(), true, in getInterestingMemoryOperands()
665 RMW->getValOperand()->getType(), None); in getInterestingMemoryOperands()
687 if (AtomicRMWInst *RMW = dyn_cast<AtomicRMWInst>(I)) in getPointerOperandIndex() local
688 return RMW->getPointerOperandIndex(); in getPointerOperandIndex()
DAddressSanitizer.cpp1390 } else if (AtomicRMWInst *RMW = dyn_cast<AtomicRMWInst>(I)) { in getInterestingMemoryOperands() local
1391 if (!ClInstrumentAtomics || ignoreAccess(RMW->getPointerOperand())) in getInterestingMemoryOperands()
1393 Interesting.emplace_back(I, RMW->getPointerOperandIndex(), true, in getInterestingMemoryOperands()
1394 RMW->getValOperand()->getType(), None); in getInterestingMemoryOperands()
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/
DInferAddressSpaces.cpp364 else if (auto *RMW = dyn_cast<AtomicRMWInst>(&I)) in collectFlatAddressExpressions() local
365 PushPtrOperand(RMW->getPointerOperand()); in collectFlatAddressExpressions()
772 if (auto *RMW = dyn_cast<AtomicRMWInst>(Inst)) in isSimplePointerUseValidToReplace() local
774 (VolatileIsAllowed || !RMW->isVolatile()); in isSimplePointerUseValidToReplace()
/external/llvm/include/llvm/Analysis/
DAliasAnalysis.h418 ModRefInfo getModRefInfo(const AtomicRMWInst *RMW, const MemoryLocation &Loc);
421 ModRefInfo getModRefInfo(const AtomicRMWInst *RMW, const Value *P, in getModRefInfo() argument
423 return getModRefInfo(RMW, MemoryLocation(P, Size)); in getModRefInfo()
/external/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Analysis/
DAliasAnalysis.h575 ModRefInfo getModRefInfo(const AtomicRMWInst *RMW, const MemoryLocation &Loc);
578 ModRefInfo getModRefInfo(const AtomicRMWInst *RMW, const Value *P, in getModRefInfo() argument
580 return getModRefInfo(RMW, MemoryLocation(P, Size)); in getModRefInfo()
713 ModRefInfo getModRefInfo(const AtomicRMWInst *RMW, const MemoryLocation &Loc,
/external/llvm-project/llvm/include/llvm/Analysis/
DAliasAnalysis.h627 ModRefInfo getModRefInfo(const AtomicRMWInst *RMW, const MemoryLocation &Loc);
630 ModRefInfo getModRefInfo(const AtomicRMWInst *RMW, const Value *P, in getModRefInfo() argument
632 return getModRefInfo(RMW, MemoryLocation(P, Size)); in getModRefInfo()
762 ModRefInfo getModRefInfo(const AtomicRMWInst *RMW, const MemoryLocation &Loc,
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Target/WebAssembly/
DWebAssemblyInstrAtomics.td519 // Truncating & zero-extending binary RMW patterns.
540 // Truncating & sign-extending binary RMW patterns.
543 // 64-bit) and select a zext RMW; the next instruction will be sext_inreg which
552 // 32->64 sext RMW gets selected as i32.atomic.rmw.***, i64.extend_i32_s
721 // Truncating & zero-extending ternary RMW patterns.
742 // Truncating & sign-extending ternary RMW patterns.
744 // zext RMW; the next instruction will be sext_inreg which is selected by
757 // 32->64 sext RMW gets selected as i32.atomic.rmw.***, i64.extend_i32_s
/external/llvm-project/llvm/lib/Transforms/Scalar/
DInferAddressSpaces.cpp440 else if (auto *RMW = dyn_cast<AtomicRMWInst>(&I)) in collectFlatAddressExpressions() local
441 PushPtrOperand(RMW->getPointerOperand()); in collectFlatAddressExpressions()
914 if (auto *RMW = dyn_cast<AtomicRMWInst>(Inst)) in isSimplePointerUseValidToReplace() local
916 (VolatileIsAllowed || !RMW->isVolatile()); in isSimplePointerUseValidToReplace()
/external/llvm-project/llvm/lib/Target/WebAssembly/
DWebAssemblyInstrAtomics.td650 // Truncating & zero-extending binary RMW patterns.
671 // Truncating & sign-extending binary RMW patterns.
674 // 64-bit) and select a zext RMW; the next instruction will be sext_inreg which
683 // 32->64 sext RMW gets selected as i32.atomic.rmw.***, i64.extend_i32_s
885 // Truncating & zero-extending ternary RMW patterns.
906 // Truncating & sign-extending ternary RMW patterns.
908 // zext RMW; the next instruction will be sext_inreg which is selected by
921 // 32->64 sext RMW gets selected as i32.atomic.rmw.***, i64.extend_i32_s
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Instrumentation/
DHWAddressSanitizer.cpp529 } else if (AtomicRMWInst *RMW = dyn_cast<AtomicRMWInst>(I)) { in isInterestingMemoryAccess() local
532 *TypeSize = DL.getTypeStoreSizeInBits(RMW->getValOperand()->getType()); in isInterestingMemoryAccess()
534 PtrOperand = RMW->getPointerOperand(); in isInterestingMemoryAccess()
566 if (AtomicRMWInst *RMW = dyn_cast<AtomicRMWInst>(I)) in getPointerOperandIndex() local
567 return RMW->getPointerOperandIndex(); in getPointerOperandIndex()
/external/llvm-project/llvm/test/CodeGen/WebAssembly/
Datomic-mem-consistency.ll95 ; Out of several binary RMW instructions, here we test 'add' as an example.
143 ; Ternary RMW instruction: cmpxchg
Doffset-atomics.ll661 ; There are several RMW instructions, but here we only test 'add' as an example.
663 ; Basic RMW.
757 ; Basic RMW.
1078 ; Basic RMW.
1180 ; Basic RMW.
/external/mesa3d/docs/relnotes/
D20.1.6.rst93 - spirv: Don't emit RMW for vector indexing in shared or global
/external/llvm/lib/Target/AMDGPU/
DAMDGPUPromoteAlloca.cpp571 } else if (AtomicRMWInst *RMW = dyn_cast_or_null<AtomicRMWInst>(UseInst)) { in collectUsesWithPtrTypes() local
572 if (RMW->isVolatile()) in collectUsesWithPtrTypes()
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Target/AMDGPU/
DAMDGPUPromoteAlloca.cpp558 } else if (AtomicRMWInst *RMW = dyn_cast<AtomicRMWInst>(UseInst)) { in collectUsesWithPtrTypes() local
559 if (RMW->isVolatile()) in collectUsesWithPtrTypes()
/external/llvm/lib/Transforms/Instrumentation/
DEfficiencySanitizer.cpp661 } else if (AtomicRMWInst *RMW = dyn_cast<AtomicRMWInst>(I)) { in instrumentLoadOrStore() local
664 Addr = RMW->getPointerOperand(); in instrumentLoadOrStore()
/external/llvm-project/llvm/lib/Target/AMDGPU/
DAMDGPUPromoteAlloca.cpp662 } else if (AtomicRMWInst *RMW = dyn_cast<AtomicRMWInst>(UseInst)) { in collectUsesWithPtrTypes() local
663 if (RMW->isVolatile()) in collectUsesWithPtrTypes()
/external/tensorflow/tensorflow/compiler/mlir/hlo/tests/
Dlhlo-legalize-select-and-scatter.mlir189 // Atomic RMW terminator that returns updated value.
/external/swiftshader/third_party/subzero/
DDESIGN.rst63 | Read-modify-write (RMW) transform | |
527 - Read-modify-write (RMW) transformation
926 Subzero's ``O2`` recipe includes an early pass to find read-modify-write (RMW)
929 range ends after the RMW. Since liveness analysis is one of the most expensive
930 passes, it's not attractive to run it an extra time just for RMW analysis.
931 Instead, we essentially generate both the RMW and the non-RMW versions, and then
932 during lowering, the RMW version deletes itself if it finds x still live.
/external/swiftshader/third_party/subzero/docs/
DDESIGN.rst63 | Read-modify-write (RMW) transform | |
527 - Read-modify-write (RMW) transformation
926 Subzero's ``O2`` recipe includes an early pass to find read-modify-write (RMW)
929 range ends after the RMW. Since liveness analysis is one of the most expensive
930 passes, it's not attractive to run it an extra time just for RMW analysis.
931 Instead, we essentially generate both the RMW and the non-RMW versions, and then
932 during lowering, the RMW version deletes itself if it finds x still live.
/external/swiftshader/third_party/subzero/src/
DIceTargetLoweringX86BaseImpl.h779 auto *RMW =
782 Node->getInsts().insert(I3, RMW);
7276 void TargetX86Base<TraitsType>::lowerRMW(const InstX86FakeRMW *RMW) {
7283 if (!RMW->isLastUse(RMW->getBeacon()))
7285 Operand *Src = RMW->getData();
7287 X86OperandMem *Addr = formMemoryOperand(RMW->getAddr(), Ty);
7295 switch (RMW->getOp()) {
7323 switch (RMW->getOp()) {
7354 if (const auto *RMW = llvm::dyn_cast<InstX86FakeRMW>(Instr)) {
7355 lowerRMW(RMW);

123