| /llvm-project-15.0.7/mlir/include/mlir/Dialect/Tensor/IR/ |
| H A D | Tensor.h | 85 bool canFoldIntoConsumerOp(CastOp castOp); 107 bool canFoldIntoProducerOp(CastOp castOp);
|
| /llvm-project-15.0.7/llvm/lib/Target/NVPTX/ |
| H A D | NVPTXTargetTransformInfo.cpp | 143 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 D | TensorOps.cpp | 93 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 D | BufferizationOps.cpp | 63 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 D | LinalgOps.cpp | 263 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 D | VectorTransferSplitRewritePatterns.cpp | 156 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 D | BufferizationToMemRef.cpp | 49 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 D | DropEquivalentBufferResults.cpp | 82 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 D | MemRefOps.cpp | 92 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 D | Float2Int.cpp | 207 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 D | define_inst.sh | 26 …Op | ArithmeticBinaryOp | ArithmeticUnaryOp | LogicalBinaryOp | LogicalUnaryOp | CastOp | ControlF…
|
| /llvm-project-15.0.7/mlir/lib/Dialect/SparseTensor/Transforms/ |
| H A D | SparseTensorPasses.cpp | 114 target.addDynamicallyLegalOp<tensor::CastOp>([&](tensor::CastOp op) { in runOnOperation()
|
| /llvm-project-15.0.7/mlir/examples/toy/Ch6/mlir/ |
| H A D | Dialect.cpp | 83 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 D | Dialect.cpp | 83 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 D | Dialect.cpp | 83 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 D | BufferizableOpInterfaceImpl.cpp | 176 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 D | AMDGPUCodeGenPrepare.cpp | 598 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 D | Dialect.cpp | 84 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 D | BufferizableOpInterfaceImpl.cpp | 29 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 D | ShapeToStandard.cpp | 165 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 D | LinalgToStandard.cpp | 93 b.create<memref::CastOp>(loc, eraseStridedLayout(memrefType), op); in createTypeCanonicalizedMemRefOperands()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/SCF/Transforms/ |
| H A D | BufferizableOpInterfaceImpl.cpp | 193 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 D | EmitC.cpp | 69 bool CastOp::areCastCompatible(TypeRange inputs, TypeRange outputs) { in areCastCompatible()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Shape/IR/ |
| H A D | Shape.cpp | 726 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 D | ValueTracking.h | 754 Instruction::CastOps *CastOp = nullptr, 771 Instruction::CastOps *CastOp = nullptr, unsigned Depth = 0);
|