| /llvm-project-15.0.7/flang/lib/Optimizer/Transforms/ |
| H A D | MemRefDataFlowOpt.cpp | 50 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 D | AffinePromotion.cpp | 140 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 D | ArrayValueCopy.cpp | 1118 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 D | FoldSubViewOps.cpp | 152 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 D | MemRefToSPIRV.cpp | 225 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 D | UnifyAliasedResourcePass.cpp | 220 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 D | LoopFusionUtils.cpp | 45 } 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 D | Utils.cpp | 844 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 D | LoopUtils.cpp | 2334 } 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 D | SuperVectorize.cpp | 1210 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 D | LoopFusion.cpp | 681 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 D | SPIRVCanonicalization.cpp | 364 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 D | OptimizeSharedMemory.cpp | 109 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 D | TestAffineDataCopy.cpp | 117 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 D | VectorToSCF.cpp | 340 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 D | OpenMP.cpp | 376 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 D | Utils.cpp | 717 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 D | VectorTransforms.cpp | 2147 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 D | ConvertVectorToLLVM.cpp | 201 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 D | SPIRVToLLVM.cpp | 234 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 D | MemRefOps.cpp | 223 if (auto storeOp = dyn_cast<StoreOp>(op)) in matchAndRewrite() local 224 return storeOp.getValue() == alloc; in matchAndRewrite()
|