llvm-project/mlir/test/lib/Transforms
MaheshRavishankar 5ca20851e4 [mlir][Linalg] Improve the logic to perform tile and fuse with better dependence tracking.
This change does two main things
1) An operation might have multiple dependences to the same
   producer. Not tracking them correctly can result in incorrect code
   generation with fusion. To rectify this the dependence tracking
   needs to also have the operand number in the consumer.
2) Improve the logic used to find the fused loops making it easier to
   follow. The only constraint for fusion is that linalg ops (on
   buffers) have update semantics for the result. Fusion should be
   such that only one iteration of the fused loop (which is also a
   tiled loop) must touch only one (disjoint) tile of the output. This
   could be relaxed by allowing for recomputation that is the default
   when oeprands are tensors, or can be made legal with promotion of
   the fused view (in future).

Differential Revision: https://reviews.llvm.org/D90579
2020-11-12 00:25:24 -08:00
..
CMakeLists.txt [mlir] Add NumberOfExecutions analysis + update RegionBranchOpInterface interface to query number of region invocations 2020-11-11 01:43:17 -08:00
TestAffineLoopParametricTiling.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestCallGraph.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestConstantFold.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestConvVectorization.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestConvertCallOp.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestConvertGPUKernelToCubin.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestConvertGPUKernelToHsaco.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestDominance.cpp [mlir] Fix post-dominance between blocks of different regions. 2020-11-11 11:20:53 -08:00
TestDynamicPipeline.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestExpandTanh.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestFinalizingBufferize.cpp [mlir] Remove AppendToArgumentsList functionality from BufferizeTypeConverter. 2020-11-05 11:20:09 -08:00
TestGpuMemoryPromotion.cpp Separate the Registration from Loading dialects in the Context 2020-08-19 01:19:03 +00:00
TestGpuParallelLoopMapping.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestGpuRewrite.cpp [mlir][Pattern] Add a new FrozenRewritePatternList class 2020-10-26 18:01:06 -07:00
TestInlining.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestLinalgCodegenStrategy.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestLinalgFusionTransforms.cpp [mlir][Linalg] Improve the logic to perform tile and fuse with better dependence tracking. 2020-11-12 00:25:24 -08:00
TestLinalgHoisting.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestLinalgTransforms.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestLiveness.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestLoopFusion.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestLoopMapping.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestLoopParametricTiling.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestLoopUnrolling.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestMemRefBoundCheck.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestMemRefDependenceCheck.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestMemRefStrideCalculation.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestNumberOfExecutions.cpp [mlir] Add NumberOfExecutions analysis + update RegionBranchOpInterface interface to query number of region invocations 2020-11-11 01:43:17 -08:00
TestOpaqueLoc.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestSCFUtils.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00
TestVectorTransforms.cpp [mlir] Move TestDialect and its passes to mlir::test namespace. 2020-11-05 15:29:15 +01:00