Home
last modified time | relevance | path

Searched refs:storeOp (Results 1 – 21 of 21) sorted by relevance

/llvm-project-15.0.7/flang/lib/Optimizer/Transforms/
H A DMemRefDataFlowOpt.cpp50 for (auto storeOp : storeOps) in findStoreToForward() local
51 if (domInfo->dominates(storeOp, loadOp)) in findStoreToForward()
52 candidateSet.push_back(storeOp); in findStoreToForward()
84 llvm::Optional<ReadOp> findReadForWrite(WriteOp storeOp, in findReadForWrite() argument
87 if (domInfo->dominates(storeOp, loadOp)) in findReadForWrite()
108 auto storeOp = *maybeStore; in runOnOperation() local
111 << " with value from " << storeOp << '\n'); in runOnOperation()
112 loadOp.getResult().replaceAllUsesWith(storeOp.getValue()); in runOnOperation()
119 storeOp, getSpecificUsers<fir::LoadOp>(storeOp.getMemref()))) { in runOnOperation()
121 << " erasing store " << storeOp << '\n'); in runOnOperation()
[all …]
H A DAffinePromotion.cpp140 for (auto storeOp : loopOperation.getOps<fir::StoreOp>()) in analyzeMemoryAccess() local
141 if (!analyzeReference(storeOp.getMemref(), storeOp)) in analyzeMemoryAccess()
422 static void rewriteStore(fir::StoreOp storeOp, in rewriteStore() argument
424 rewriter.setInsertionPoint(storeOp); in rewriteStore()
425 auto affineOps = createAffineOps(storeOp.getMemref(), rewriter); in rewriteStore()
426 rewriter.replaceOpWithNewOp<mlir::AffineStoreOp>(storeOp, storeOp.getValue(), in rewriteStore()
H A DArrayValueCopy.cpp1118 auto *storeOp = useMap.lookup(loadOp); in referenceToClone() local
1119 auto store = mlir::cast<ArrayMergeStoreOp>(storeOp); in referenceToClone()
1120 rewriter.setInsertionPoint(storeOp); in referenceToClone()
1167 auto *storeOp = useMap.lookup(loadOp); in materializeAssignment() local
1168 auto store = mlir::cast<ArrayMergeStoreOp>(storeOp); in materializeAssignment()
1169 rewriter.setInsertionPoint(storeOp); in materializeAssignment()
/llvm-project-15.0.7/mlir/lib/Dialect/MemRef/Transforms/
H A DFoldSubViewOps.cpp152 LogicalResult matchAndRewrite(OpTy storeOp,
156 void replaceOp(OpTy storeOp, memref::SubViewOp subViewOp,
187 StoreOpTy storeOp, memref::SubViewOp subViewOp, in replaceOp() argument
189 rewriter.replaceOpWithNewOp<StoreOpTy>(storeOp, storeOp.getValue(), in replaceOp()
229 StoreOpOfSubViewFolder<OpTy>::matchAndRewrite(OpTy storeOp, in matchAndRewrite() argument
232 getMemRefOperand(storeOp).template getDefiningOp<memref::SubViewOp>(); in matchAndRewrite()
237 if (failed(resolveSourceIndices(storeOp.getLoc(), rewriter, subViewOp, in matchAndRewrite()
238 storeOp.getIndices(), sourceIndices))) in matchAndRewrite()
241 replaceOp(storeOp, subViewOp, sourceIndices, rewriter); in matchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Conversion/MemRefToSPIRV/
H A DMemRefToSPIRV.cpp225 matchAndRewrite(memref::StoreOp storeOp, OpAdaptor adaptor,
235 matchAndRewrite(memref::StoreOp storeOp, OpAdaptor adaptor,
431 IntStoreOpPattern::matchAndRewrite(memref::StoreOp storeOp, OpAdaptor adaptor, in matchAndRewrite() argument
433 auto memrefType = storeOp.getMemref().getType().cast<MemRefType>(); in matchAndRewrite()
437 auto loc = storeOp.getLoc(); in matchAndRewrite()
470 storeOp, accessChainOp.getResult(), storeVal); in matchAndRewrite()
517 rewriter.eraseOp(storeOp); in matchAndRewrite()
526 StoreOpPattern::matchAndRewrite(memref::StoreOp storeOp, OpAdaptor adaptor, in matchAndRewrite() argument
528 auto memrefType = storeOp.getMemref().getType().cast<MemRefType>(); in matchAndRewrite()
533 adaptor.getIndices(), storeOp.getLoc(), rewriter); in matchAndRewrite()
[all …]
/llvm-project-15.0.7/mlir/lib/Dialect/SPIRV/Transforms/
H A DUnifyAliasedResourcePass.cpp220 if (auto storeOp = dyn_cast<spirv::StoreOp>(op)) in shouldUnify() local
221 return shouldUnify(storeOp.ptr().getDefiningOp()); in shouldUnify()
479 matchAndRewrite(spirv::StoreOp storeOp, OpAdaptor adaptor, in matchAndRewrite()
482 storeOp.ptr().getType().cast<spirv::PointerType>().getPointeeType(); in matchAndRewrite()
486 return rewriter.notifyMatchFailure(storeOp, "not scalar type"); in matchAndRewrite()
488 return rewriter.notifyMatchFailure(storeOp, "different bitwidth"); in matchAndRewrite()
490 Location loc = storeOp.getLoc(); in matchAndRewrite()
494 rewriter.replaceOpWithNewOp<spirv::StoreOp>(storeOp, adaptor.ptr(), value, in matchAndRewrite()
495 storeOp->getAttrs()); in matchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Dialect/Affine/Utils/
H A DLoopFusionUtils.cpp45 } else if (auto storeOp = dyn_cast<AffineWriteOpInterface>(op)) { in getLoadAndStoreMemRefAccesses() local
46 values[storeOp.getMemRef()] = true; in getLoadAndStoreMemRefAccesses()
59 if (auto storeOp = dyn_cast<AffineWriteOpInterface>(op)) { in isDependentLoadOrStoreOp() local
60 return values.count(storeOp.getMemRef()) > 0; in isDependentLoadOrStoreOp()
604 if (auto storeOp = dyn_cast<AffineWriteOpInterface>(op)) { in getFusionComputeCost() local
605 storeMemrefs.insert(storeOp.getMemRef()); in getFusionComputeCost()
656 if (auto storeOp = dyn_cast<AffineWriteOpInterface>(op)) in gatherProducerConsumerMemrefs() local
657 srcStoreMemRefs.insert(storeOp.getMemRef()); in gatherProducerConsumerMemrefs()
H A DUtils.cpp844 auto storeOp = dyn_cast<AffineWriteOpInterface>(user); in forwardStoreToLoad() local
845 if (!storeOp) in forwardStoreToLoad()
847 MemRefAccess srcAccess(storeOp); in forwardStoreToLoad()
862 if (!domInfo.dominates(storeOp, loadOp)) in forwardStoreToLoad()
867 if (!hasNoInterveningEffect<MemoryEffects::Write>(storeOp, loadOp)) in forwardStoreToLoad()
873 lastWriteStoreOp = storeOp; in forwardStoreToLoad()
1046 f.walk([&](AffineWriteOpInterface storeOp) { in affineScalarReplace() argument
1047 findUnusedStore(storeOp, opsToErase, postDomInfo); in affineScalarReplace()
H A DLoopUtils.cpp2334 } else if (auto storeOp = dyn_cast<AffineStoreOp>(op)) { in getFullMemRefAsRegion() local
2335 rank = storeOp.getMemRefType().getRank(); in getFullMemRefAsRegion()
2336 region->memref = storeOp.getMemRef(); in getFullMemRefAsRegion()
2412 } else if (auto storeOp = dyn_cast<AffineStoreOp>(opInst)) { in affineDataCopyGenerate() local
2413 if ((filterMemRef.has_value() && filterMemRef != storeOp.getMemRef()) || in affineDataCopyGenerate()
2414 storeOp.getMemRefType().getMemorySpaceAsInt() != in affineDataCopyGenerate()
/llvm-project-15.0.7/mlir/lib/Dialect/Affine/Transforms/
H A DSuperVectorize.cpp1210 static Operation *vectorizeAffineStore(AffineStoreOp storeOp, in vectorizeAffineStore() argument
1212 MemRefType memRefType = storeOp.getMemRefType(); in vectorizeAffineStore()
1213 Value vectorValue = vectorizeOperand(storeOp.getValueToStore(), state); in vectorizeAffineStore()
1219 state.getScalarValueReplacementsFor(storeOp.getMapOperands(), mapOperands); in vectorizeAffineStore()
1224 if (storeOp.getAffineMap() != in vectorizeAffineStore()
1226 computeMemoryOpIndices(storeOp, storeOp.getAffineMap(), mapOperands, state, in vectorizeAffineStore()
1240 storeOp.getLoc(), vectorValue, storeOp.getMemRef(), indices, in vectorizeAffineStore()
1245 state.registerOpVectorReplacement(storeOp, transfer); in vectorizeAffineStore()
1481 if (auto storeOp = dyn_cast<AffineStoreOp>(op)) in vectorizeOneOperation() local
1482 return vectorizeAffineStore(storeOp, state); in vectorizeOneOperation()
H A DLoopFusion.cpp681 auto storeOp = cast<AffineWriteOpInterface>(op); in getProducerCandidates() local
682 return consumedMemrefs.count(storeOp.getMemRef()) > 0; in getProducerCandidates()
774 } else if (auto storeOp = dyn_cast<AffineWriteOpInterface>(op)) { in init() local
1640 dstAffineForOp.walk([&](AffineWriteOpInterface storeOp) { in fuseProducerConsumerNodes() argument
1641 Value storeMemRef = storeOp.getMemRef(); in fuseProducerConsumerNodes()
1644 storeOp.getOperation()); in fuseProducerConsumerNodes()
/llvm-project-15.0.7/mlir/lib/Dialect/SPIRV/IR/
H A DSPIRVCanonicalization.cpp364 auto storeOp = cast<spirv::StoreOp>(block->front()); in getSrcValue() local
365 return storeOp.value(); in getSrcValue()
370 auto storeOp = cast<spirv::StoreOp>(block->front()); in getDstPtr() local
371 return storeOp.ptr(); in getDstPtr()
/llvm-project-15.0.7/mlir/lib/Dialect/NVGPU/Transforms/
H A DOptimizeSharedMemory.cpp109 if (auto storeOp = dyn_cast<memref::StoreOp>(op)) in getIndices() local
110 return storeOp.getIndices(); in getIndices()
125 if (auto storeOp = dyn_cast<memref::StoreOp>(op)) in setIndices() local
126 return storeOp.getIndicesMutable().assign(indices); in setIndices()
/llvm-project-15.0.7/mlir/test/lib/Dialect/Affine/
H A DTestAffineDataCopy.cpp117 else if (auto storeOp = dyn_cast<AffineStoreOp>(op)) in runOnOperation() local
118 copyOps.push_back(storeOp); in runOnOperation()
/llvm-project-15.0.7/mlir/lib/Conversion/VectorToSCF/
H A DVectorToSCF.cpp340 auto storeOp = dyn_cast<memref::StoreOp>((*xferOp->use_begin()).getOwner()); in getStoreOp() local
341 assert(storeOp && "Expected TransferReadOp result used by StoreOp"); in getStoreOp()
342 return storeOp; in getStoreOp()
359 auto storeOp = getStoreOp(xferOp); in getBufferIndices() local
360 auto prevIndices = memref::StoreOpAdaptor(storeOp).getIndices(); in getBufferIndices()
/llvm-project-15.0.7/flang/lib/Lower/
H A DOpenMP.cpp376 mlir::Operation *storeOp, mlir::Block &block) { in resetBeforeTerminator() argument
377 if (storeOp) in resetBeforeTerminator()
378 firOpBuilder.setInsertionPointAfter(storeOp); in resetBeforeTerminator()
406 mlir::Operation *storeOp = nullptr; local
429 storeOp = firOpBuilder.create<fir::StoreOp>(loc, val, temp);
457 resetBeforeTerminator(firOpBuilder, storeOp, block);
467 resetBeforeTerminator(firOpBuilder, storeOp, block);
/llvm-project-15.0.7/mlir/lib/Dialect/Affine/Analysis/
H A DUtils.cpp717 mlir::boundCheckLoadOrStoreOp(AffineWriteOpInterface storeOp, bool emitError);
1224 auto storeOp = cast<AffineWriteOpInterface>(loadOrStoreOpInst); in MemRefAccess() local
1226 memref = storeOp.getMemRef(); in MemRefAccess()
1227 llvm::append_range(indices, storeOp.getMapOperands()); in MemRefAccess()
/llvm-project-15.0.7/mlir/lib/Dialect/Vector/Transforms/
H A DVectorTransforms.cpp2147 LogicalResult matchAndRewrite(vector::StoreOp storeOp, in matchAndRewrite()
2149 auto vecType = storeOp.getVectorType(); in matchAndRewrite()
2156 storeOp.getLoc(), storeOp.getValueToStore()); in matchAndRewrite()
2160 storeOp.getLoc(), storeOp.getValueToStore(), indices); in matchAndRewrite()
2164 storeOp, extracted, storeOp.getBase(), storeOp.getIndices()); in matchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Conversion/VectorToLLVM/
H A DConvertVectorToLLVM.cpp201 static void replaceLoadOrStoreOp(vector::StoreOp storeOp, in replaceLoadOrStoreOp() argument
205 rewriter.replaceOpWithNewOp<LLVM::StoreOp>(storeOp, adaptor.getValueToStore(), in replaceLoadOrStoreOp()
209 static void replaceLoadOrStoreOp(vector::MaskedStoreOp storeOp, in replaceLoadOrStoreOp() argument
214 storeOp, adaptor.getValueToStore(), ptr, adaptor.getMask(), align); in replaceLoadOrStoreOp()
/llvm-project-15.0.7/mlir/lib/Conversion/SPIRVToLLVM/
H A DSPIRVToLLVM.cpp234 auto storeOp = cast<spirv::StoreOp>(op); in replaceWithLoadOrStore() local
236 rewriter.replaceOpWithNewOp<LLVM::StoreOp>(storeOp, adaptor.value(), in replaceWithLoadOrStore()
/llvm-project-15.0.7/mlir/lib/Dialect/MemRef/IR/
H A DMemRefOps.cpp223 if (auto storeOp = dyn_cast<StoreOp>(op)) in matchAndRewrite() local
224 return storeOp.getValue() == alloc; in matchAndRewrite()