llvm-project/mlir/lib/Conversion
Rob Suderman 7de439b2be [mlir][tosa] Migrate tosa to more efficient linalg.conv
Existing linalg.conv2d is not well optimized for performance. Changed to a
version that is more aligned for optimziation. Include the corresponding
transposes to use this optimized version.

This also splits the conv and depthwise conv into separate implementations
to avoid overly complex lowerings.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D107504
2021-08-11 11:05:12 -07:00
..
AffineToStandard [mlir][Affine][Vector] Support vectorizing reduction loops 2021-05-05 09:03:59 -07:00
ArmNeon2dToIntr 2d Arm Neon sdot op, and lowering to the intrinsic. 2021-06-10 14:36:39 -07:00
AsyncToLLVM [mlir] replace llvm.mlir.cast with unrealized_conversion_cast 2021-07-16 15:14:09 +02:00
ComplexToLLVM [mlir] replace llvm.mlir.cast with unrealized_conversion_cast 2021-07-16 15:14:09 +02:00
ComplexToStandard [mlir][Complex]: Add lowerings for AddOp and SubOp from Complex dialect to 2021-07-23 12:43:45 +02:00
GPUCommon [mlir] Add populateGpuToLLVMConversionPatterns function 2021-08-01 11:51:21 +03:00
GPUToNVVM [mlir][nvvm]: Add math::Exp2Op lowering to NVVM. 2021-07-15 13:06:30 +02:00
GPUToROCDL [mlir][rocdl] Add math::Exp2Op lowering to ROCDL 2021-07-15 14:33:04 +02:00
GPUToSPIRV [mlir] NFC: split MemRef to SPIR-V conversion into their own files 2021-07-29 16:34:10 -04:00
GPUToVulkan [mlir] harden result type verification in llvm.call 2021-07-28 18:15:56 +02:00
LLVMCommon [mlir][LLVM] Revert bareptr calling convention handling as an argument materialization. 2021-07-21 22:06:50 +00:00
LinalgToLLVM [mlir] add missing build dependency 2021-07-16 15:20:07 +02:00
LinalgToSPIRV [mlir][spirv] Add utilities for push constant value 2021-04-02 07:51:07 -04:00
LinalgToStandard [mlir] Move linalg::Expand/CollapseShapeOp to memref dialect. 2021-07-16 13:32:17 +02:00
MathToLLVM [mlir] replace llvm.mlir.cast with unrealized_conversion_cast 2021-07-16 15:14:09 +02:00
MathToLibm [mlir] Use interfaces in MathToLibm 2021-06-01 13:56:32 +02:00
MathToSPIRV [mlir] NFC: split Math to SPIR-V conversion into their own files 2021-07-29 16:34:10 -04:00
MemRefToLLVM [mlir] Remove invalid DeallocOpLowering pattern insertion 2021-08-02 11:27:44 +03:00
MemRefToSPIRV [mlir][spirv] Fix loading bool with proper storage capabilities 2021-07-30 18:06:11 -04:00
OpenACCToLLVM [mlir] replace llvm.mlir.cast with unrealized_conversion_cast 2021-07-16 15:14:09 +02:00
OpenACCToSCF [mlir][openacc] Add conversion for if operand to scf.if for standalone data operation 2021-06-07 12:10:03 -04:00
OpenMPToLLVM [mlir] factor memref-to-llvm lowering out of std-to-llvm 2021-07-09 14:49:52 +02:00
PDLToPDLInterp [llvm] remove Sequence::asSmallVector() 2021-06-14 08:28:05 +00:00
SCFToGPU [MLIR] Split out GPU ops library from Transforms 2021-07-07 11:26:49 +05:30
SCFToOpenMP Rename FrozenRewritePatternList -> FrozenRewritePatternSet; NFC. 2021-03-22 17:40:45 -07:00
SCFToSPIRV [mlir] NFC: split MemRef to SPIR-V conversion into their own files 2021-07-29 16:34:10 -04:00
SCFToStandard [SCF] Handle lowering of Execute region to Standard CFG 2021-07-07 15:27:21 -04:00
SPIRVToLLVM [mlir] factor memref-to-llvm lowering out of std-to-llvm 2021-07-09 14:49:52 +02:00
ShapeToStandard [mlir][tensor] Add tensor.dim operation 2021-07-01 10:00:19 +09:00
StandardToLLVM [mlir] Add std.bitcast -> llvm.bitcast conversion 2021-08-11 16:30:21 +02:00
StandardToSPIRV [mlir] NFC: split MemRef to SPIR-V conversion into their own files 2021-07-29 16:34:10 -04:00
TosaToLinalg [mlir][tosa] Migrate tosa to more efficient linalg.conv 2021-08-11 11:05:12 -07:00
TosaToSCF [PatternMatch] Big mechanical rename OwningRewritePatternList -> RewritePatternSet and insert -> add. NFC 2021-03-22 17:20:50 -07:00
TosaToStandard [mlir][NFC] Move SubTensorOp and SubTensorInsertOp to TensorDialect 2021-06-22 17:55:53 +09:00
VectorToGPU [MLIR] Split out GPU ops library from Transforms 2021-07-07 11:26:49 +05:30
VectorToLLVM Add verifier for insert/extract element/value on type match between container and inserted/extracted value, and fix vector.shuffle lowering 2021-07-21 22:28:59 +00:00
VectorToROCDL [mlir] factor memref-to-llvm lowering out of std-to-llvm 2021-07-09 14:49:52 +02:00
VectorToSCF [mlir][NFC] MemRef cleanup: Remove helper functions 2021-07-05 10:10:21 +09:00
VectorToSPIRV [mlir][spirv] add support lowering of extract_slice to scalar type 2021-05-07 07:52:02 -07:00
CMakeLists.txt [mlir] NFC: split MemRef to SPIR-V conversion into their own files 2021-07-29 16:34:10 -04:00
PassDetail.h 2d Arm Neon sdot op, and lowering to the intrinsic. 2021-06-10 14:36:39 -07:00