[mlir][tosa] Update default tosa-to-linalg passes
authorRob Suderman <rob.suderman@gmail.com>
Thu, 13 Jan 2022 17:54:42 +0000 (09:54 -0800)
committerRob Suderman <rob.suderman@gmail.com>
Thu, 13 Jan 2022 18:17:44 +0000 (10:17 -0800)
Adding the optional decompositions have been verified to improve memory
usage on common models. Added the decomposition to the default tosa to linalg
passes.

Reviewed By: NatashaKnk

Differential Revision: https://reviews.llvm.org/D117175

mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp

index e75e8d7..cfc31de 100644 (file)
@@ -68,10 +68,13 @@ std::unique_ptr<Pass> mlir::tosa::createTosaToLinalg() {
 }
 
 void mlir::tosa::addTosaToLinalgPasses(OpPassManager &pm) {
+  // Optional decompositions are designed to benefit linalg.
   pm.addNestedPass<FuncOp>(mlir::tosa::createTosaOptionalDecompositions());
-  pm.addNestedPass<FuncOp>(createTosaMakeBroadcastablePass());
-  pm.addNestedPass<FuncOp>(createTosaToLinalgNamed());
   pm.addNestedPass<FuncOp>(mlir::createCanonicalizerPass());
-  pm.addNestedPass<FuncOp>(createTosaMakeBroadcastablePass());
-  pm.addNestedPass<FuncOp>(createTosaToLinalg());
+
+  pm.addNestedPass<FuncOp>(tosa::createTosaMakeBroadcastablePass());
+  pm.addNestedPass<FuncOp>(tosa::createTosaToLinalgNamed());
+  pm.addNestedPass<FuncOp>(mlir::createCanonicalizerPass());
+  pm.addNestedPass<FuncOp>(tosa::createTosaMakeBroadcastablePass());
+  pm.addNestedPass<FuncOp>(tosa::createTosaToLinalg());
 }