Home
last modified time | relevance | path

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

12

/external/swiftshader/third_party/subzero/tests_lit/llvm2ice_tests/
Dloop-nest-depth.ll32 ; CHECK-LABEL: Before RMW
62 ; CHECK-LABEL: Before RMW
92 ; CHECK-LABEL: Before RMW
126 ; CHECK-LABEL: Before RMW
166 ; CHECK-LABEL: Before RMW
212 ; CHECK-LABEL: Before RMW
255 ; CHECK-LABEL: Before RMW
281 ; CHECK-LABEL: Before RMW
306 ; CHECK-LABEL: Before RMW
Dias-multi-reloc.ll30 ; Also exercises the RMW add operation.
Dnonsfi.ll152 ; Expect an RMW optimization with a R_386_GOTOFF relocation.
Drmw.ll1 ; This tests Read-Modify-Write (RMW) detection and lowering at the O2
Dnacl-atomic-errors.ll80 ;;; RMW
/external/swiftshader/third_party/LLVM/lib/Analysis/
DAliasAnalysis.cpp347 AliasAnalysis::getModRefInfo(const AtomicRMWInst *RMW, const Location &Loc) { in getModRefInfo() argument
349 if (RMW->getOrdering() > Monotonic) in getModRefInfo()
353 if (!alias(getLocation(RMW), Loc)) in getModRefInfo()
/external/swiftshader/third_party/LLVM/include/llvm/Analysis/
DAliasAnalysis.h441 ModRefResult getModRefInfo(const AtomicRMWInst *RMW, const Location &Loc);
444 ModRefResult getModRefInfo(const AtomicRMWInst *RMW, in getModRefInfo() argument
446 return getModRefInfo(RMW, Location(P, Size)); in getModRefInfo()
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Transforms/Instrumentation/
DHWAddressSanitizer.cpp340 } else if (AtomicRMWInst *RMW = dyn_cast<AtomicRMWInst>(I)) { in isInterestingMemoryAccess() local
343 *TypeSize = DL.getTypeStoreSizeInBits(RMW->getValOperand()->getType()); in isInterestingMemoryAccess()
345 PtrOperand = RMW->getPointerOperand(); in isInterestingMemoryAccess()
377 if (AtomicRMWInst *RMW = dyn_cast<AtomicRMWInst>(I)) in getPointerOperandIndex() local
378 return RMW->getPointerOperandIndex(); in getPointerOperandIndex()
DEfficiencySanitizer.cpp675 } else if (AtomicRMWInst *RMW = dyn_cast<AtomicRMWInst>(I)) { in instrumentLoadOrStore() local
678 Addr = RMW->getPointerOperand(); in instrumentLoadOrStore()
/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/swiftshader/third_party/llvm-7.0/llvm/lib/Transforms/Scalar/
DInferAddressSpaces.cpp366 else if (auto *RMW = dyn_cast<AtomicRMWInst>(&I)) in collectFlatAddressExpressions() local
367 PushPtrOperand(RMW->getPointerOperand()); in collectFlatAddressExpressions()
765 if (auto *RMW = dyn_cast<AtomicRMWInst>(Inst)) in isSimplePointerUseValidToReplace() local
767 (VolatileIsAllowed || !RMW->isVolatile()); in isSimplePointerUseValidToReplace()
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Analysis/
DAliasAnalysis.cpp521 ModRefInfo AAResults::getModRefInfo(const AtomicRMWInst *RMW, in getModRefInfo() argument
524 if (isStrongerThanMonotonic(RMW->getOrdering())) in getModRefInfo()
528 AliasResult AR = alias(MemoryLocation::get(RMW), Loc); in getModRefInfo()
/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-7.0/llvm/include/llvm/Analysis/
DAliasAnalysis.h578 ModRefInfo getModRefInfo(const AtomicRMWInst *RMW, const MemoryLocation &Loc);
581 ModRefInfo getModRefInfo(const AtomicRMWInst *RMW, const Value *P, in getModRefInfo() argument
583 return getModRefInfo(RMW, MemoryLocation(P, Size)); in getModRefInfo()
/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-7.0/llvm/test/CodeGen/WebAssembly/
Datomic-mem-consistency.ll95 ; Out of several binary RMW instructions, here we test 'add' as an example.
Doffset-atomics.ll661 ; There are several RMW instructions, but here we only test 'add' as an example.
663 ; Basic RMW.
757 ; Basic RMW.
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Target/WebAssembly/
DWebAssemblyInstrAtomics.td503 // Truncating & zero-extending binary RMW patterns.
524 // Truncating & sign-extending binary RMW patterns.
527 // 64-bit) and select a zext RMW; the next instruction will be sext_inreg which
536 // 32->64 sext RMW gets selected as i32.atomic.rmw.***, i64.extend_s/i32
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Target/AMDGPU/
DAMDGPUPromoteAlloca.cpp535 } else if (AtomicRMWInst *RMW = dyn_cast<AtomicRMWInst>(UseInst)) { in collectUsesWithPtrTypes() local
536 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()
DAddressSanitizer.cpp958 } else if (AtomicRMWInst *RMW = dyn_cast<AtomicRMWInst>(I)) { in isInterestingMemoryAccess() local
961 *TypeSize = DL.getTypeStoreSizeInBits(RMW->getValOperand()->getType()); in isInterestingMemoryAccess()
963 PtrOperand = RMW->getPointerOperand(); in isInterestingMemoryAccess()
/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/
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.h782 auto *RMW = InstX86FakeRMW::create(Func, ArithSrcOther, Store->getAddr(),
784 Node->getInsts().insert(I3, RMW);
7225 void TargetX86Base<TraitsType>::lowerRMW(const InstX86FakeRMW *RMW) {
7232 if (!RMW->isLastUse(RMW->getBeacon()))
7234 Operand *Src = RMW->getData();
7236 X86OperandMem *Addr = formMemoryOperand(RMW->getAddr(), Ty);
7244 switch (RMW->getOp()) {
7272 switch (RMW->getOp()) {
7303 if (const auto *RMW = llvm::dyn_cast<InstX86FakeRMW>(Instr)) {
7304 lowerRMW(RMW);
/external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/
DCodeGenPrepare.cpp4152 if (AtomicRMWInst *RMW = dyn_cast<AtomicRMWInst>(UserI)) { in FindAllMemoryUses() local
4156 MemoryUses.push_back(std::make_pair(RMW, opNo)); in FindAllMemoryUses()
6580 if (AtomicRMWInst *RMW = dyn_cast<AtomicRMWInst>(I)) { in optimizeInst() local
6581 unsigned AS = RMW->getPointerAddressSpace(); in optimizeInst()
6582 return optimizeMemoryInst(I, RMW->getPointerOperand(), in optimizeInst()
6583 RMW->getType(), AS); in optimizeInst()

12