From 58ee62fb491c2052e1960f812f1f2cee546229d8 Mon Sep 17 00:00:00 2001 From: Tian Jin Date: Fri, 31 Jul 2020 21:37:35 +0800 Subject: [PATCH] [NFC] Rename passes for stylistic consistency. (#232) * lower-frontend -> convert-onnx-to-krnl * lower-all-llvm -> convert-krnl-to-llvm * lower-krnl -> convert-krnl-to-affine * Name fix. --- src/Conversion/CMakeLists.txt | 4 ++- src/Conversion/KrnlToAffine/CMakeLists.txt | 11 ++++++++ .../KrnlToAffine/KrnlToAffine.cpp} | 12 ++++---- src/Conversion/KrnlToLLVM/CMakeLists.txt | 15 ++++++++++ .../KrnlToLLVM/KrnlToLLVM.cpp} | 10 +++---- src/InitOMPasses.hpp | 13 +++++---- src/MainUtils.cpp | 4 +-- src/Pass/Passes.hpp | 4 +-- src/Transform/CMakeLists.txt | 28 ------------------- test/mlir/conversion/krnl_to_affine.mlir | 2 +- test/mlir/krnl/block.mlir | 2 +- test/mlir/krnl/constant.mlir | 2 +- test/mlir/krnl/krnl_getref_lowering.mlir | 2 +- test/mlir/krnl/memory_pool.mlir | 2 +- test/mlir/krnl/permute.mlir | 2 +- test/mlir/krnl/reshape.mlir | 2 +- test/mlir/krnl/unroll.mlir | 2 +- test/mlir/onnx/onnx_bundle_memory_pool.mlir | 2 +- test/mlir/onnx/onnx_enable_memory_pool.mlir | 2 +- test/mlir/onnx/onnx_lowering.mlir | 2 +- .../mlir/onnx/onnx_lowering_with_dealloc.mlir | 2 +- 21 files changed, 63 insertions(+), 62 deletions(-) create mode 100644 src/Conversion/KrnlToAffine/CMakeLists.txt rename src/{Transform/LowerKrnl.cpp => Conversion/KrnlToAffine/KrnlToAffine.cpp} (97%) create mode 100644 src/Conversion/KrnlToLLVM/CMakeLists.txt rename src/{Transform/LowerToLLVM.cpp => Conversion/KrnlToLLVM/KrnlToLLVM.cpp} (99%) diff --git a/src/Conversion/CMakeLists.txt b/src/Conversion/CMakeLists.txt index d9797c0..c311c0e 100644 --- a/src/Conversion/CMakeLists.txt +++ b/src/Conversion/CMakeLists.txt @@ -1 +1,3 @@ -add_subdirectory(ONNXToKrnl) \ No newline at end of file +add_subdirectory(ONNXToKrnl) +add_subdirectory(KrnlToLLVM) +add_subdirectory(KrnlToAffine) \ No newline at end of file diff --git a/src/Conversion/KrnlToAffine/CMakeLists.txt b/src/Conversion/KrnlToAffine/CMakeLists.txt new file mode 100644 index 0000000..ff8accd --- /dev/null +++ b/src/Conversion/KrnlToAffine/CMakeLists.txt @@ -0,0 +1,11 @@ +add_library(OMKrnlToAffine + KrnlToAffine.cpp) +target_include_directories(OMKrnlToAffine + PRIVATE + ${ONNX_MLIR_SRC_ROOT} + ${ONNX_MLIR_BIN_ROOT} + ${ONNX_MLIR_SRC_ROOT}) +# Header dependencies +add_dependencies(OMKrnlToAffine OMKrnlOpsInc) +# Linking dependencies +add_dependencies(OMKrnlToAffine OMKrnlOps) \ No newline at end of file diff --git a/src/Transform/LowerKrnl.cpp b/src/Conversion/KrnlToAffine/KrnlToAffine.cpp similarity index 97% rename from src/Transform/LowerKrnl.cpp rename to src/Conversion/KrnlToAffine/KrnlToAffine.cpp index 1f20917..a0ae2de 100644 --- a/src/Transform/LowerKrnl.cpp +++ b/src/Conversion/KrnlToAffine/KrnlToAffine.cpp @@ -106,15 +106,15 @@ void lowerIterateOp(KrnlIterateOp &iterateOp, OpBuilder &builder, } //===----------------------------------------------------------------------===// -// KrnlToAffineLoweringPass +// ConvertKrnlToAffinePass //===----------------------------------------------------------------------===// /// This is a partial lowering to affine loops of the krnl dialect operations. /// At this stage the dialect will contain standard operations as well like /// add and multiply, this pass will leave these operations intact. namespace { -struct KrnlToAffineLoweringPass - : public PassWrapper { +struct ConvertKrnlToAffinePass + : public PassWrapper { void runOnFunction() final; }; } // end anonymous namespace. @@ -211,7 +211,7 @@ LogicalResult interpretOperation(Operation *op, OpBuilder &builder, return success(); } -void KrnlToAffineLoweringPass::runOnFunction() { +void ConvertKrnlToAffinePass::runOnFunction() { OpBuilder builder(&getContext()); mlir::Operation *funcOp = getFunction(); @@ -243,6 +243,6 @@ void KrnlToAffineLoweringPass::runOnFunction() { } } // namespace -std::unique_ptr mlir::createLowerKrnlPass() { - return std::make_unique(); +std::unique_ptr mlir::createConvertKrnlToAffinePass() { + return std::make_unique(); } diff --git a/src/Conversion/KrnlToLLVM/CMakeLists.txt b/src/Conversion/KrnlToLLVM/CMakeLists.txt new file mode 100644 index 0000000..7faa872 --- /dev/null +++ b/src/Conversion/KrnlToLLVM/CMakeLists.txt @@ -0,0 +1,15 @@ +add_library(OMKrnlToLLVM + KrnlToLLVM.cpp) +target_include_directories(OMKrnlToLLVM + PRIVATE + ${ONNX_MLIR_SRC_ROOT} + ${ONNX_MLIR_BIN_ROOT} + ${ONNX_MLIR_SRC_ROOT}) + +# Header dependencies +add_dependencies(OMKrnlToLLVM OMKrnlOpsInc OMONNXOpsInc) +# Linking dependencies +add_dependencies(OMKrnlToLLVM OMKrnlOps OMONNXOps) + +target_link_libraries(OMKrnlToLLVM + onnx) \ No newline at end of file diff --git a/src/Transform/LowerToLLVM.cpp b/src/Conversion/KrnlToLLVM/KrnlToLLVM.cpp similarity index 99% rename from src/Transform/LowerToLLVM.cpp rename to src/Conversion/KrnlToLLVM/KrnlToLLVM.cpp index 42f13da..2763bea 100644 --- a/src/Transform/LowerToLLVM.cpp +++ b/src/Conversion/KrnlToLLVM/KrnlToLLVM.cpp @@ -865,13 +865,13 @@ private: //===----------------------------------------------------------------------===// namespace { -struct KrnlToLLVMLoweringPass - : public PassWrapper> { +struct ConvertKrlnToLLVMPass + : public PassWrapper> { void runOnOperation() final; }; } // end anonymous namespace -void KrnlToLLVMLoweringPass::runOnOperation() { +void ConvertKrlnToLLVMPass::runOnOperation() { // Define the target for this lowering i.e. the LLVM dialect. ConversionTarget target(getContext()); target.addLegalDialect(); @@ -905,6 +905,6 @@ void KrnlToLLVMLoweringPass::runOnOperation() { } /// Create the pass for lowering `Krnl`, `Affine` and `Std` dialects to LLVM. -std::unique_ptr mlir::createKrnlLowerToLLVMPass() { - return std::make_unique(); +std::unique_ptr mlir::createConvertKrnlToLLVMPass() { + return std::make_unique(); } diff --git a/src/InitOMPasses.hpp b/src/InitOMPasses.hpp index feb6fcc..4dd09bd 100644 --- a/src/InitOMPasses.hpp +++ b/src/InitOMPasses.hpp @@ -48,12 +48,13 @@ void initOMPasses() { return mlir::createKrnlBundleMemoryPoolsPass(); }); - mlir::registerPass( - "lower-krnl", "Lower Krnl dialect.", []() -> std::unique_ptr { - return mlir::createLowerKrnlPass(); + mlir::registerPass("convert-krnl-to-affine", "Lower Krnl dialect.", + []() -> std::unique_ptr { + return mlir::createConvertKrnlToAffinePass(); }); - mlir::registerPass("lower-frontend", "Lower frontend ops to Krnl dialect.", + mlir::registerPass("convert-onnx-to-krnl", + "Lower frontend ops to Krnl dialect.", []() -> std::unique_ptr { return mlir::createLowerToKrnlPass(); }); @@ -64,10 +65,10 @@ void initOMPasses() { return mlir::createElideConstGlobalValuePass(); }); - mlir::registerPass("lower-all-llvm", + mlir::registerPass("convert-krnl-to-llvm", "Lower the Krnl Affine and Std dialects to LLVM.", []() -> std::unique_ptr { - return mlir::createKrnlLowerToLLVMPass(); + return mlir::createConvertKrnlToLLVMPass(); }); mlir::registerPass("pack-krnl-constants", diff --git a/src/MainUtils.cpp b/src/MainUtils.cpp index 0d07e82..cf6a259 100644 --- a/src/MainUtils.cpp +++ b/src/MainUtils.cpp @@ -397,7 +397,7 @@ void addONNXToKrnlPasses(mlir::PassManager &pm) { } void addKrnlToAffinePasses(mlir::PassManager &pm) { - pm.addPass(mlir::createLowerKrnlPass()); + pm.addPass(mlir::createConvertKrnlToAffinePass()); // Fuse loops in Affine dialect. // pm.addPass(mlir::createLoopFusionPass()); } @@ -405,7 +405,7 @@ void addKrnlToAffinePasses(mlir::PassManager &pm) { void addKrnlToLLVMPasses(mlir::PassManager &pm) { pm.addPass(mlir::createLowerAffinePass()); pm.addPass(mlir::createLowerToCFGPass()); - pm.addPass(mlir::createKrnlLowerToLLVMPass()); + pm.addPass(mlir::createConvertKrnlToLLVMPass()); pm.addPass(mlir::createCanonicalizerPass()); } diff --git a/src/Pass/Passes.hpp b/src/Pass/Passes.hpp index 2a3e362..5197553 100644 --- a/src/Pass/Passes.hpp +++ b/src/Pass/Passes.hpp @@ -38,13 +38,13 @@ std::unique_ptr createKrnlBundleMemoryPoolsPass(); std::unique_ptr createLowerToKrnlPass(); /// Pass for lowering frontend dialects to Krnl IR dialect. -std::unique_ptr createLowerKrnlPass(); +std::unique_ptr createConvertKrnlToAffinePass(); /// Pass for eliding the values of global Krnl operations. std::unique_ptr createElideConstGlobalValuePass(); /// Pass for lowering Krnl dialect to LLVM dialect. -std::unique_ptr createKrnlLowerToLLVMPass(); +std::unique_ptr createConvertKrnlToLLVMPass(); /// Pass for packing Krnl global constants. std::unique_ptr createPackKrnlGlobalConstantsPass(); diff --git a/src/Transform/CMakeLists.txt b/src/Transform/CMakeLists.txt index 0626abf..8961998 100644 --- a/src/Transform/CMakeLists.txt +++ b/src/Transform/CMakeLists.txt @@ -1,31 +1,3 @@ -add_library(OMKrnlToAffine - LowerKrnl.cpp) -target_include_directories(OMKrnlToAffine - PRIVATE - ${ONNX_MLIR_SRC_ROOT} - ${ONNX_MLIR_BIN_ROOT} - ${ONNX_MLIR_SRC_ROOT}) -# Header dependencies -add_dependencies(OMKrnlToAffine OMKrnlOpsInc) -# Linking dependencies -add_dependencies(OMKrnlToAffine OMKrnlOps) - -add_library(OMKrnlToLLVM - LowerToLLVM.cpp) -target_include_directories(OMKrnlToLLVM - PRIVATE - ${ONNX_MLIR_SRC_ROOT} - ${ONNX_MLIR_BIN_ROOT} - ${ONNX_MLIR_SRC_ROOT}) - -# Header dependencies -add_dependencies(OMKrnlToLLVM OMKrnlOpsInc OMONNXOpsInc) -# Linking dependencies -add_dependencies(OMKrnlToLLVM OMKrnlOps OMONNXOps) - -target_link_libraries(OMKrnlToLLVM - onnx) - add_library(OMElideKrnlGlobalConstants ElideKrnlGlobalConstants.cpp ElideKrnlGlobalConstants.hpp) diff --git a/test/mlir/conversion/krnl_to_affine.mlir b/test/mlir/conversion/krnl_to_affine.mlir index bd49d3e..55e8e19 100644 --- a/test/mlir/conversion/krnl_to_affine.mlir +++ b/test/mlir/conversion/krnl_to_affine.mlir @@ -1,4 +1,4 @@ -// RUN: onnx-mlir-opt --lower-krnl %s -split-input-file | FileCheck %s +// RUN: onnx-mlir-opt --convert-krnl-to-affine %s -split-input-file | FileCheck %s func @test_lower_degenerate_iterate(%arg0: memref) -> memref { %0 = alloc() : memref diff --git a/test/mlir/krnl/block.mlir b/test/mlir/krnl/block.mlir index a48c7a4..c7f09b9 100644 --- a/test/mlir/krnl/block.mlir +++ b/test/mlir/krnl/block.mlir @@ -1,4 +1,4 @@ -// RUN: onnx-mlir-opt --lower-krnl %s -split-input-file | FileCheck %s +// RUN: onnx-mlir-opt --convert-krnl-to-affine %s -split-input-file | FileCheck %s // CHECK-DAG: #{{.*}} = affine_map<(d0) -> (d0)> // CHECK-DAG: #{{.*}} = affine_map<(d0) -> (d0 + 2)> diff --git a/test/mlir/krnl/constant.mlir b/test/mlir/krnl/constant.mlir index 8f71c7c..3c48d2f 100644 --- a/test/mlir/krnl/constant.mlir +++ b/test/mlir/krnl/constant.mlir @@ -1,4 +1,4 @@ -// RUN: onnx-mlir-opt --shape-inference --lower-frontend --lower-krnl --lower-all-llvm %s -split-input-file | FileCheck %s +// RUN: onnx-mlir-opt --shape-inference --convert-onnx-to-krnl --convert-krnl-to-affine --convert-krnl-to-llvm %s -split-input-file | FileCheck %s // ----- diff --git a/test/mlir/krnl/krnl_getref_lowering.mlir b/test/mlir/krnl/krnl_getref_lowering.mlir index 3e60b4e..da86731 100644 --- a/test/mlir/krnl/krnl_getref_lowering.mlir +++ b/test/mlir/krnl/krnl_getref_lowering.mlir @@ -1,4 +1,4 @@ -// RUN: onnx-mlir-opt --lower-krnl --lower-all-llvm %s -split-input-file | FileCheck %s +// RUN: onnx-mlir-opt --convert-krnl-to-affine --convert-krnl-to-llvm %s -split-input-file | FileCheck %s func @test_getref_lowering(%arg0: memref<2x2xf32>) -> memref<2x2xf32> { %c13_i64 = constant 13 : i64 diff --git a/test/mlir/krnl/memory_pool.mlir b/test/mlir/krnl/memory_pool.mlir index 49fad5c..c3d0084 100644 --- a/test/mlir/krnl/memory_pool.mlir +++ b/test/mlir/krnl/memory_pool.mlir @@ -1,4 +1,4 @@ -// RUN: onnx-mlir-opt --shape-inference --lower-frontend --enable-memory-pool --lower-krnl --lower-all-llvm %s -split-input-file | FileCheck %s +// RUN: onnx-mlir-opt --shape-inference --convert-onnx-to-krnl --enable-memory-pool --convert-krnl-to-affine --convert-krnl-to-llvm %s -split-input-file | FileCheck %s func @test_memory_pool(%arg0: tensor<10x10xf32>) -> tensor<10x10xf32> { %0 = "onnx.Add"(%arg0, %arg0) : (tensor<10x10xf32>, tensor<10x10xf32>) -> tensor<10x10xf32> diff --git a/test/mlir/krnl/permute.mlir b/test/mlir/krnl/permute.mlir index 83ac969..2f1b6d6 100644 --- a/test/mlir/krnl/permute.mlir +++ b/test/mlir/krnl/permute.mlir @@ -1,4 +1,4 @@ -// RUN: onnx-mlir-opt --lower-krnl %s -split-input-file | FileCheck %s +// RUN: onnx-mlir-opt --convert-krnl-to-affine %s -split-input-file | FileCheck %s func @simple_permute() { %ii, %jj = krnl.define_loops 2 diff --git a/test/mlir/krnl/reshape.mlir b/test/mlir/krnl/reshape.mlir index dc105d2..65f24ce 100644 --- a/test/mlir/krnl/reshape.mlir +++ b/test/mlir/krnl/reshape.mlir @@ -1,4 +1,4 @@ -// RUN: onnx-mlir-opt --shape-inference --lower-frontend --lower-krnl --lower-all-llvm %s -split-input-file | FileCheck %s +// RUN: onnx-mlir-opt --shape-inference --convert-onnx-to-krnl --convert-krnl-to-affine --convert-krnl-to-llvm %s -split-input-file | FileCheck %s // ----- diff --git a/test/mlir/krnl/unroll.mlir b/test/mlir/krnl/unroll.mlir index 77dc9b1..1c5ff52 100644 --- a/test/mlir/krnl/unroll.mlir +++ b/test/mlir/krnl/unroll.mlir @@ -1,4 +1,4 @@ -// RUN: onnx-mlir-opt --lower-krnl %s -split-input-file | FileCheck %s +// RUN: onnx-mlir-opt --convert-krnl-to-affine %s -split-input-file | FileCheck %s func @simple_unroll() { %ii = krnl.define_loops 1 diff --git a/test/mlir/onnx/onnx_bundle_memory_pool.mlir b/test/mlir/onnx/onnx_bundle_memory_pool.mlir index f6288a8..def0cda 100644 --- a/test/mlir/onnx/onnx_bundle_memory_pool.mlir +++ b/test/mlir/onnx/onnx_bundle_memory_pool.mlir @@ -1,4 +1,4 @@ -// RUN: onnx-mlir-opt --shape-inference --lower-frontend --enable-memory-pool --bundle-memory-pools --canonicalize %s -split-input-file | FileCheck %s +// RUN: onnx-mlir-opt --shape-inference --convert-onnx-to-krnl --enable-memory-pool --bundle-memory-pools --canonicalize %s -split-input-file | FileCheck %s func @test_bundle_memory_pool(%arg0: tensor<10x10xf32>, %arg1: tensor<10x20xf32>) -> tensor<10x20xf32> { %0 = "onnx.Add"(%arg0, %arg0) : (tensor<10x10xf32>, tensor<10x10xf32>) -> tensor<10x10xf32> diff --git a/test/mlir/onnx/onnx_enable_memory_pool.mlir b/test/mlir/onnx/onnx_enable_memory_pool.mlir index 5ae18d2..9521d6e 100644 --- a/test/mlir/onnx/onnx_enable_memory_pool.mlir +++ b/test/mlir/onnx/onnx_enable_memory_pool.mlir @@ -1,4 +1,4 @@ -// RUN: onnx-mlir-opt --shape-inference --lower-frontend --enable-memory-pool %s -split-input-file | FileCheck %s +// RUN: onnx-mlir-opt --shape-inference --convert-onnx-to-krnl --enable-memory-pool %s -split-input-file | FileCheck %s /// One intermediate value to allocate in the memory pool. func @test_enable_memory_pool(%arg0: tensor<10x10xf32>) -> tensor<10x10xf32> { diff --git a/test/mlir/onnx/onnx_lowering.mlir b/test/mlir/onnx/onnx_lowering.mlir index 5aa3ef7..ab303d0 100644 --- a/test/mlir/onnx/onnx_lowering.mlir +++ b/test/mlir/onnx/onnx_lowering.mlir @@ -1,4 +1,4 @@ -// RUN: onnx-mlir-opt --shape-inference --lower-frontend %s -split-input-file | FileCheck %s +// RUN: onnx-mlir-opt --shape-inference --convert-onnx-to-krnl %s -split-input-file | FileCheck %s // ---- diff --git a/test/mlir/onnx/onnx_lowering_with_dealloc.mlir b/test/mlir/onnx/onnx_lowering_with_dealloc.mlir index ccf653b..c9f3c31 100644 --- a/test/mlir/onnx/onnx_lowering_with_dealloc.mlir +++ b/test/mlir/onnx/onnx_lowering_with_dealloc.mlir @@ -1,4 +1,4 @@ -// RUN: onnx-mlir-opt --shape-inference --lower-frontend %s -split-input-file | FileCheck %s +// RUN: onnx-mlir-opt --shape-inference --convert-onnx-to-krnl %s -split-input-file | FileCheck %s // -----