Home
last modified time | relevance | path

Searched refs:CastOp (Results 1 – 25 of 63) sorted by relevance

123

/llvm-project-15.0.7/mlir/include/mlir/Dialect/Tensor/IR/
H A DTensor.h85 bool canFoldIntoConsumerOp(CastOp castOp);
107 bool canFoldIntoProducerOp(CastOp castOp);
/llvm-project-15.0.7/llvm/lib/Target/NVPTX/
H A DNVPTXTargetTransformInfo.cpp143 Optional<Instruction::CastOps> CastOp; in simplifyNvvmIntrinsic() member
160 SimplifyAction(Instruction::CastOps CastOp) : CastOp(CastOp) {} in simplifyNvvmIntrinsic()
398 if (Action.CastOp) in simplifyNvvmIntrinsic()
399 return CastInst::Create(*Action.CastOp, II->getArgOperand(0), II->getType(), in simplifyNvvmIntrinsic()
/llvm-project-15.0.7/mlir/lib/Dialect/Tensor/IR/
H A DTensorOps.cpp93 bool mlir::tensor::canFoldIntoConsumerOp(CastOp castOp) { in canFoldIntoConsumerOp()
123 bool mlir::tensor::canFoldIntoProducerOp(CastOp castOp) { in canFoldIntoProducerOp()
195 struct ChainedTensorCast : public OpRewritePattern<CastOp> {
196 using OpRewritePattern<CastOp>::OpRewritePattern;
198 LogicalResult matchAndRewrite(CastOp tensorCast, in matchAndRewrite()
245 using OpRewritePattern<CastOp>::OpRewritePattern;
247 LogicalResult matchAndRewrite(CastOp tensorCast, in matchAndRewrite()
1668 auto castOp = v.getDefiningOp<tensor::CastOp>(); in matchAndRewrite()
1764 Value cast = rewriter.create<tensor::CastOp>( in matchAndRewrite()
1964 rewriter.replaceOpWithNewOp<tensor::CastOp>( in matchAndRewrite()
[all …]
/llvm-project-15.0.7/mlir/lib/Dialect/Bufferization/IR/
H A DBufferizationOps.cpp63 if (memref::CastOp::areCastCompatible(srcType, destType) && in castOrReallocMemRefValue()
65 Value casted = b.create<memref::CastOp>(value.getLoc(), destType, value); in castOrReallocMemRefValue()
125 assert(memref::CastOp::areCastCompatible(srcType, destType) && in foldToMemrefToTensorPair()
127 rewriter.replaceOpWithNewOp<memref::CastOp>(toMemref, destType, in foldToMemrefToTensorPair()
324 rewriter.replaceOpWithNewOp<tensor::CastOp>(op, op.getType(), newOp); in matchAndRewrite()
499 rewriter.replaceOpWithNewOp<memref::CastOp>(cloneOp, cloneOp.getType(), in matchAndRewrite()
584 toMemref.getOperand().getDefiningOp<tensor::CastOp>(); in matchAndRewrite()
595 rewriter.replaceOpWithNewOp<memref::CastOp>(toMemref, toMemref.getType(), in matchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Dialect/Linalg/IR/
H A DLinalgOps.cpp263 auto castOp = operand.get().getDefiningOp<memref::CastOp>(); in foldMemRefCast()
264 if (castOp && memref::CastOp::canFoldIntoConsumerOp(castOp)) { in foldMemRefCast()
1158 returnedArg = rewriter.create<tensor::CastOp>( in matchAndRewrite()
1342 rewriter.replaceOpWithNewOp<tensor::CastOp>( in matchAndRewrite()
1385 : public OpRewritePattern<tensor::CastOp> {
1386 using OpRewritePattern<tensor::CastOp>::OpRewritePattern;
1388 LogicalResult matchAndRewrite(tensor::CastOp castOp, in matchAndRewrite()
1709 using OpRewritePattern<tensor::CastOp>::OpRewritePattern;
1711 LogicalResult matchAndRewrite(tensor::CastOp castOp, in matchAndRewrite()
1752 Value castBack = rewriter.create<tensor::CastOp>( in matchAndRewrite()
[all …]
/llvm-project-15.0.7/mlir/lib/Dialect/Vector/Transforms/
H A DVectorTransferSplitRewritePatterns.cpp156 if (memref::CastOp::areCastCompatible(aT, bT)) in getCastCompatibleMemRefType()
258 res = b.create<memref::CastOp>(loc, compatibleMemRefType, memref); in createFullPartialLinalgCopy()
275 b.create<memref::CastOp>(loc, compatibleMemRefType, alloc); in createFullPartialLinalgCopy()
313 res = b.create<memref::CastOp>(loc, compatibleMemRefType, memref); in createFullPartialVectorTransferRead()
328 b.create<memref::CastOp>(loc, compatibleMemRefType, alloc); in createFullPartialVectorTransferRead()
364 res = b.create<memref::CastOp>(loc, compatibleMemRefType, memref); in getLocationToWriteFullVec()
373 b.create<memref::CastOp>(loc, compatibleMemRefType, alloc); in getLocationToWriteFullVec()
/llvm-project-15.0.7/mlir/lib/Conversion/BufferizationToMemRef/
H A DBufferizationToMemRef.cpp49 if (!memref::CastOp::areCastCompatible({allocType}, {memrefType})) in matchAndRewrite()
70 alloc = rewriter.create<memref::CastOp>(op->getLoc(), memrefType, alloc); in matchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Dialect/Bufferization/Transforms/
H A DDropEquivalentBufferResults.cpp82 while (auto castOp = val.getDefiningOp<memref::CastOp>()) in dropEquivalentBufferResults()
125 replacement = rewriter.create<memref::CastOp>( in dropEquivalentBufferResults()
/llvm-project-15.0.7/mlir/lib/Dialect/MemRef/IR/
H A DMemRefOps.cpp92 auto cast = operand.get().getDefiningOp<CastOp>(); in foldMemRefCast()
516 bool CastOp::canFoldIntoConsumerOp(CastOp castOp) { in canFoldIntoConsumerOp()
635 OpFoldResult CastOp::fold(ArrayRef<Attribute> operands) { in fold()
716 auto castOp = operand.get().getDefiningOp<memref::CastOp>(); in fold()
717 if (castOp && memref::CastOp::canFoldIntoConsumerOp(castOp)) { in fold()
1581 if (auto prev = src.getDefiningOp<CastOp>()) in fold()
1991 auto cast = op.getOperand().getDefiningOp<CastOp>(); in matchAndRewrite()
1995 if (!CastOp::canFoldIntoConsumerOp(cast)) in matchAndRewrite()
2542 auto castOp = subViewOp.getSource().getDefiningOp<CastOp>(); in matchAndRewrite()
2546 if (!CastOp::canFoldIntoConsumerOp(castOp)) in matchAndRewrite()
[all …]
/llvm-project-15.0.7/llvm/lib/Transforms/Scalar/
H A DFloat2Int.cpp207 auto CastOp = (Instruction::CastOps)I->getOpcode(); in walkBackwards() local
208 seen(I, validateRange(Input.castOp(CastOp, MaxIntegerBW+1))); in walkBackwards()
316 auto CastOp = (Instruction::CastOps)I->getOpcode(); in calcRange() local
317 return OpRanges[0].castOp(CastOp, MaxIntegerBW+1); in calcRange()
/llvm-project-15.0.7/mlir/utils/spirv/
H A Ddefine_inst.sh26 …Op | ArithmeticBinaryOp | ArithmeticUnaryOp | LogicalBinaryOp | LogicalUnaryOp | CastOp | ControlF…
/llvm-project-15.0.7/mlir/lib/Dialect/SparseTensor/Transforms/
H A DSparseTensorPasses.cpp114 target.addDynamicallyLegalOp<tensor::CastOp>([&](tensor::CastOp op) { in runOnOperation()
/llvm-project-15.0.7/mlir/examples/toy/Ch6/mlir/
H A DDialect.cpp83 return builder.create<CastOp>(conversionLoc, resultType, input); in materializeCallConversion()
250 void CastOp::inferShapes() { getResult().setType(getOperand().getType()); } in inferShapes()
255 bool CastOp::areCastCompatible(TypeRange inputs, TypeRange outputs) { in areCastCompatible()
/llvm-project-15.0.7/mlir/examples/toy/Ch4/mlir/
H A DDialect.cpp83 return builder.create<CastOp>(conversionLoc, resultType, input); in materializeCallConversion()
250 void CastOp::inferShapes() { getResult().setType(getOperand().getType()); } in inferShapes()
255 bool CastOp::areCastCompatible(TypeRange inputs, TypeRange outputs) { in areCastCompatible()
/llvm-project-15.0.7/mlir/examples/toy/Ch5/mlir/
H A DDialect.cpp83 return builder.create<CastOp>(conversionLoc, resultType, input); in materializeCallConversion()
250 void CastOp::inferShapes() { getResult().setType(getOperand().getType()); } in inferShapes()
255 bool CastOp::areCastCompatible(TypeRange inputs, TypeRange outputs) { in areCastCompatible()
/llvm-project-15.0.7/mlir/lib/Dialect/Arithmetic/Transforms/
H A DBufferizableOpInterfaceImpl.cpp176 trueBuffer = rewriter.create<memref::CastOp>(loc, castedType, trueBuffer); in bufferize()
178 rewriter.create<memref::CastOp>(loc, castedType, falseBuffer); in bufferize()
/llvm-project-15.0.7/llvm/lib/Target/AMDGPU/
H A DAMDGPUCodeGenPrepare.cpp598 CastInst *CastOp; in foldBinOpIntoSelect() local
602 SelectInst *Sel = findSelectThroughCast(BO.getOperand(0), CastOp); in foldBinOpIntoSelect()
605 Sel = findSelectThroughCast(BO.getOperand(1), CastOp); in foldBinOpIntoSelect()
617 if (CastOp) { in foldBinOpIntoSelect()
618 if (!CastOp->hasOneUse()) in foldBinOpIntoSelect()
620 CT = ConstantFoldCastOperand(CastOp->getOpcode(), CT, BO.getType(), *DL); in foldBinOpIntoSelect()
621 CF = ConstantFoldCastOperand(CastOp->getOpcode(), CF, BO.getType(), *DL); in foldBinOpIntoSelect()
648 if (CastOp) in foldBinOpIntoSelect()
649 CastOp->eraseFromParent(); in foldBinOpIntoSelect()
/llvm-project-15.0.7/mlir/examples/toy/Ch7/mlir/
H A DDialect.cpp84 return builder.create<CastOp>(conversionLoc, resultType, input); in materializeCallConversion()
277 void CastOp::inferShapes() { getResult().setType(getOperand().getType()); } in inferShapes()
282 bool CastOp::areCastCompatible(TypeRange inputs, TypeRange outputs) { in areCastCompatible()
/llvm-project-15.0.7/mlir/lib/Dialect/Tensor/Transforms/
H A DBufferizableOpInterfaceImpl.cpp29 tensor::CastOp> {
52 auto castOp = cast<tensor::CastOp>(op); in bufferize()
74 assert(memref::CastOp::areCastCompatible(resultBuffer->getType(), in bufferize()
77 replaceOpWithNewBufferizedOp<memref::CastOp>(rewriter, op, resultMemRefType, in bufferize()
975 CastOp::attachInterface<CastOpInterface>(*ctx); in registerBufferizableOpInterfaceExternalModels()
/llvm-project-15.0.7/mlir/lib/Conversion/ShapeToStandard/
H A DShapeToStandard.cpp165 replacement = lb.create<tensor::CastOp>(op.getType(), replacement); in matchAndRewrite()
200 rewriter.replaceOpWithNewOp<tensor::CastOp>(op, resultTy, tensor); in matchAndRewrite()
574 rewriter.replaceOpWithNewOp<tensor::CastOp>(op, op.getType(), in matchAndRewrite()
646 rewriter.replaceOpWithNewOp<tensor::CastOp>(op, op.getType(), in matchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Conversion/LinalgToStandard/
H A DLinalgToStandard.cpp93 b.create<memref::CastOp>(loc, eraseStridedLayout(memrefType), op); in createTypeCanonicalizedMemRefOperands()
/llvm-project-15.0.7/mlir/lib/Dialect/SCF/Transforms/
H A DBufferizableOpInterfaceImpl.cpp193 thenResults.push_back(rewriter.create<memref::CastOp>( in bufferize()
196 elseResults.push_back(rewriter.create<memref::CastOp>( in bufferize()
278 assert(memref::CastOp::areCastCompatible(buffer.getType(), type) && in castBuffer()
280 return b.create<memref::CastOp>(buffer.getLoc(), type, buffer).getResult(); in castBuffer()
/llvm-project-15.0.7/mlir/lib/Dialect/EmitC/IR/
H A DEmitC.cpp69 bool CastOp::areCastCompatible(TypeRange inputs, TypeRange outputs) { in areCastCompatible()
/llvm-project-15.0.7/mlir/lib/Dialect/Shape/IR/
H A DShape.cpp726 rewriter.create<tensor::CastOp>(loc, op.getType(), replacement); in matchAndRewrite()
783 if (auto castOp = operand.getDefiningOp<tensor::CastOp>()) { in matchAndRewrite()
831 rewriter.replaceOpWithNewOp<tensor::CastOp>(op, op.getType(), newOp); in matchAndRewrite()
1591 struct ShapeOfCastExtentTensor : public OpRewritePattern<tensor::CastOp> {
1592 using OpRewritePattern<tensor::CastOp>::OpRewritePattern;
1594 LogicalResult matchAndRewrite(tensor::CastOp op, in matchAndRewrite()
/llvm-project-15.0.7/llvm/include/llvm/Analysis/
H A DValueTracking.h754 Instruction::CastOps *CastOp = nullptr,
771 Instruction::CastOps *CastOp = nullptr, unsigned Depth = 0);

123