Home
last modified time | relevance | path

Searched refs:loadOp (Results 1 – 22 of 22) sorted by relevance

/llvm-project-15.0.7/flang/lib/Optimizer/Transforms/
H A DMemRefDataFlowOpt.cpp46 llvm::Optional<WriteOp> findStoreToForward(ReadOp loadOp, in findStoreToForward() argument
51 if (domInfo->dominates(storeOp, loadOp)) in findStoreToForward()
78 << "load " << loadOp << " has " << candidateSet.size() in findStoreToForward()
86 for (auto &loadOp : loadOps) { in findReadForWrite() local
87 if (domInfo->dominates(storeOp, loadOp)) in findReadForWrite()
88 return loadOp; in findReadForWrite()
104 f.walk([&](fir::LoadOp loadOp) { in runOnOperation() argument
106 loadOp, getSpecificUsers<fir::StoreOp>(loadOp.getMemref())); in runOnOperation()
110 << " erasing load " << loadOp in runOnOperation()
112 loadOp.getResult().replaceAllUsesWith(storeOp.getValue()); in runOnOperation()
[all …]
H A DAffinePromotion.cpp137 for (auto loadOp : loopOperation.getOps<fir::LoadOp>()) in analyzeMemoryAccess() local
138 if (!analyzeReference(loadOp.getMemref(), loadOp)) in analyzeMemoryAccess()
415 static void rewriteLoad(fir::LoadOp loadOp, mlir::PatternRewriter &rewriter) { in rewriteLoad() argument
416 rewriter.setInsertionPoint(loadOp); in rewriteLoad()
417 auto affineOps = createAffineOps(loadOp.getMemref(), rewriter); in rewriteLoad()
419 loadOp, affineOps.second.getResult(), affineOps.first.getResult()); in rewriteLoad()
H A DArrayValueCopy.cpp1097 auto *loadOp = useMap.lookup(op); in referenceToClone() local
1098 auto load = mlir::cast<ArrayLoadOp>(loadOp); in referenceToClone()
1100 rewriter.setInsertionPoint(loadOp); in referenceToClone()
1118 auto *storeOp = useMap.lookup(loadOp); in referenceToClone()
1140 auto *loadOp = useMap.lookup(op); in materializeAssignment() local
1141 auto load = mlir::cast<ArrayLoadOp>(loadOp); in materializeAssignment()
1143 if (analysis.hasPotentialConflict(loadOp)) { in materializeAssignment()
1148 rewriter.setInsertionPoint(loadOp); in materializeAssignment()
1167 auto *storeOp = useMap.lookup(loadOp); in materializeAssignment()
/llvm-project-15.0.7/mlir/lib/Dialect/MemRef/Transforms/
H A DFoldSubViewOps.cpp137 LogicalResult matchAndRewrite(OpTy loadOp,
141 void replaceOp(OpTy loadOp, memref::SubViewOp subViewOp,
163 LoadOpTy loadOp, memref::SubViewOp subViewOp, ArrayRef<Value> sourceIndices, in replaceOp() argument
165 rewriter.replaceOpWithNewOp<LoadOpTy>(loadOp, subViewOp.getSource(), in replaceOp()
211 LoadOpOfSubViewFolder<OpTy>::matchAndRewrite(OpTy loadOp, in matchAndRewrite() argument
214 getMemRefOperand(loadOp).template getDefiningOp<memref::SubViewOp>(); in matchAndRewrite()
219 if (failed(resolveSourceIndices(loadOp.getLoc(), rewriter, subViewOp, in matchAndRewrite()
220 loadOp.getIndices(), sourceIndices))) in matchAndRewrite()
223 replaceOp(loadOp, subViewOp, sourceIndices, rewriter); in matchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Dialect/Affine/Utils/
H A DLoopFusionUtils.cpp42 if (auto loadOp = dyn_cast<AffineReadOpInterface>(op)) { in getLoadAndStoreMemRefAccesses() local
43 if (values.count(loadOp.getMemRef()) == 0) in getLoadAndStoreMemRefAccesses()
44 values[loadOp.getMemRef()] = false; in getLoadAndStoreMemRefAccesses()
56 if (auto loadOp = dyn_cast<AffineReadOpInterface>(op)) { in isDependentLoadOrStoreOp() local
57 return values.count(loadOp.getMemRef()) > 0 && values[loadOp.getMemRef()]; in isDependentLoadOrStoreOp()
208 auto loadOp = dyn_cast<AffineReadOpInterface>(dstOp); in getMaxLoopDepth() local
209 Value memref = loadOp ? loadOp.getMemRef() in getMaxLoopDepth()
616 if (auto loadOp = dyn_cast<AffineReadOpInterface>(user)) { in getFusionComputeCost() local
662 if (auto loadOp = dyn_cast<AffineReadOpInterface>(op)) in gatherProducerConsumerMemrefs() local
663 if (srcStoreMemRefs.count(loadOp.getMemRef()) > 0) in gatherProducerConsumerMemrefs()
[all …]
H A DUtils.cpp836 AffineReadOpInterface loadOp, SmallVectorImpl<Operation *> &loadOpsToErase, in forwardStoreToLoad() argument
843 for (auto *user : loadOp.getMemRef().getUsers()) { in forwardStoreToLoad()
848 MemRefAccess destAccess(loadOp); in forwardStoreToLoad()
862 if (!domInfo.dominates(storeOp, loadOp)) in forwardStoreToLoad()
867 if (!hasNoInterveningEffect<MemoryEffects::Write>(storeOp, loadOp)) in forwardStoreToLoad()
884 if (storeVal.getType() != loadOp.getValue().getType()) in forwardStoreToLoad()
886 loadOp.getValue().replaceAllUsesWith(storeVal); in forwardStoreToLoad()
888 memrefsToErase.insert(loadOp.getMemRef()); in forwardStoreToLoad()
890 loadOpsToErase.push_back(loadOp); in forwardStoreToLoad()
1033 f.walk([&](AffineReadOpInterface loadOp) { in affineScalarReplace() argument
[all …]
H A DLoopUtils.cpp2330 if (auto loadOp = dyn_cast<AffineLoadOp>(op)) { in getFullMemRefAsRegion() local
2331 rank = loadOp.getMemRefType().getRank(); in getFullMemRefAsRegion()
2332 region->memref = loadOp.getMemRef(); in getFullMemRefAsRegion()
2407 if (auto loadOp = dyn_cast<AffineLoadOp>(opInst)) { in affineDataCopyGenerate() local
2408 if ((filterMemRef.has_value() && filterMemRef != loadOp.getMemRef()) || in affineDataCopyGenerate()
2409 (loadOp.getMemRefType().getMemorySpaceAsInt() != in affineDataCopyGenerate()
/llvm-project-15.0.7/mlir/lib/Conversion/MemRefToSPIRV/
H A DMemRefToSPIRV.cpp205 matchAndRewrite(memref::LoadOp loadOp, OpAdaptor adaptor,
215 matchAndRewrite(memref::LoadOp loadOp, OpAdaptor adaptor,
320 auto loc = loadOp.getLoc(); in matchAndRewrite()
321 auto memrefType = loadOp.getMemref().getType().cast<MemRefType>(); in matchAndRewrite()
357 rewriter.replaceOp(loadOp, loadVal); in matchAndRewrite()
369 loadOp->getAttrOfType<spirv::MemoryAccessAttr>( in matchAndRewrite()
371 loadOp->getAttrOfType<IntegerAttr>("alignment")); in matchAndRewrite()
398 dstType = typeConverter.convertType(loadOp.getType()); in matchAndRewrite()
405 rewriter.replaceOp(loadOp, result); in matchAndRewrite()
421 adaptor.getIndices(), loadOp.getLoc(), rewriter); in matchAndRewrite()
[all …]
/llvm-project-15.0.7/mlir/lib/Dialect/SPIRV/Transforms/
H A DUnifyAliasedResourcePass.cpp218 if (auto loadOp = dyn_cast<spirv::LoadOp>(op)) in shouldUnify() local
219 return shouldUnify(loadOp.ptr().getDefiningOp()); in shouldUnify()
406 matchAndRewrite(spirv::LoadOp loadOp, OpAdaptor adaptor, in matchAndRewrite()
409 loadOp.ptr().getType().cast<spirv::PointerType>().getPointeeType(); in matchAndRewrite()
413 return rewriter.notifyMatchFailure(loadOp, "not scalar type"); in matchAndRewrite()
415 Location loc = loadOp.getLoc(); in matchAndRewrite()
418 rewriter.replaceOp(loadOp, newLoadOp->getResults()); in matchAndRewrite()
425 rewriter.replaceOp(loadOp, castOp->getResults()); in matchAndRewrite()
439 return rewriter.notifyMatchFailure(loadOp, "more than 4 components"); in matchAndRewrite()
447 return rewriter.notifyMatchFailure(loadOp, "ptr not spv.AccessChain"); in matchAndRewrite()
[all …]
/llvm-project-15.0.7/mlir/lib/Dialect/NVGPU/Transforms/
H A DOptimizeSharedMemory.cpp107 if (auto loadOp = dyn_cast<memref::LoadOp>(op)) in getIndices() local
108 return loadOp.getIndices(); in getIndices()
123 if (auto loadOp = dyn_cast<memref::LoadOp>(op)) in setIndices() local
124 return loadOp.getIndicesMutable().assign(indices); in setIndices()
/llvm-project-15.0.7/mlir/lib/Dialect/Affine/Transforms/
H A DSuperVectorize.cpp1166 static Operation *vectorizeAffineLoad(AffineLoadOp loadOp, in vectorizeAffineLoad() argument
1168 MemRefType memRefType = loadOp.getMemRefType(); in vectorizeAffineLoad()
1174 state.getScalarValueReplacementsFor(loadOp.getMapOperands(), mapOperands); in vectorizeAffineLoad()
1179 if (loadOp.getAffineMap() != in vectorizeAffineLoad()
1181 computeMemoryOpIndices(loadOp, loadOp.getAffineMap(), mapOperands, state, in vectorizeAffineLoad()
1197 loadOp.getLoc(), vectorType, loadOp.getMemRef(), indices, permutationMap); in vectorizeAffineLoad()
1200 state.registerOpVectorReplacement(loadOp, transfer); in vectorizeAffineLoad()
1479 if (auto loadOp = dyn_cast<AffineLoadOp>(op)) in vectorizeOneOperation() local
1480 return vectorizeAffineLoad(loadOp, state); in vectorizeOneOperation()
H A DLoopFusion.cpp767 } else if (auto loadOp = dyn_cast<AffineReadOpInterface>(op)) { in init() local
1856 if (auto loadOp = dyn_cast<AffineReadOpInterface>(user)) { in findSiblingNodeToFuse() local
1872 auto memref = loadOp.getMemRef(); in findSiblingNodeToFuse()
/llvm-project-15.0.7/mlir/test/lib/Dialect/Affine/
H A DTestAffineDataCopy.cpp115 else if (auto loadOp = dyn_cast<AffineLoadOp>(op)) in runOnOperation() local
116 copyOps.push_back(loadOp); in runOnOperation()
/llvm-project-15.0.7/mlir/lib/Conversion/VectorToSCF/
H A DVectorToSCF.cpp324 auto loadOp = xferOp.getMask().template getDefiningOp<memref::LoadOp>(); in getMaskBuffer() local
325 assert(loadOp && "Expected transfer op mask produced by LoadOp"); in getMaskBuffer()
326 return loadOp.getMemRef(); in getMaskBuffer()
457 auto loadOp = xferOp.getVector().getDefiningOp<memref::LoadOp>(); in getBuffer() local
458 assert(loadOp && "Expected transfer op vector produced by LoadOp"); in getBuffer()
459 return loadOp.getMemRef(); in getBuffer()
465 auto loadOp = xferOp.getVector().getDefiningOp<memref::LoadOp>(); in getBufferIndices() local
466 auto prevIndices = memref::LoadOpAdaptor(loadOp).getIndices(); in getBufferIndices()
/llvm-project-15.0.7/mlir/lib/Dialect/Vector/Transforms/
H A DVectorDistribute.cpp66 Value loadOp = rewriter.create<vector::LoadOp>(loc, bbArgType, buffer, c0); in rewriteWarpOpToScfFor() local
67 bbArgReplacements.push_back(loadOp); in rewriteWarpOpToScfFor()
107 Value loadOp = rewriter.create<memref::LoadOp>(loc, buffer, c0); in rewriteWarpOpToScfFor() local
108 replacements.push_back(loadOp); in rewriteWarpOpToScfFor()
117 Value loadOp = rewriter.create<vector::LoadOp>(loc, loadedVectorType, in rewriteWarpOpToScfFor() local
119 replacements.push_back(loadOp); in rewriteWarpOpToScfFor()
H A DVectorTransforms.cpp2090 Operation *loadOp; in matchAndRewrite() local
2094 loadOp = rewriter.create<vector::MaskedLoadOp>( in matchAndRewrite()
2098 loadOp = rewriter.create<vector::LoadOp>( in matchAndRewrite()
2106 read, read.getVectorType(), loadOp->getResult(0)); in matchAndRewrite()
2108 rewriter.replaceOp(read, loadOp->getResult(0)); in matchAndRewrite()
2129 LogicalResult matchAndRewrite(vector::LoadOp loadOp, in matchAndRewrite()
2131 auto vecType = loadOp.getVectorType(); in matchAndRewrite()
2135 loadOp.getLoc(), loadOp.getBase(), loadOp.getIndices()); in matchAndRewrite()
2136 rewriter.replaceOpWithNewOp<vector::BroadcastOp>(loadOp, vecType, in matchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Dialect/Affine/Analysis/
H A DUtils.cpp715 mlir::boundCheckLoadOrStoreOp(AffineReadOpInterface loadOp, bool emitError);
1217 if (auto loadOp = dyn_cast<AffineReadOpInterface>(loadOrStoreOpInst)) { in MemRefAccess() local
1218 memref = loadOp.getMemRef(); in MemRefAccess()
1220 llvm::append_range(indices, loadOp.getMapOperands()); in MemRefAccess()
H A DAffineAnalysis.cpp496 if (auto loadOp = dyn_cast<AffineReadOpInterface>(opInst)) in getAccessMap() local
497 map = loadOp.getAffineMap(); in getAccessMap()
/llvm-project-15.0.7/mlir/lib/Conversion/VectorToLLVM/
H A DConvertVectorToLLVM.cpp186 static void replaceLoadOrStoreOp(vector::LoadOp loadOp, in replaceLoadOrStoreOp() argument
190 rewriter.replaceOpWithNewOp<LLVM::LoadOp>(loadOp, ptr, align); in replaceLoadOrStoreOp()
193 static void replaceLoadOrStoreOp(vector::MaskedLoadOp loadOp, in replaceLoadOrStoreOp() argument
198 loadOp, vectorTy, ptr, adaptor.getMask(), adaptor.getPassThru(), align); in replaceLoadOrStoreOp()
/llvm-project-15.0.7/mlir/lib/Conversion/MemRefToLLVM/
H A DMemRefToLLVM.cpp694 matchAndRewrite(memref::LoadOp loadOp, OpAdaptor adaptor, in matchAndRewrite()
696 auto type = loadOp.getMemRefType(); in matchAndRewrite()
699 getStridedElementPtr(loadOp.getLoc(), type, adaptor.getMemref(), in matchAndRewrite()
701 rewriter.replaceOpWithNewOp<LLVM::LoadOp>(loadOp, dataPtr); in matchAndRewrite()
854 auto loadOp = rewriter.create<LLVM::LoadOp>(loc, castPtr); in rewrite() local
855 rewriter.replaceOp(memRefCastOp, loadOp.getResult()); in rewrite()
/llvm-project-15.0.7/mlir/lib/Conversion/SPIRVToLLVM/
H A DSPIRVToLLVM.cpp225 if (auto loadOp = dyn_cast<spirv::LoadOp>(op)) { in replaceWithLoadOrStore() local
226 auto dstType = typeConverter.convertType(loadOp.getType()); in replaceWithLoadOrStore()
230 loadOp, dstType, spirv::LoadOpAdaptor(operands).ptr(), alignment, in replaceWithLoadOrStore()
/llvm-project-15.0.7/flang/lib/Optimizer/Dialect/
H A DFIROps.cpp3475 if (auto loadOp = mlir::dyn_cast<fir::LoadOp>(definingOp)) in valueHasFirAttribute() local
3476 value = loadOp.getMemref(); in valueHasFirAttribute()