From 0aafb3e72fafbe63818defa775d3f933da6e4818 Mon Sep 17 00:00:00 2001 From: Tian Jin Date: Thu, 19 Mar 2020 16:48:09 +0800 Subject: [PATCH] [WIP][NFC]Rename files to llvm style (#35) * Change naming style for builder directory. * Change naming style for conversion folder. * Fix case sensitivity issue. * Fix missing onnx header onnx_pb.h issue. * Rename files in Conversion to llvm style. * Rename files in Dialect to llvm style. * Path fix. * Rename files in Pass to llvm style. * Rename files in Runtime to llvm style. * Rename files in Tool to llvm style. * Rename files in Transform to llvm style. * Change comments about filenames. * Fix case. * Rename interface directory to use llvm file naming convention. --- doc/gen_doc.py | 4 +- src/{builder => Builder}/CMakeLists.txt | 13 ++- .../FrontendDialectHelper.cpp} | 4 +- .../FrontendDialectHelper.hpp} | 4 +- .../FrontendDialectTransformer.cpp} | 8 +- .../FrontendDialectTransformer.hpp} | 4 +- .../OpBuildTable.inc} | 0 src/CMakeLists.txt | 89 +++++++++---------- .../ONNXToKrnl/ConvertONNXToKrnl.cpp} | 4 +- .../ONNXToKrnl/Math/Elementwise.cpp} | 4 +- .../ONNXToKrnl/Math/Gemm.cpp} | 4 +- .../ONNXToKrnl/Math/MatMul.cpp} | 4 +- .../ONNXToKrnl/Math/Reduction.cpp} | 4 +- .../ONNXToKrnl/Math/Softmax.cpp} | 4 +- .../ONNXToKrnl/NN/Conv.cpp} | 4 +- .../ONNXToKrnl/NN/Normalization.cpp} | 4 +- .../ONNXToKrnl/NN/Pooling.cpp} | 4 +- .../ONNXToKrnl/ONNXToKrnlCommon.cpp} | 4 +- .../ONNXToKrnl/ONNXToKrnlCommon.hpp} | 16 ++-- .../ONNXToKrnl/Tensor/Constant.cpp} | 4 +- .../ONNXToKrnl/Tensor/Identity.cpp} | 4 +- .../Tensor/PadConstantValuePad.cpp} | 4 +- .../ONNXToKrnl/Tensor/Reshape.cpp} | 4 +- .../ONNXToKrnl/Tensor/Transpose.cpp} | 4 +- .../ONNXToKrnl/Tensor/Unsqueeze.cpp} | 4 +- .../Krnl/KrnlHelper.cpp} | 14 ++- .../Krnl/KrnlHelper.hpp} | 10 +++ .../krnl_ops.cpp => Dialect/Krnl/KrnlOps.cpp} | 10 ++- .../krnl_ops.hpp => Dialect/Krnl/KrnlOps.hpp} | 10 ++- .../krnl_ops.td => Dialect/Krnl/KrnlOps.td} | 6 +- .../Krnl/KrnlTypes.cpp} | 8 +- .../Krnl/KrnlTypes.hpp} | 6 +- .../onnx => Dialect/ONNX}/CMakeLists.txt | 0 .../onnx_ops.cpp => Dialect/ONNX/ONNXOps.cpp} | 9 +- .../onnx_ops.hpp => Dialect/ONNX/ONNXOps.hpp} | 6 +- .../onnx/onnx.td => Dialect/ONNX/ONNXOps.td} | 12 +-- .../ONNX/ONNXOps.td.inc} | 0 src/{interface => Interface}/CMakeLists.txt | 6 +- .../PromotableConstOperandsOpInterface.cpp} | 4 +- .../PromotableConstOperandsOpInterface.hpp} | 2 +- .../PromotableConstOperandsOpInterface.td} | 0 .../onnx_combine.cpp => Pass/ONNXCombine.cpp} | 4 +- .../onnx_combine.td => Pass/ONNXCombine.td} | 6 +- .../ONNXDecompose.cpp} | 8 +- .../ONNXDecompose.td} | 8 +- .../onnx_rewrite.cpp => Pass/ONNXRewrite.cpp} | 6 +- .../onnx_rewrite.td => Pass/ONNXRewrite.td} | 6 +- src/{pass/passes.hpp => Pass/Passes.hpp} | 4 +- .../ShapeInferenceInterface.hpp} | 4 +- .../ShapeInferenceInterface.td} | 4 +- .../ShapeInferencePass.cpp} | 8 +- src/{runtime => Runtime}/CMakeLists.txt | 14 +-- .../data_type.h => Runtime/DataType.h} | 0 .../dyn_memref.cpp => Runtime/DynMemRef.cpp} | 2 +- .../dyn_memref.h => Runtime/DynMemRef.h} | 0 .../runtime.cpp => Runtime/Runtime.cpp} | 2 +- .../runtime.hpp => Runtime/Runtime.hpp} | 2 +- src/Tool/CMakeLists.txt | 1 + .../ONNXMLIROpt}/CMakeLists.txt | 2 +- .../ONNXMLIROpt/ONNXMLIROpt.cpp} | 12 +-- src/{transform => Transform}/CMakeLists.txt | 4 +- .../LowerKrnl.cpp} | 14 ++- .../LowerToLLVM.cpp} | 12 ++- .../onnx/CMakeLists.txt | 0 .../onnx/attribute_promotion.cpp | 4 +- src/main.cpp | 8 +- src/tool/CMakeLists.txt | 1 - 67 files changed, 245 insertions(+), 200 deletions(-) rename src/{builder => Builder}/CMakeLists.txt (66%) rename src/{builder/frontend_dialect_helper.cpp => Builder/FrontendDialectHelper.cpp} (98%) rename src/{builder/frontend_dialect_helper.hpp => Builder/FrontendDialectHelper.hpp} (95%) rename src/{builder/frontend_dialect_transformer.cpp => Builder/FrontendDialectTransformer.cpp} (98%) rename src/{builder/frontend_dialect_transformer.hpp => Builder/FrontendDialectTransformer.hpp} (91%) rename src/{builder/op_build_table.inc => Builder/OpBuildTable.inc} (100%) rename src/{conversion/onnx_to_krnl/convert_onnx_to_krnl.cpp => Conversion/ONNXToKrnl/ConvertONNXToKrnl.cpp} (97%) rename src/{conversion/onnx_to_krnl/math/elementwise.cpp => Conversion/ONNXToKrnl/Math/Elementwise.cpp} (99%) rename src/{conversion/onnx_to_krnl/math/gemm.cpp => Conversion/ONNXToKrnl/Math/Gemm.cpp} (98%) rename src/{conversion/onnx_to_krnl/math/matmul.cpp => Conversion/ONNXToKrnl/Math/MatMul.cpp} (99%) rename src/{conversion/onnx_to_krnl/math/reduction.cpp => Conversion/ONNXToKrnl/Math/Reduction.cpp} (98%) rename src/{conversion/onnx_to_krnl/math/softmax.cpp => Conversion/ONNXToKrnl/Math/Softmax.cpp} (98%) rename src/{conversion/onnx_to_krnl/nn/conv.cpp => Conversion/ONNXToKrnl/NN/Conv.cpp} (98%) rename src/{conversion/onnx_to_krnl/nn/normalization.cpp => Conversion/ONNXToKrnl/NN/Normalization.cpp} (97%) rename src/{conversion/onnx_to_krnl/nn/pooling.cpp => Conversion/ONNXToKrnl/NN/Pooling.cpp} (99%) rename src/{conversion/onnx_to_krnl/onnx_to_krnl_common.cpp => Conversion/ONNXToKrnl/ONNXToKrnlCommon.cpp} (99%) rename src/{conversion/onnx_to_krnl/onnx_to_krnl_common.hpp => Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp} (96%) rename src/{conversion/onnx_to_krnl/tensor/constant.cpp => Conversion/ONNXToKrnl/Tensor/Constant.cpp} (96%) rename src/{conversion/onnx_to_krnl/tensor/identity.cpp => Conversion/ONNXToKrnl/Tensor/Identity.cpp} (87%) rename src/{conversion/onnx_to_krnl/tensor/padconstantvaluepad.cpp => Conversion/ONNXToKrnl/Tensor/PadConstantValuePad.cpp} (96%) rename src/{conversion/onnx_to_krnl/tensor/reshape.cpp => Conversion/ONNXToKrnl/Tensor/Reshape.cpp} (98%) rename src/{conversion/onnx_to_krnl/tensor/transpose.cpp => Conversion/ONNXToKrnl/Tensor/Transpose.cpp} (96%) rename src/{conversion/onnx_to_krnl/tensor/unsqueeze.cpp => Conversion/ONNXToKrnl/Tensor/Unsqueeze.cpp} (96%) rename src/{dialect/krnl/krnl_helper.cpp => Dialect/Krnl/KrnlHelper.cpp} (95%) rename src/{dialect/krnl/krnl_helper.hpp => Dialect/Krnl/KrnlHelper.hpp} (95%) rename src/{dialect/krnl/krnl_ops.cpp => Dialect/Krnl/KrnlOps.cpp} (98%) rename src/{dialect/krnl/krnl_ops.hpp => Dialect/Krnl/KrnlOps.hpp} (83%) rename src/{dialect/krnl/krnl_ops.td => Dialect/Krnl/KrnlOps.td} (97%) rename src/{dialect/krnl/krnl_types.cpp => Dialect/Krnl/KrnlTypes.cpp} (50%) rename src/{dialect/krnl/krnl_types.hpp => Dialect/Krnl/KrnlTypes.hpp} (84%) rename src/{dialect/onnx => Dialect/ONNX}/CMakeLists.txt (100%) rename src/{dialect/onnx/onnx_ops.cpp => Dialect/ONNX/ONNXOps.cpp} (99%) rename src/{dialect/onnx/onnx_ops.hpp => Dialect/ONNX/ONNXOps.hpp} (84%) rename src/{dialect/onnx/onnx.td => Dialect/ONNX/ONNXOps.td} (96%) rename src/{dialect/onnx/onnx_ops.td.inc => Dialect/ONNX/ONNXOps.td.inc} (100%) rename src/{interface => Interface}/CMakeLists.txt (70%) rename src/{interface/promotable_const_operands_op_interface.cpp => Interface/PromotableConstOperandsOpInterface.cpp} (84%) rename src/{interface/promotable_const_operands_op_interface.hpp => Interface/PromotableConstOperandsOpInterface.hpp} (87%) rename src/{interface/promotable_const_operands_op_interface.td => Interface/PromotableConstOperandsOpInterface.td} (100%) rename src/{pass/onnx_combine.cpp => Pass/ONNXCombine.cpp} (93%) rename src/{pass/onnx_combine.td => Pass/ONNXCombine.td} (93%) rename src/{pass/onnx_decompose.cpp => Pass/ONNXDecompose.cpp} (91%) rename src/{pass/onnx_decompose.td => Pass/ONNXDecompose.td} (94%) rename src/{pass/onnx_rewrite.cpp => Pass/ONNXRewrite.cpp} (97%) rename src/{pass/onnx_rewrite.td => Pass/ONNXRewrite.td} (96%) rename src/{pass/passes.hpp => Pass/Passes.hpp} (89%) rename src/{pass/shape_inference_interface.hpp => Pass/ShapeInferenceInterface.hpp} (78%) rename src/{pass/shape_inference_interface.td => Pass/ShapeInferenceInterface.td} (85%) rename src/{pass/shape_inference_pass.cpp => Pass/ShapeInferencePass.cpp} (97%) rename src/{runtime => Runtime}/CMakeLists.txt (72%) rename src/{runtime/data_type.h => Runtime/DataType.h} (100%) rename src/{runtime/dyn_memref.cpp => Runtime/DynMemRef.cpp} (98%) rename src/{runtime/dyn_memref.h => Runtime/DynMemRef.h} (100%) rename src/{runtime/runtime.cpp => Runtime/Runtime.cpp} (98%) rename src/{runtime/runtime.hpp => Runtime/Runtime.hpp} (95%) create mode 100644 src/Tool/CMakeLists.txt rename src/{tool/onnx_mlir_opt => Tool/ONNXMLIROpt}/CMakeLists.txt (88%) rename src/{tool/onnx_mlir_opt/onnx_mlir_opt.cpp => Tool/ONNXMLIROpt/ONNXMLIROpt.cpp} (91%) rename src/{transform => Transform}/CMakeLists.txt (81%) rename src/{transform/lower_krnl.cpp => Transform/LowerKrnl.cpp} (94%) rename src/{transform/lower_to_llvm.cpp => Transform/LowerToLLVM.cpp} (98%) rename src/{transform => Transform}/onnx/CMakeLists.txt (100%) rename src/{transform => Transform}/onnx/attribute_promotion.cpp (96%) delete mode 100644 src/tool/CMakeLists.txt diff --git a/doc/gen_doc.py b/doc/gen_doc.py index 4f921a9..f9b99ab 100644 --- a/doc/gen_doc.py +++ b/doc/gen_doc.py @@ -544,7 +544,7 @@ if __name__ == '__main__': curr_dir = os.path.dirname(os.path.realpath(__file__)) class Args(object): - op_def_file = os.path.join(curr_dir, 'onnx_ops.td.inc') - op_importer_file = os.path.join(curr_dir, 'op_build_table.inc') + op_def_file = os.path.join(curr_dir, 'ONNXOps.td.inc') + op_importer_file = os.path.join(curr_dir, 'OpBuildTable.inc') main(Args) diff --git a/src/builder/CMakeLists.txt b/src/Builder/CMakeLists.txt similarity index 66% rename from src/builder/CMakeLists.txt rename to src/Builder/CMakeLists.txt index 1d1a117..d917d81 100644 --- a/src/builder/CMakeLists.txt +++ b/src/Builder/CMakeLists.txt @@ -1,17 +1,16 @@ add_library(builder - frontend_dialect_helper.cpp - frontend_dialect_helper.hpp - frontend_dialect_transformer.cpp - frontend_dialect_transformer.hpp - op_build_table.inc - ) + FrontendDialectHelper.cpp + FrontendDialectHelper.hpp + FrontendDialectTransformer.cpp + FrontendDialectTransformer.hpp + OpBuildTable.inc) target_include_directories(builder PRIVATE ${CMAKE_SOURCE_DIR}) target_include_directories(builder PRIVATE ${CMAKE_BINARY_DIR}) target_link_libraries(builder compiler onnx ${MLIRLibs} curses mpark_variant) target_include_directories(builder - PRIVATE + PUBLIC ${CMAKE_SOURCE_DIR}/third_party/onnx ${CMAKE_SOURCE_DIR}/third_party/variant ${CMAKE_SOURCE_DIR}) diff --git a/src/builder/frontend_dialect_helper.cpp b/src/Builder/FrontendDialectHelper.cpp similarity index 98% rename from src/builder/frontend_dialect_helper.cpp rename to src/Builder/FrontendDialectHelper.cpp index 41f244b..cd41ac1 100644 --- a/src/builder/frontend_dialect_helper.cpp +++ b/src/Builder/FrontendDialectHelper.cpp @@ -1,4 +1,4 @@ -//===------------------- frontend_dialect_helper.cpp ----------------------===// +//===--------------------- FrontendDialectHelper.cpp ----------------------===// // // Copyright 2019 The IBM Research Authors. // @@ -8,7 +8,7 @@ // //===----------------------------------------------------------------------===// -#include "src/builder/frontend_dialect_helper.hpp" +#include "src/Builder/FrontendDialectHelper.hpp" namespace onnx_mlir { diff --git a/src/builder/frontend_dialect_helper.hpp b/src/Builder/FrontendDialectHelper.hpp similarity index 95% rename from src/builder/frontend_dialect_helper.hpp rename to src/Builder/FrontendDialectHelper.hpp index fb1cdb1..0fcc195 100644 --- a/src/builder/frontend_dialect_helper.hpp +++ b/src/Builder/FrontendDialectHelper.hpp @@ -1,4 +1,4 @@ -//===------------------- frontend_dialect_helper.hpp ----------------------===// +//===--------------------- FrontendDialectHelper.hpp ----------------------===// // // Copyright 2019 The IBM Research Authors. // @@ -31,7 +31,7 @@ #include "llvm/ADT/ScopedHashTable.h" #include "llvm/Support/raw_ostream.h" -#include "src/dialect/onnx/onnx_ops.hpp" +#include "src/Dialect/ONNX/ONNXOps.hpp" #include "onnx/onnx_pb.h" namespace onnx_mlir { diff --git a/src/builder/frontend_dialect_transformer.cpp b/src/Builder/FrontendDialectTransformer.cpp similarity index 98% rename from src/builder/frontend_dialect_transformer.cpp rename to src/Builder/FrontendDialectTransformer.cpp index 5fc12ac..77691a1 100644 --- a/src/builder/frontend_dialect_transformer.cpp +++ b/src/Builder/FrontendDialectTransformer.cpp @@ -1,4 +1,4 @@ -//===- frontend_dialect_transformer.cpp - MLIR Operations -----------------===// +//===--------- FrontendDialectTransformer.cpp - MLIR Operations -----------===// // // Copyright 2019 The IBM Research Authors. // @@ -19,7 +19,7 @@ #include namespace bstd = mpark; -#include "frontend_dialect_transformer.hpp" +#include "FrontendDialectTransformer.hpp" namespace onnx_mlir { namespace { @@ -369,12 +369,12 @@ private: llvm::StringRef opName = node.op_type(); // the following code is generated by gen_doc.py - // refer to dialect/onnx/onnx.td for details + // refer to Dialect/ONNX/ONNXOps.td for details // when the input or output of then op does not match the specification, // the generic operator is used // one known reeason is the optional input -#include "src/builder/op_build_table.inc" +#include "src/Builder/OpBuildTable.inc" } /*! diff --git a/src/builder/frontend_dialect_transformer.hpp b/src/Builder/FrontendDialectTransformer.hpp similarity index 91% rename from src/builder/frontend_dialect_transformer.hpp rename to src/Builder/FrontendDialectTransformer.hpp index 01c29b0..fe39675 100644 --- a/src/builder/frontend_dialect_transformer.hpp +++ b/src/Builder/FrontendDialectTransformer.hpp @@ -1,4 +1,4 @@ -//===- frontend_dialect_transformer.hpp - MLIR Operations -----------------===// +//===--------- FrontendDialectTransformer.hpp - MLIR Operations -----------===// // // Copyright 2019 The IBM Research Authors. // @@ -18,7 +18,7 @@ #include "onnx/onnx_pb.h" -#include "src/builder/frontend_dialect_helper.hpp" +#include "src/Builder/FrontendDialectHelper.hpp" namespace mlir { class MLIRContext; diff --git a/src/builder/op_build_table.inc b/src/Builder/OpBuildTable.inc similarity index 100% rename from src/builder/op_build_table.inc rename to src/Builder/OpBuildTable.inc diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d6b8ac3..07fc656 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,17 +1,17 @@ add_library(compiler - dialect/krnl/krnl_ops.cpp - dialect/krnl/krnl_ops.hpp - dialect/krnl/krnl_types.cpp - dialect/krnl/krnl_types.hpp - dialect/onnx/onnx_ops.cpp - dialect/onnx/onnx_ops.hpp - dialect/krnl/krnl_helper.cpp - dialect/krnl/krnl_helper.hpp - pass/shape_inference_interface.hpp - pass/onnx_combine.cpp - pass/onnx_rewrite.cpp - pass/onnx_decompose.cpp - pass/passes.hpp) + Dialect/Krnl/KrnlOps.cpp + Dialect/Krnl/KrnlOps.hpp + Dialect/Krnl/KrnlTypes.cpp + Dialect/Krnl/KrnlTypes.hpp + Dialect/ONNX/ONNXOps.cpp + Dialect/ONNX/ONNXOps.hpp + Dialect/Krnl/KrnlHelper.cpp + Dialect/Krnl/KrnlHelper.hpp + Pass/ShapeInferenceInterface.hpp + Pass/ONNXCombine.cpp + Pass/ONNXRewrite.cpp + Pass/ONNXDecompose.cpp + Pass/Passes.hpp) # Include root src directory. target_include_directories(compiler PRIVATE ${ONNX_MLIR_SRC_ROOT}) @@ -25,30 +25,30 @@ target_link_libraries(compiler ${MLIRLibs} curses) -set(LLVM_TARGET_DEFINITIONS pass/onnx_decompose.td) +set(LLVM_TARGET_DEFINITIONS Pass/ONNXDecompose.td) onnx_mlir_tablegen(onnx_decompose.inc -gen-rewriters) add_public_tablegen_target(gen_onnx_decompose) add_dependencies(compiler gen_onnx_decompose) -set(LLVM_TARGET_DEFINITIONS pass/shape_inference_interface.td) +set(LLVM_TARGET_DEFINITIONS Pass/ShapeInferenceInterface.td) onnx_mlir_tablegen(shape_inference.hpp.inc -gen-op-interface-decls) onnx_mlir_tablegen(shape_inference.cpp.inc -gen-op-interface-defs) add_public_tablegen_target(gen_shape_inference) add_dependencies(compiler gen_shape_inference) -set(LLVM_TARGET_DEFINITIONS pass/onnx_combine.td) +set(LLVM_TARGET_DEFINITIONS Pass/ONNXCombine.td) onnx_mlir_tablegen(onnx_combine.inc -gen-rewriters) add_public_tablegen_target(gen_onnx_combine) add_dependencies(compiler gen_onnx_combine) -set(LLVM_TARGET_DEFINITIONS pass/onnx_rewrite.td) +set(LLVM_TARGET_DEFINITIONS Pass/ONNXRewrite.td) onnx_mlir_tablegen(onnx_rewrite.inc -gen-rewriters) add_public_tablegen_target(gen_onnx_rewrite) add_dependencies(compiler gen_onnx_rewrite) -add_subdirectory(interface) +add_subdirectory(Interface) -set(LLVM_TARGET_DEFINITIONS dialect/onnx/onnx.td) +set(LLVM_TARGET_DEFINITIONS Dialect/ONNX/ONNXOps.td) onnx_mlir_tablegen(onnx.hpp.inc -gen-op-decls "-I${CMAKE_SOURCE_DIR}/compiler/pass") onnx_mlir_tablegen(onnx.cpp.inc -gen-op-defs "-I${CMAKE_SOURCE_DIR}/compiler/pass") set(GEN_DOC_FILE ${CMAKE_BINARY_DIR}/docs/Dialects/onnx.md) @@ -61,23 +61,22 @@ add_dependencies(compiler gen_onnx) # dependency of the onnx dialect library, which is currently part of `compiler`. add_dependencies(compiler onnx_mlir_gen_promotable_const_operands_op_interface) +add_onnx_mlir_dialect_doc(onnx Dialect/ONNX/ONNXOps.td) -add_onnx_mlir_dialect_doc(onnx dialect/onnx/onnx.td) - -set(LLVM_TARGET_DEFINITIONS dialect/krnl/krnl_ops.td) +set(LLVM_TARGET_DEFINITIONS Dialect/Krnl/KrnlOps.td) onnx_mlir_tablegen(krnl.hpp.inc -gen-op-decls) onnx_mlir_tablegen(krnl.cpp.inc -gen-op-defs) add_public_tablegen_target(gen_krnl_ops) add_dependencies(compiler gen_krnl_ops) -add_library(onnx_mlir_onnx_decompose pass/onnx_decompose.cpp) +add_library(onnx_mlir_onnx_decompose Pass/ONNXDecompose.cpp) target_include_directories(onnx_mlir_onnx_decompose PRIVATE ${ONNX_MLIR_SRC_ROOT} ${ONNX_MLIR_BIN_ROOT} ${ONNX_MLIR_SRC_ROOT}) target_link_libraries(onnx_mlir_onnx_decompose ${MLIRLibs}) add_dependencies(onnx_mlir_onnx_decompose gen_onnx) -add_library(onnx_mlir_shape_inference pass/shape_inference_pass.cpp) +add_library(onnx_mlir_shape_inference Pass/ShapeInferencePass.cpp) target_include_directories(onnx_mlir_shape_inference PRIVATE ${ONNX_MLIR_SRC_ROOT} ${ONNX_MLIR_BIN_ROOT} ${ONNX_MLIR_SRC_ROOT}) @@ -85,33 +84,33 @@ target_link_libraries(onnx_mlir_shape_inference ${MLIRLibs}) add_dependencies(onnx_mlir_shape_inference gen_onnx) add_library(onnx_mlir_lower_frontend - conversion/onnx_to_krnl/onnx_to_krnl_common.cpp - conversion/onnx_to_krnl/onnx_to_krnl_common.hpp - conversion/onnx_to_krnl/math/elementwise.cpp - conversion/onnx_to_krnl/math/gemm.cpp - conversion/onnx_to_krnl/math/matmul.cpp - conversion/onnx_to_krnl/math/reduction.cpp - conversion/onnx_to_krnl/math/softmax.cpp - conversion/onnx_to_krnl/nn/conv.cpp - conversion/onnx_to_krnl/nn/normalization.cpp - conversion/onnx_to_krnl/nn/pooling.cpp - conversion/onnx_to_krnl/tensor/identity.cpp - conversion/onnx_to_krnl/tensor/reshape.cpp - conversion/onnx_to_krnl/tensor/padconstantvaluepad.cpp - conversion/onnx_to_krnl/tensor/transpose.cpp - conversion/onnx_to_krnl/tensor/unsqueeze.cpp - conversion/onnx_to_krnl/tensor/constant.cpp - conversion/onnx_to_krnl/convert_onnx_to_krnl.cpp) + Conversion/ONNXToKrnl/ONNXToKrnlCommon.cpp + Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp + Conversion/ONNXToKrnl/Math/Elementwise.cpp + Conversion/ONNXToKrnl/Math/Gemm.cpp + Conversion/ONNXToKrnl/Math/MatMul.cpp + Conversion/ONNXToKrnl/Math/Reduction.cpp + Conversion/ONNXToKrnl/Math/Softmax.cpp + Conversion/ONNXToKrnl/NN/Conv.cpp + Conversion/ONNXToKrnl/NN/Normalization.cpp + Conversion/ONNXToKrnl/NN/Pooling.cpp + Conversion/ONNXToKrnl/Tensor/Identity.cpp + Conversion/ONNXToKrnl/Tensor/Reshape.cpp + Conversion/ONNXToKrnl/Tensor/PadConstantValuePad.cpp + Conversion/ONNXToKrnl/Tensor/Transpose.cpp + Conversion/ONNXToKrnl/Tensor/Unsqueeze.cpp + Conversion/ONNXToKrnl/Tensor/Constant.cpp + Conversion/ONNXToKrnl/ConvertONNXToKrnl.cpp) target_include_directories(onnx_mlir_lower_frontend PRIVATE ${ONNX_MLIR_SRC_ROOT} ${ONNX_MLIR_BIN_ROOT} ${ONNX_MLIR_SRC_ROOT}) target_link_libraries(onnx_mlir_lower_frontend ${MLIRLibs}) add_dependencies(onnx_mlir_lower_frontend gen_krnl_ops) -add_subdirectory(transform) -add_subdirectory(tool) -add_subdirectory(builder) -add_subdirectory(runtime) +add_subdirectory(Transform) +add_subdirectory(Tool) +add_subdirectory(Builder) +add_subdirectory(Runtime) add_executable(onnx-mlir main.cpp) diff --git a/src/conversion/onnx_to_krnl/convert_onnx_to_krnl.cpp b/src/Conversion/ONNXToKrnl/ConvertONNXToKrnl.cpp similarity index 97% rename from src/conversion/onnx_to_krnl/convert_onnx_to_krnl.cpp rename to src/Conversion/ONNXToKrnl/ConvertONNXToKrnl.cpp index 4499617..fe6f5d4 100644 --- a/src/conversion/onnx_to_krnl/convert_onnx_to_krnl.cpp +++ b/src/Conversion/ONNXToKrnl/ConvertONNXToKrnl.cpp @@ -1,4 +1,4 @@ -//====- convert_onnx_to_krnl.cpp - ONNX dialects to Krnl lowering ---------===// +//====------ ConvertONNXToKrnl.cpp - ONNX dialects to Krnl lowering --------===// // // Copyright 2019 The IBM Research Authors. // @@ -9,7 +9,7 @@ // //===----------------------------------------------------------------------===// -#include "src/conversion/onnx_to_krnl/onnx_to_krnl_common.hpp" +#include "src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp" using namespace mlir; diff --git a/src/conversion/onnx_to_krnl/math/elementwise.cpp b/src/Conversion/ONNXToKrnl/Math/Elementwise.cpp similarity index 99% rename from src/conversion/onnx_to_krnl/math/elementwise.cpp rename to src/Conversion/ONNXToKrnl/Math/Elementwise.cpp index 200c6cc..0a8916b 100644 --- a/src/conversion/onnx_to_krnl/math/elementwise.cpp +++ b/src/Conversion/ONNXToKrnl/Math/Elementwise.cpp @@ -1,4 +1,4 @@ -//===----- elementwise.cpp - Elementwise Ops ------------------------------===// +//===---------------- Elementwise.cpp - Elementwise Ops -------------------===// // // Copyright 2019 The IBM Research Authors. // @@ -8,7 +8,7 @@ // //===----------------------------------------------------------------------===// -#include "src/conversion/onnx_to_krnl/onnx_to_krnl_common.hpp" +#include "src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp" using namespace mlir; diff --git a/src/conversion/onnx_to_krnl/math/gemm.cpp b/src/Conversion/ONNXToKrnl/Math/Gemm.cpp similarity index 98% rename from src/conversion/onnx_to_krnl/math/gemm.cpp rename to src/Conversion/ONNXToKrnl/Math/Gemm.cpp index 33399cb..6442334 100644 --- a/src/conversion/onnx_to_krnl/math/gemm.cpp +++ b/src/Conversion/ONNXToKrnl/Math/Gemm.cpp @@ -1,4 +1,4 @@ -//===----- gemm.cpp - Lowering Gemm Op ------------------------------------===// +//===----------------- Gemm.cpp - Lowering Gemm Op -------------------------===// // // Copyright 2019 The IBM Research Authors. // @@ -8,7 +8,7 @@ // //===----------------------------------------------------------------------===// -#include "src/conversion/onnx_to_krnl/onnx_to_krnl_common.hpp" +#include "src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp" using namespace mlir; diff --git a/src/conversion/onnx_to_krnl/math/matmul.cpp b/src/Conversion/ONNXToKrnl/Math/MatMul.cpp similarity index 99% rename from src/conversion/onnx_to_krnl/math/matmul.cpp rename to src/Conversion/ONNXToKrnl/Math/MatMul.cpp index 2a6b7f2..e06deb4 100644 --- a/src/conversion/onnx_to_krnl/math/matmul.cpp +++ b/src/Conversion/ONNXToKrnl/Math/MatMul.cpp @@ -1,4 +1,4 @@ -//===----- matmul.cpp - Lowering Matmul Op --------------------------------===// +//===----------------- Matmul.cpp - Lowering Matmul Op --------------------===// // // Copyright 2019 The IBM Research Authors. // @@ -8,7 +8,7 @@ // //===----------------------------------------------------------------------===// -#include "src/conversion/onnx_to_krnl/onnx_to_krnl_common.hpp" +#include "src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp" using namespace mlir; diff --git a/src/conversion/onnx_to_krnl/math/reduction.cpp b/src/Conversion/ONNXToKrnl/Math/Reduction.cpp similarity index 98% rename from src/conversion/onnx_to_krnl/math/reduction.cpp rename to src/Conversion/ONNXToKrnl/Math/Reduction.cpp index e169cc6..533e7fe 100644 --- a/src/conversion/onnx_to_krnl/math/reduction.cpp +++ b/src/Conversion/ONNXToKrnl/Math/Reduction.cpp @@ -1,4 +1,4 @@ -//===----- reduction.cpp - Lowering Reduction Ops -------------------------===// +//===-------------- Reduction.cpp - Lowering Reduction Ops ----------------===// // // Copyright 2019 The IBM Research Authors. // @@ -8,7 +8,7 @@ // //===----------------------------------------------------------------------===// -#include "src/conversion/onnx_to_krnl/onnx_to_krnl_common.hpp" +#include "src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp" using namespace mlir; diff --git a/src/conversion/onnx_to_krnl/math/softmax.cpp b/src/Conversion/ONNXToKrnl/Math/Softmax.cpp similarity index 98% rename from src/conversion/onnx_to_krnl/math/softmax.cpp rename to src/Conversion/ONNXToKrnl/Math/Softmax.cpp index b32d15b..1acf990 100644 --- a/src/conversion/onnx_to_krnl/math/softmax.cpp +++ b/src/Conversion/ONNXToKrnl/Math/Softmax.cpp @@ -1,4 +1,4 @@ -//===----- softmax.cpp - Softmax Op ---------------------------------------===// +//===----------------- Softmax.cpp - Softmax Op ---------------------------===// // // Copyright 2019 The IBM Research Authors. // @@ -8,7 +8,7 @@ // //===----------------------------------------------------------------------===// -#include "src/conversion/onnx_to_krnl/onnx_to_krnl_common.hpp" +#include "src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp" using namespace mlir; diff --git a/src/conversion/onnx_to_krnl/nn/conv.cpp b/src/Conversion/ONNXToKrnl/NN/Conv.cpp similarity index 98% rename from src/conversion/onnx_to_krnl/nn/conv.cpp rename to src/Conversion/ONNXToKrnl/NN/Conv.cpp index 5b56a74..d75f6f7 100644 --- a/src/conversion/onnx_to_krnl/nn/conv.cpp +++ b/src/Conversion/ONNXToKrnl/NN/Conv.cpp @@ -1,4 +1,4 @@ -//===----- conv.cpp - Lowering Convolution Op -----------------------------===// +//===--------------- Conv.cpp - Lowering Convolution Op --------------------===// // // Copyright 2019 The IBM Research Authors. // @@ -8,7 +8,7 @@ // //===----------------------------------------------------------------------===// -#include "src/conversion/onnx_to_krnl/onnx_to_krnl_common.hpp" +#include "src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp" using namespace mlir; diff --git a/src/conversion/onnx_to_krnl/nn/normalization.cpp b/src/Conversion/ONNXToKrnl/NN/Normalization.cpp similarity index 97% rename from src/conversion/onnx_to_krnl/nn/normalization.cpp rename to src/Conversion/ONNXToKrnl/NN/Normalization.cpp index 24cfe41..16f6463 100644 --- a/src/conversion/onnx_to_krnl/nn/normalization.cpp +++ b/src/Conversion/ONNXToKrnl/NN/Normalization.cpp @@ -1,4 +1,4 @@ -//===----- normalization.cpp - Lowering Normalization Ops -----------------===// +//===----------- Normalization.cpp - Lowering Normalization Ops ------------===// // // Copyright 2019 The IBM Research Authors. // @@ -8,7 +8,7 @@ // //===----------------------------------------------------------------------===// -#include "src/conversion/onnx_to_krnl/onnx_to_krnl_common.hpp" +#include "src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp" using namespace mlir; diff --git a/src/conversion/onnx_to_krnl/nn/pooling.cpp b/src/Conversion/ONNXToKrnl/NN/Pooling.cpp similarity index 99% rename from src/conversion/onnx_to_krnl/nn/pooling.cpp rename to src/Conversion/ONNXToKrnl/NN/Pooling.cpp index 2ab761d..4c0be1e 100644 --- a/src/conversion/onnx_to_krnl/nn/pooling.cpp +++ b/src/Conversion/ONNXToKrnl/NN/Pooling.cpp @@ -1,4 +1,4 @@ -//===----- pooling.cpp - Lowering Pooling Ops -----------------------------===// +//===---------------- Pooling.cpp - Lowering Pooling Ops ------------------===// // // Copyright 2019 The IBM Research Authors. // @@ -8,7 +8,7 @@ // //===----------------------------------------------------------------------===// -#include "src/conversion/onnx_to_krnl/onnx_to_krnl_common.hpp" +#include "src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp" using namespace mlir; diff --git a/src/conversion/onnx_to_krnl/onnx_to_krnl_common.cpp b/src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.cpp similarity index 99% rename from src/conversion/onnx_to_krnl/onnx_to_krnl_common.cpp rename to src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.cpp index e8f3f58..9eadcac 100644 --- a/src/conversion/onnx_to_krnl/onnx_to_krnl_common.cpp +++ b/src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.cpp @@ -1,4 +1,4 @@ -//====-- onnx_to_krnl_common.cpp - ONNX dialects to Krnl lowering ---------===// +//====----- ONNXToKrnlCommon.cpp - ONNX dialects to Krnl lowering ---------===// // // Copyright 2019 The IBM Research Authors. // @@ -9,7 +9,7 @@ // //===----------------------------------------------------------------------===// -#include "src/conversion/onnx_to_krnl/onnx_to_krnl_common.hpp" +#include "src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp" /// Check is all dimensions are known at compile time. bool hasAllConstantDimensions(MemRefType type) { diff --git a/src/conversion/onnx_to_krnl/onnx_to_krnl_common.hpp b/src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp similarity index 96% rename from src/conversion/onnx_to_krnl/onnx_to_krnl_common.hpp rename to src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp index 1706398..a6d1215 100644 --- a/src/conversion/onnx_to_krnl/onnx_to_krnl_common.hpp +++ b/src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp @@ -1,4 +1,4 @@ -//====-- onnx_to_krnl_common.hpp - ONNX dialects to Krnl lowering ---------===// +//====------ ONNXToKrnlCommon.hpp - ONNX dialects to Krnl lowering --------===// // // Copyright 2019 The IBM Research Authors. // @@ -21,10 +21,10 @@ #include "llvm/ADT/Sequence.h" #include "mlir/IR/PatternMatch.h" -#include "src/dialect/krnl/krnl_helper.hpp" -#include "src/dialect/krnl/krnl_ops.hpp" -#include "src/dialect/onnx/onnx_ops.hpp" -#include "src/pass/passes.hpp" +#include "src/Dialect/Krnl/KrnlHelper.hpp" +#include "src/Dialect/Krnl/KrnlOps.hpp" +#include "src/Dialect/ONNX/ONNXOps.hpp" +#include "src/Pass/Passes.hpp" using namespace mlir; @@ -198,7 +198,7 @@ struct TensorTypeConverter : public TypeConverter { // Functions to add lowering patterns for frontend operations. //===----------------------------------------------------------------------===// -// `math` directory methods: +// `Math` directory methods: void populateLoweringONNXElementwiseOpPattern( OwningRewritePatternList &patterns, MLIRContext *ctx); @@ -215,7 +215,7 @@ void populateLoweringONNXReductionOpPattern( void populateLoweringONNXSoftmaxOpPattern( OwningRewritePatternList &patterns, MLIRContext *ctx); -// `nn` directory methods: +// `NN` directory methods: void populateLoweringONNXConvOpPattern( OwningRewritePatternList &patterns, MLIRContext *ctx); @@ -226,7 +226,7 @@ void populateLoweringONNXNormalizationOpPattern( void populateLoweringONNXPoolingOpPattern( OwningRewritePatternList &patterns, MLIRContext *ctx); -// `tensor` directory methods: +// `Tensor` directory methods: void populateLoweringONNXUnsqueezeOpPattern( OwningRewritePatternList &patterns, MLIRContext *ctx); diff --git a/src/conversion/onnx_to_krnl/tensor/constant.cpp b/src/Conversion/ONNXToKrnl/Tensor/Constant.cpp similarity index 96% rename from src/conversion/onnx_to_krnl/tensor/constant.cpp rename to src/Conversion/ONNXToKrnl/Tensor/Constant.cpp index bc90028..17f9bc4 100644 --- a/src/conversion/onnx_to_krnl/tensor/constant.cpp +++ b/src/Conversion/ONNXToKrnl/Tensor/Constant.cpp @@ -1,4 +1,4 @@ -//===---- constant.cpp - Lowering Constant Op -----------------------------===// +//===---------------- Constant.cpp - Lowering Constant Op -----------------===// // // Copyright 2019 The IBM Research Authors. // @@ -8,7 +8,7 @@ // //===----------------------------------------------------------------------===// -#include "src/conversion/onnx_to_krnl/onnx_to_krnl_common.hpp" +#include "src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp" using namespace mlir; diff --git a/src/conversion/onnx_to_krnl/tensor/identity.cpp b/src/Conversion/ONNXToKrnl/Tensor/Identity.cpp similarity index 87% rename from src/conversion/onnx_to_krnl/tensor/identity.cpp rename to src/Conversion/ONNXToKrnl/Tensor/Identity.cpp index 45985af..9c3adc0 100644 --- a/src/conversion/onnx_to_krnl/tensor/identity.cpp +++ b/src/Conversion/ONNXToKrnl/Tensor/Identity.cpp @@ -1,4 +1,4 @@ -//===----- identity.cpp - Lowering Identity Op ----------------------------===// +//===----------------- Identity.cpp - Lowering Identity Op ----------------===// // // Copyright 2019 The IBM Research Authors. // @@ -8,7 +8,7 @@ // //===----------------------------------------------------------------------===// -#include "src/conversion/onnx_to_krnl/onnx_to_krnl_common.hpp" +#include "src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp" using namespace mlir; diff --git a/src/conversion/onnx_to_krnl/tensor/padconstantvaluepad.cpp b/src/Conversion/ONNXToKrnl/Tensor/PadConstantValuePad.cpp similarity index 96% rename from src/conversion/onnx_to_krnl/tensor/padconstantvaluepad.cpp rename to src/Conversion/ONNXToKrnl/Tensor/PadConstantValuePad.cpp index 4a6d9fa..0841a71 100644 --- a/src/conversion/onnx_to_krnl/tensor/padconstantvaluepad.cpp +++ b/src/Conversion/ONNXToKrnl/Tensor/PadConstantValuePad.cpp @@ -1,4 +1,4 @@ -//===----padconstantvaluepad.cpp - Lowering PadConstantValuePad Op --------===// +//===------PadConstantValuePad.cpp - Lowering PadConstantValuePad Op ------===// // // Copyright 2019 The IBM Research Authors. // @@ -8,7 +8,7 @@ // //===----------------------------------------------------------------------===// -#include "src/conversion/onnx_to_krnl/onnx_to_krnl_common.hpp" +#include "src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp" using namespace mlir; diff --git a/src/conversion/onnx_to_krnl/tensor/reshape.cpp b/src/Conversion/ONNXToKrnl/Tensor/Reshape.cpp similarity index 98% rename from src/conversion/onnx_to_krnl/tensor/reshape.cpp rename to src/Conversion/ONNXToKrnl/Tensor/Reshape.cpp index 5c2ea11..51ac1e5 100644 --- a/src/conversion/onnx_to_krnl/tensor/reshape.cpp +++ b/src/Conversion/ONNXToKrnl/Tensor/Reshape.cpp @@ -1,4 +1,4 @@ -//===----- reshape.cpp - Lowering Reshape Op ------------------------------===// +//===---------------- Reshape.cpp - Lowering Reshape Op -------------------===// // // Copyright 2019 The IBM Research Authors. // @@ -8,7 +8,7 @@ // //===----------------------------------------------------------------------===// -#include "src/conversion/onnx_to_krnl/onnx_to_krnl_common.hpp" +#include "src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp" using namespace mlir; diff --git a/src/conversion/onnx_to_krnl/tensor/transpose.cpp b/src/Conversion/ONNXToKrnl/Tensor/Transpose.cpp similarity index 96% rename from src/conversion/onnx_to_krnl/tensor/transpose.cpp rename to src/Conversion/ONNXToKrnl/Tensor/Transpose.cpp index 0a6c8f4..a2ef7f3 100644 --- a/src/conversion/onnx_to_krnl/tensor/transpose.cpp +++ b/src/Conversion/ONNXToKrnl/Tensor/Transpose.cpp @@ -1,4 +1,4 @@ -//===----- transpose.cpp - Lowering Transpose Op --------------------------===// +//===---------------- Transpose.cpp - Lowering Transpose Op ---------------===// // // Copyright 2019 The IBM Research Authors. // @@ -8,7 +8,7 @@ // //===----------------------------------------------------------------------===// -#include "src/conversion/onnx_to_krnl/onnx_to_krnl_common.hpp" +#include "src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp" using namespace mlir; diff --git a/src/conversion/onnx_to_krnl/tensor/unsqueeze.cpp b/src/Conversion/ONNXToKrnl/Tensor/Unsqueeze.cpp similarity index 96% rename from src/conversion/onnx_to_krnl/tensor/unsqueeze.cpp rename to src/Conversion/ONNXToKrnl/Tensor/Unsqueeze.cpp index 1c5f3ec..7e8ef69 100644 --- a/src/conversion/onnx_to_krnl/tensor/unsqueeze.cpp +++ b/src/Conversion/ONNXToKrnl/Tensor/Unsqueeze.cpp @@ -1,4 +1,4 @@ -//===----- unsqueeze.cpp - Lowering Unsqueeze Op --------------------------===// +//===--------------- Unsqueeze.cpp - Lowering Unsqueeze Op ----------------===// // // Copyright 2019 The IBM Research Authors. // @@ -8,7 +8,7 @@ // //===----------------------------------------------------------------------===// -#include "src/conversion/onnx_to_krnl/onnx_to_krnl_common.hpp" +#include "src/Conversion/ONNXToKrnl/ONNXToKrnlCommon.hpp" using namespace mlir; diff --git a/src/dialect/krnl/krnl_helper.cpp b/src/Dialect/Krnl/KrnlHelper.cpp similarity index 95% rename from src/dialect/krnl/krnl_helper.cpp rename to src/Dialect/Krnl/KrnlHelper.cpp index c4f2d53..3e46815 100644 --- a/src/dialect/krnl/krnl_helper.cpp +++ b/src/Dialect/Krnl/KrnlHelper.cpp @@ -1,10 +1,20 @@ +//====---------------- KrnlHelper.cpp - Krnl Dialect Helper----------------===// +// +// Copyright 2019-2020 The IBM Research Authors. +// +// ============================================================================= +// +// This file declares helper methods to build Krnl Dialect Ops. +// +//===----------------------------------------------------------------------===// + #include "mlir/Dialect/AffineOps/AffineOps.h" #include "mlir/Dialect/StandardOps/Ops.h" #include "mlir/IR/AffineExpr.h" -#include "src/dialect/krnl/krnl_ops.hpp" +#include "KrnlOps.hpp" -#include "krnl_helper.hpp" +#include "KrnlHelper.hpp" namespace onnx_mlir { diff --git a/src/dialect/krnl/krnl_helper.hpp b/src/Dialect/Krnl/KrnlHelper.hpp similarity index 95% rename from src/dialect/krnl/krnl_helper.hpp rename to src/Dialect/Krnl/KrnlHelper.hpp index cee6e18..5c54e80 100644 --- a/src/dialect/krnl/krnl_helper.hpp +++ b/src/Dialect/Krnl/KrnlHelper.hpp @@ -1,3 +1,13 @@ +//====---------------- KrnlHelper.hpp - Krnl Dialect Helper----------------===// +// +// Copyright 2019-2020 The IBM Research Authors. +// +// ============================================================================= +// +// This file implements helper methods to build Krnl Dialect ops. +// +//===----------------------------------------------------------------------===// + #pragma once #include diff --git a/src/dialect/krnl/krnl_ops.cpp b/src/Dialect/Krnl/KrnlOps.cpp similarity index 98% rename from src/dialect/krnl/krnl_ops.cpp rename to src/Dialect/Krnl/KrnlOps.cpp index 871bdc3..190f5c7 100644 --- a/src/dialect/krnl/krnl_ops.cpp +++ b/src/Dialect/Krnl/KrnlOps.cpp @@ -1,9 +1,11 @@ -//===--------------------- krnl_ops.cpp - MLIR Operations -----------------===// +//===---------------------- KrnlOps.cpp - Krnl Operations -----------------===// // -// Copyright 2019 The IBM Research Authors. +// Copyright 2019-2020 The IBM Research Authors. // // ============================================================================= // +// This file contains implementations of krnl operations. +// //===----------------------------------------------------------------------===// #include @@ -24,9 +26,9 @@ #include "llvm/ADT/SetVector.h" #include "llvm/ADT/SmallBitVector.h" -#include "krnl_helper.hpp" +#include "KrnlHelper.hpp" -#include "krnl_ops.hpp" +#include "KrnlOps.hpp" using namespace mlir; diff --git a/src/dialect/krnl/krnl_ops.hpp b/src/Dialect/Krnl/KrnlOps.hpp similarity index 83% rename from src/dialect/krnl/krnl_ops.hpp rename to src/Dialect/Krnl/KrnlOps.hpp index 5ba9cfa..435c2fe 100644 --- a/src/dialect/krnl/krnl_ops.hpp +++ b/src/Dialect/Krnl/KrnlOps.hpp @@ -1,9 +1,11 @@ -//===--------------------- krnl_ops.hpp - MLIR Operations -----------------===// +//===--------------------- KrnlOps.hpp - Krnl Operations ------------------===// // -// Copyright 2019 The IBM Research Authors. +// Copyright 2019-2020 The IBM Research Authors. // // ============================================================================= // +// This file contains declarations of krnl operations. +// //===----------------------------------------------------------------------===// #pragma once @@ -15,8 +17,8 @@ #include "mlir/IR/OpDefinition.h" #include "mlir/IR/StandardTypes.h" -#include "src/dialect/krnl/krnl_helper.hpp" -#include "src/dialect/krnl/krnl_types.hpp" +#include "KrnlHelper.hpp" +#include "KrnlTypes.hpp" namespace mlir { class KrnlOpsDialect : public Dialect { diff --git a/src/dialect/krnl/krnl_ops.td b/src/Dialect/Krnl/KrnlOps.td similarity index 97% rename from src/dialect/krnl/krnl_ops.td rename to src/Dialect/Krnl/KrnlOps.td index bb894f7..e4e73de 100644 --- a/src/dialect/krnl/krnl_ops.td +++ b/src/Dialect/Krnl/KrnlOps.td @@ -1,9 +1,11 @@ -//===--------------------- krnl_ops.td - MLIR Operations ------------------===// +//===------------------ KrnlOps.td - MLIR Operations ---------*- tablegen -===// // -// Copyright 2019 The IBM Research Authors. +// Copyright 2019-2020 The IBM Research Authors. // // ============================================================================= // +// This file contains TableGen definition of krnl operations. +// //===----------------------------------------------------------------------===// include "mlir/IR/OpBase.td" diff --git a/src/dialect/krnl/krnl_types.cpp b/src/Dialect/Krnl/KrnlTypes.cpp similarity index 50% rename from src/dialect/krnl/krnl_types.cpp rename to src/Dialect/Krnl/KrnlTypes.cpp index 48ac166..2709d03 100644 --- a/src/dialect/krnl/krnl_types.cpp +++ b/src/Dialect/Krnl/KrnlTypes.cpp @@ -1,9 +1,11 @@ -//===--------------------- krnl_types.cpp - MLIR Operations ---------------===// +//===------------------- KrnlTypes.hpp - Krnl Operations ------------------===// // -// Copyright 2019 The IBM Research Authors. +// Copyright 2019-2020 The IBM Research Authors. // // ============================================================================= // +// This file contains definition of krnl types. +// //===----------------------------------------------------------------------===// -#include "krnl_types.hpp" +#include "KrnlTypes.hpp" diff --git a/src/dialect/krnl/krnl_types.hpp b/src/Dialect/Krnl/KrnlTypes.hpp similarity index 84% rename from src/dialect/krnl/krnl_types.hpp rename to src/Dialect/Krnl/KrnlTypes.hpp index 2e26d95..159195f 100644 --- a/src/dialect/krnl/krnl_types.hpp +++ b/src/Dialect/Krnl/KrnlTypes.hpp @@ -1,9 +1,11 @@ -//===--------------------- krnl_types.hpp - MLIR Operations ---------------===// +//===------------------- KrnlTypes.hpp - Krnl Operations ------------------===// // -// Copyright 2019 The IBM Research Authors. +// Copyright 2019-2020 The IBM Research Authors. // // ============================================================================= // +// This file contains declarations of krnl types. +// //===----------------------------------------------------------------------===// #pragma once diff --git a/src/dialect/onnx/CMakeLists.txt b/src/Dialect/ONNX/CMakeLists.txt similarity index 100% rename from src/dialect/onnx/CMakeLists.txt rename to src/Dialect/ONNX/CMakeLists.txt diff --git a/src/dialect/onnx/onnx_ops.cpp b/src/Dialect/ONNX/ONNXOps.cpp similarity index 99% rename from src/dialect/onnx/onnx_ops.cpp rename to src/Dialect/ONNX/ONNXOps.cpp index 3b3104a..7911a86 100644 --- a/src/dialect/onnx/onnx_ops.cpp +++ b/src/Dialect/ONNX/ONNXOps.cpp @@ -1,12 +1,13 @@ -//===- onnx_ops.cpp - MLIR ONNX Operations --------------------------------===// +//===------------------ ONNXOps.cpp - ONNX Operations ---------------------===// // -// Copyright 2019 The IBM Research Authors. +// Copyright 2019-2020 The IBM Research Authors. // // ============================================================================= // -// This file defines ONNX operations in the MLIR operation set. +// This file provides definition of ONNX dialect operations. // //===----------------------------------------------------------------------===// + #include "mlir/Dialect/Traits.h" #include "mlir/IR/Block.h" #include "mlir/IR/Builders.h" @@ -19,7 +20,7 @@ #include "llvm/ADT/SetVector.h" #include "llvm/ADT/SmallBitVector.h" -#include "onnx_ops.hpp" +#include "ONNXOps.hpp" using namespace mlir; using namespace mlir::OpTrait::util; diff --git a/src/dialect/onnx/onnx_ops.hpp b/src/Dialect/ONNX/ONNXOps.hpp similarity index 84% rename from src/dialect/onnx/onnx_ops.hpp rename to src/Dialect/ONNX/ONNXOps.hpp index 0aa107d..fbf5c54 100644 --- a/src/dialect/onnx/onnx_ops.hpp +++ b/src/Dialect/ONNX/ONNXOps.hpp @@ -1,4 +1,4 @@ -//===- onnx_ops.hpp - MLIR ONNX Operations --------------------------------===// +//===-------------------- ONNXOps.hpp - ONNX Operations -------------------===// // // Copyright 2019 The IBM Research Authors. // @@ -19,8 +19,8 @@ #include "mlir/IR/OpDefinition.h" #include "mlir/IR/StandardTypes.h" -#include "src/pass/shape_inference_interface.hpp" -#include "src/interface/promotable_const_operands_op_interface.hpp" +#include "src/Pass/ShapeInferenceInterface.hpp" +#include "src/Interface/PromotableConstOperandsOpInterface.hpp" namespace mlir { diff --git a/src/dialect/onnx/onnx.td b/src/Dialect/ONNX/ONNXOps.td similarity index 96% rename from src/dialect/onnx/onnx.td rename to src/Dialect/ONNX/ONNXOps.td index c632dc3..e4251f2 100644 --- a/src/dialect/onnx/onnx.td +++ b/src/Dialect/ONNX/ONNXOps.td @@ -1,10 +1,10 @@ -//===- ONNXOps.td -- ONNX operation definitions ---------*- tablegen -*----===// +//===--- ONNXOps.td -- ONNX Dialect Operation Definitions ----*- tablegen -===// // -// Copyright 2019 The IBM Research Authors +// Copyright 2019-2020 The IBM Research Authors // // ============================================================================= // -// Defines MLIR ONNX operations. +// Defines ONNX Dialect operations. // //===----------------------------------------------------------------------===// @@ -19,12 +19,12 @@ include "mlir/IR/OpBase.td" #ifdef SHAPE_INFERENCE_INTERFACE #else -include "pass/shape_inference_interface.td" +include "Pass/ShapeInferenceInterface.td" #endif // SHAPE_INFERENCE_INTERFACE #ifdef PROMOTABLE_CONST_OPERANDS_OP_INTERFACE #else -include "interface/promotable_const_operands_op_interface.td" +include "Interface/PromotableConstOperandsOpInterface.td" #endif // PROMOTABLE_CONST_OPERANDS_OP_INTERFACE def ONNX_Dialect : Dialect { @@ -61,7 +61,7 @@ class ONNX_Op traits = []> : // 4. type of string, complex64 and complex128 for input/output are ignored // 5. unsigned int are treated as signed one -include "dialect/onnx/onnx_ops.td.inc" +include "Dialect/ONNX/ONNXOps.td.inc" // Indicate entry point functions of ONNX graph. def ONNXEntryPointOp: ONNX_Op<"EntryPoint"> { diff --git a/src/dialect/onnx/onnx_ops.td.inc b/src/Dialect/ONNX/ONNXOps.td.inc similarity index 100% rename from src/dialect/onnx/onnx_ops.td.inc rename to src/Dialect/ONNX/ONNXOps.td.inc diff --git a/src/interface/CMakeLists.txt b/src/Interface/CMakeLists.txt similarity index 70% rename from src/interface/CMakeLists.txt rename to src/Interface/CMakeLists.txt index d9780c7..4503766 100644 --- a/src/interface/CMakeLists.txt +++ b/src/Interface/CMakeLists.txt @@ -1,11 +1,11 @@ -set(LLVM_TARGET_DEFINITIONS promotable_const_operands_op_interface.td) +set(LLVM_TARGET_DEFINITIONS PromotableConstOperandsOpInterface.td) onnx_mlir_tablegen(promotable_const_operands_op_interface.hpp.inc -gen-op-interface-decls) onnx_mlir_tablegen(promotable_const_operands_op_interface.cpp.inc -gen-op-interface-defs) add_public_tablegen_target(onnx_mlir_gen_promotable_const_operands_op_interface) add_library(onnx_mlir_promotable_const_operands_op_interface - promotable_const_operands_op_interface.hpp - promotable_const_operands_op_interface.cpp) + PromotableConstOperandsOpInterface.hpp + PromotableConstOperandsOpInterface.cpp) target_include_directories(onnx_mlir_promotable_const_operands_op_interface PRIVATE ${ONNX_MLIR_SRC_ROOT} ${ONNX_MLIR_BIN_ROOT} ${ONNX_MLIR_SRC_ROOT}) diff --git a/src/interface/promotable_const_operands_op_interface.cpp b/src/Interface/PromotableConstOperandsOpInterface.cpp similarity index 84% rename from src/interface/promotable_const_operands_op_interface.cpp rename to src/Interface/PromotableConstOperandsOpInterface.cpp index 8dd1402..ef341a5 100644 --- a/src/interface/promotable_const_operands_op_interface.cpp +++ b/src/Interface/PromotableConstOperandsOpInterface.cpp @@ -11,7 +11,7 @@ //===----------------------------------------------------------------------===// -#include "src/interface/promotable_const_operands_op_interface.hpp" +#include "src/Interface/PromotableConstOperandsOpInterface.hpp" using namespace mlir; @@ -19,5 +19,5 @@ using namespace mlir; // Promotable Const Operands Op Interface //===----------------------------------------------------------------------===// -#include "src/interface/promotable_const_operands_op_interface.cpp.inc" +#include "src/Interface/promotable_const_operands_op_interface.cpp.inc" diff --git a/src/interface/promotable_const_operands_op_interface.hpp b/src/Interface/PromotableConstOperandsOpInterface.hpp similarity index 87% rename from src/interface/promotable_const_operands_op_interface.hpp rename to src/Interface/PromotableConstOperandsOpInterface.hpp index 13a864e..129dfcc 100644 --- a/src/interface/promotable_const_operands_op_interface.hpp +++ b/src/Interface/PromotableConstOperandsOpInterface.hpp @@ -20,6 +20,6 @@ namespace mlir { /// Include the auto-generated declarations. -#include "src/interface/promotable_const_operands_op_interface.hpp.inc" +#include "src/Interface/promotable_const_operands_op_interface.hpp.inc" } // end namespace mlir \ No newline at end of file diff --git a/src/interface/promotable_const_operands_op_interface.td b/src/Interface/PromotableConstOperandsOpInterface.td similarity index 100% rename from src/interface/promotable_const_operands_op_interface.td rename to src/Interface/PromotableConstOperandsOpInterface.td diff --git a/src/pass/onnx_combine.cpp b/src/Pass/ONNXCombine.cpp similarity index 93% rename from src/pass/onnx_combine.cpp rename to src/Pass/ONNXCombine.cpp index 2382cc2..18d8f82 100644 --- a/src/pass/onnx_combine.cpp +++ b/src/Pass/ONNXCombine.cpp @@ -1,4 +1,4 @@ -//===- ONNXCombine.cpp - ONNX High Level Optimizer ------------------------===// +//===--------- ONNXCombine.cpp - ONNX High Level Optimizer ----------------===// // // Copyright 2019 The IBM Research Authors. // @@ -13,7 +13,7 @@ #include "mlir/IR/PatternMatch.h" #include -#include "src/dialect/onnx/onnx_ops.hpp" +#include "src/Dialect/ONNX/ONNXOps.hpp" using namespace mlir; diff --git a/src/pass/onnx_combine.td b/src/Pass/ONNXCombine.td similarity index 93% rename from src/pass/onnx_combine.td rename to src/Pass/ONNXCombine.td index 37c9eee..0e8829f 100644 --- a/src/pass/onnx_combine.td +++ b/src/Pass/ONNXCombine.td @@ -1,6 +1,6 @@ -//=- ONNXCombine.td - Pattern Match Optimizations for ONNX -*- tablegen -*-===// +//===--- ONNXCombine.td - Pattern Match Opt for ONNX Dialect--*- tablegen -===// // -// Copyright 2019 The IBM Research Authors. +// Copyright 2019-2020 The IBM Research Authors. // // ============================================================================= // @@ -13,7 +13,7 @@ #define ONNX_COMBINE #ifndef OP_BASE -include "dialect/onnx/onnx.td" +include "Dialect/ONNX/ONNXOps.td" #endif // OP_BASE /// Note: The DRR definition used for defining patterns is shown below: diff --git a/src/pass/onnx_decompose.cpp b/src/Pass/ONNXDecompose.cpp similarity index 91% rename from src/pass/onnx_decompose.cpp rename to src/Pass/ONNXDecompose.cpp index 0949c3b..e75dc78 100644 --- a/src/pass/onnx_decompose.cpp +++ b/src/Pass/ONNXDecompose.cpp @@ -1,6 +1,6 @@ -//===- onnx_decompose.cpp - ONNX High Level Rewriting ---------------------===// +//===----------- ONNXDecompose.cpp - ONNX High Level Rewriting ------------===// // -// Copyright 2019 The IBM Research Authors. +// Copyright 2019-2020 The IBM Research Authors. // // ============================================================================= // @@ -18,8 +18,8 @@ #include "mlir/Pass/Pass.h" #include "mlir/Transforms/DialectConversion.h" -#include "src/dialect/onnx/onnx_ops.hpp" -#include "src/pass/passes.hpp" +#include "src/Dialect/ONNX/ONNXOps.hpp" +#include "Passes.hpp" using namespace mlir; diff --git a/src/pass/onnx_decompose.td b/src/Pass/ONNXDecompose.td similarity index 94% rename from src/pass/onnx_decompose.td rename to src/Pass/ONNXDecompose.td index 087a1f8..ae96aaa 100644 --- a/src/pass/onnx_decompose.td +++ b/src/Pass/ONNXDecompose.td @@ -1,19 +1,19 @@ -//===----------------------------------------------------------------------===// -//=- onnx_decompose.td - Rewriting for decomposing ONNX Ops -*- tablegen -*===// +//===- ONNXDecompose.td - Rewriting for decomposing ONNX Ops -*- tablegen -===// // -// Copyright 2019 The IBM Research Authors. +// Copyright 2019-2020 The IBM Research Authors. // // ============================================================================= // // Defines language-specific pattern match rewritings for ONNX using // Declarative Rewrite Rules (DRR) specified using TableGen records. // +//===----------------------------------------------------------------------===// #ifndef ONNX_DECOMPOSE #define ONNX_DECOMPOSE #ifndef OP_BASE -include "dialect/onnx/onnx.td" +include "Dialect/ONNX/ONNXOps.td" #endif // OP_BASE /// Note: The DRR definition used for defining patterns is shown below: diff --git a/src/pass/onnx_rewrite.cpp b/src/Pass/ONNXRewrite.cpp similarity index 97% rename from src/pass/onnx_rewrite.cpp rename to src/Pass/ONNXRewrite.cpp index 8cac4e4..3d28319 100644 --- a/src/pass/onnx_rewrite.cpp +++ b/src/Pass/ONNXRewrite.cpp @@ -1,6 +1,6 @@ -//===- onnx_rewrite.cpp - ONNX High Level Optimizer -----------------------===// +//===----------- ONNXRewrite.cpp - ONNX High Level Optimizer --------------===// // -// Copyright 2019 The IBM Research Authors. +// Copyright 2019-2020 The IBM Research Authors. // // ============================================================================= // @@ -12,7 +12,7 @@ #include "mlir/IR/Matchers.h" #include "mlir/IR/PatternMatch.h" -#include "src/dialect/onnx/onnx_ops.hpp" +#include "src/Dialect/ONNX/ONNXOps.hpp" using namespace mlir; diff --git a/src/pass/onnx_rewrite.td b/src/Pass/ONNXRewrite.td similarity index 96% rename from src/pass/onnx_rewrite.td rename to src/Pass/ONNXRewrite.td index 22a3cd1..8e6a253 100644 --- a/src/pass/onnx_rewrite.td +++ b/src/Pass/ONNXRewrite.td @@ -1,5 +1,4 @@ -//===----------------------------------------------------------------------===// -//=- onnx_rewrite.td - Pattern Match Rewriting for ONNX -*- tablegen -*----===// +//===---- ONNXRewrite.td - Pattern Match Rewriting for ONNX --*- tablegen -===// // // Copyright 2019 The IBM Research Authors. // @@ -8,12 +7,13 @@ // Defines language-specific pattern match optimizations for ONNX using // Declarative Rewrite Rules (DRR) specified using TableGen records. // +//===----------------------------------------------------------------------===// #ifndef ONNX_REWRITE #define ONNX_REWRITE #ifndef OP_BASE -include "dialect/onnx/onnx.td" +include "Dialect/ONNX/ONNXOps.td" #endif // OP_BASE /// Note: The DRR definition used for defining patterns is shown below: diff --git a/src/pass/passes.hpp b/src/Pass/Passes.hpp similarity index 89% rename from src/pass/passes.hpp rename to src/Pass/Passes.hpp index 07a2a95..ced10ec 100644 --- a/src/pass/passes.hpp +++ b/src/Pass/Passes.hpp @@ -1,6 +1,6 @@ -//===- passes.hpp - ONNX MLIR Passes Definition ---------------------------===// +//===---------- Passes.hpp - ONNX MLIR Passes Definition ------------------===// // -// Copyright 2019 The IBM Research Authors. +// Copyright 2019-2020 The IBM Research Authors. // // ============================================================================= // diff --git a/src/pass/shape_inference_interface.hpp b/src/Pass/ShapeInferenceInterface.hpp similarity index 78% rename from src/pass/shape_inference_interface.hpp rename to src/Pass/ShapeInferenceInterface.hpp index a964e24..e8a68b8 100644 --- a/src/pass/shape_inference_interface.hpp +++ b/src/Pass/ShapeInferenceInterface.hpp @@ -1,6 +1,6 @@ -//===- shape_inference_interface.hpp - Definition for ShapeInference --------=// +//===---- ShapeInferenceInterface.hpp - Definition for ShapeInference -----===// // -// Copyright 2019 The IBM Research Authors. +// Copyright 2019-2020 The IBM Research Authors. // // ============================================================================= // diff --git a/src/pass/shape_inference_interface.td b/src/Pass/ShapeInferenceInterface.td similarity index 85% rename from src/pass/shape_inference_interface.td rename to src/Pass/ShapeInferenceInterface.td index e191c26..ca991a4 100644 --- a/src/pass/shape_inference_interface.td +++ b/src/Pass/ShapeInferenceInterface.td @@ -1,6 +1,6 @@ -//=- shape_inference_interface.td - Shape Inference Interface -*- tablegen -==// +//===- ShapeInferenceInterface.td - ShapeInference Interface -*- tablegen -===// // -// Copyright 2019 The IBM Research Authors. +// Copyright 2019-2020 The IBM Research Authors. // // ============================================================================= // diff --git a/src/pass/shape_inference_pass.cpp b/src/Pass/ShapeInferencePass.cpp similarity index 97% rename from src/pass/shape_inference_pass.cpp rename to src/Pass/ShapeInferencePass.cpp index 967b85e..d2ad5cd 100644 --- a/src/pass/shape_inference_pass.cpp +++ b/src/Pass/ShapeInferencePass.cpp @@ -1,6 +1,6 @@ -//===----- shape_inference_pass.cpp - Shape Inference ---------------------===// +//===------- ShapeInferencePass.cpp - Shape Inference ---------------------===// // -// Copyright 2019 The IBM Research Authors. +// Copyright 2019-2020 The IBM Research Authors. // // ============================================================================= // @@ -14,9 +14,9 @@ #include "llvm/Support/raw_ostream.h" #include "mlir/IR/StandardTypes.h" -#include "shape_inference_interface.hpp" +#include "ShapeInferenceInterface.hpp" -#include "passes.hpp" +#include "Passes.hpp" using namespace mlir; diff --git a/src/runtime/CMakeLists.txt b/src/Runtime/CMakeLists.txt similarity index 72% rename from src/runtime/CMakeLists.txt rename to src/Runtime/CMakeLists.txt index fdc6278..7cc2a91 100644 --- a/src/runtime/CMakeLists.txt +++ b/src/Runtime/CMakeLists.txt @@ -1,16 +1,16 @@ add_library(cruntime - dyn_memref.cpp - dyn_memref.h - data_type.h) + DynMemRef.cpp + DynMemRef.h + DataType.h) target_include_directories(cruntime PRIVATE ${ONNX_MLIR_SRC_ROOT} ${ONNX_MLIR_BIN_ROOT} ${ONNX_MLIR_SRC_ROOT}) pybind11_add_module(pyruntime - dyn_memref.cpp - dyn_memref.h - runtime.cpp - runtime.hpp) + DynMemRef.cpp + DynMemRef.h + Runtime.cpp + Runtime.hpp) target_link_libraries(pyruntime PRIVATE ${CMAKE_DL_LIBS}) target_include_directories(pyruntime PRIVATE ${ONNX_MLIR_SRC_ROOT} ${ONNX_MLIR_BIN_ROOT} diff --git a/src/runtime/data_type.h b/src/Runtime/DataType.h similarity index 100% rename from src/runtime/data_type.h rename to src/Runtime/DataType.h diff --git a/src/runtime/dyn_memref.cpp b/src/Runtime/DynMemRef.cpp similarity index 98% rename from src/runtime/dyn_memref.cpp rename to src/Runtime/DynMemRef.cpp index 454947b..da299d1 100644 --- a/src/runtime/dyn_memref.cpp +++ b/src/Runtime/DynMemRef.cpp @@ -3,7 +3,7 @@ #include #include -#include "dyn_memref.h" +#include "DynMemRef.h" DynMemRef::DynMemRef(int _rank) { rank = _rank; diff --git a/src/runtime/dyn_memref.h b/src/Runtime/DynMemRef.h similarity index 100% rename from src/runtime/dyn_memref.h rename to src/Runtime/DynMemRef.h diff --git a/src/runtime/runtime.cpp b/src/Runtime/Runtime.cpp similarity index 98% rename from src/runtime/runtime.cpp rename to src/Runtime/Runtime.cpp index 5a66a3a..3f177a9 100644 --- a/src/runtime/runtime.cpp +++ b/src/Runtime/Runtime.cpp @@ -1,4 +1,4 @@ -#include "runtime.hpp" +#include "Runtime.hpp" ExecutionSession::ExecutionSession(std::string sharedLibPath, std::string entryPointName) { diff --git a/src/runtime/runtime.hpp b/src/Runtime/Runtime.hpp similarity index 95% rename from src/runtime/runtime.hpp rename to src/Runtime/Runtime.hpp index cb3d9bc..898d968 100644 --- a/src/runtime/runtime.hpp +++ b/src/Runtime/Runtime.hpp @@ -8,7 +8,7 @@ #include #include -#include "src/runtime/dyn_memref.h" +#include "DynMemRef.h" namespace py = pybind11; diff --git a/src/Tool/CMakeLists.txt b/src/Tool/CMakeLists.txt new file mode 100644 index 0000000..73d56f9 --- /dev/null +++ b/src/Tool/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(ONNXMLIROpt) \ No newline at end of file diff --git a/src/tool/onnx_mlir_opt/CMakeLists.txt b/src/Tool/ONNXMLIROpt/CMakeLists.txt similarity index 88% rename from src/tool/onnx_mlir_opt/CMakeLists.txt rename to src/Tool/ONNXMLIROpt/CMakeLists.txt index 9ed3774..45289b9 100644 --- a/src/tool/onnx_mlir_opt/CMakeLists.txt +++ b/src/Tool/ONNXMLIROpt/CMakeLists.txt @@ -1,4 +1,4 @@ -add_executable(onnx-mlir-opt onnx_mlir_opt.cpp) +add_executable(onnx-mlir-opt ONNXMLIROpt.cpp) add_dependencies(onnx-mlir-opt gen_krnl_ops) target_include_directories(onnx-mlir-opt PRIVATE ${ONNX_MLIR_SRC_ROOT}) diff --git a/src/tool/onnx_mlir_opt/onnx_mlir_opt.cpp b/src/Tool/ONNXMLIROpt/ONNXMLIROpt.cpp similarity index 91% rename from src/tool/onnx_mlir_opt/onnx_mlir_opt.cpp rename to src/Tool/ONNXMLIROpt/ONNXMLIROpt.cpp index 21a8bcc..2ec2563 100644 --- a/src/tool/onnx_mlir_opt/onnx_mlir_opt.cpp +++ b/src/Tool/ONNXMLIROpt/ONNXMLIROpt.cpp @@ -1,9 +1,11 @@ -//===---------------- onnx_mlir_opt.cpp - MLIR Operations -----------------===// +//===-------------- ONNXMLIROpt.cpp - Optimization Driver -----------------===// // -// Copyright 2019 The IBM Research Authors. +// Copyright 2019-2020 The IBM Research Authors. // // ============================================================================= // +// +// //===----------------------------------------------------------------------===// #include @@ -15,9 +17,9 @@ #include #include -#include "src/dialect/krnl/krnl_ops.hpp" -#include "src/dialect/onnx/onnx_ops.hpp" -#include "src/pass/passes.hpp" +#include "src/Dialect/Krnl/KrnlOps.hpp" +#include "src/Dialect/ONNX/ONNXOps.hpp" +#include "src/Pass/Passes.hpp" using namespace onnx_mlir; diff --git a/src/transform/CMakeLists.txt b/src/Transform/CMakeLists.txt similarity index 81% rename from src/transform/CMakeLists.txt rename to src/Transform/CMakeLists.txt index 26c23fa..f766236 100644 --- a/src/transform/CMakeLists.txt +++ b/src/Transform/CMakeLists.txt @@ -1,6 +1,6 @@ add_library(onnx_mlir_transform - lower_krnl.cpp - lower_to_llvm.cpp) + LowerKrnl.cpp + LowerToLLVM.cpp) target_include_directories(onnx_mlir_transform PRIVATE ${ONNX_MLIR_SRC_ROOT} ${ONNX_MLIR_BIN_ROOT} diff --git a/src/transform/lower_krnl.cpp b/src/Transform/LowerKrnl.cpp similarity index 94% rename from src/transform/lower_krnl.cpp rename to src/Transform/LowerKrnl.cpp index 73d0e42..ec6a51b 100644 --- a/src/transform/lower_krnl.cpp +++ b/src/Transform/LowerKrnl.cpp @@ -1,10 +1,20 @@ +//===-------------- LowerKrnl.cpp - Krnl Dialect Lowering -----------------===// +// +// Copyright 2019-2020 The IBM Research Authors. +// +// ============================================================================= +// +// +// +//===----------------------------------------------------------------------===// + #include "mlir/Dialect/AffineOps/AffineOps.h" #include "mlir/Dialect/StandardOps/Ops.h" #include "mlir/Pass/Pass.h" #include "mlir/Transforms/DialectConversion.h" -#include "src/dialect/krnl/krnl_ops.hpp" -#include "src/pass/passes.hpp" +#include "src/Dialect/Krnl/KrnlOps.hpp" +#include "src/Pass/Passes.hpp" using namespace mlir; diff --git a/src/transform/lower_to_llvm.cpp b/src/Transform/LowerToLLVM.cpp similarity index 98% rename from src/transform/lower_to_llvm.cpp rename to src/Transform/LowerToLLVM.cpp index 97224ae..a4bde78 100644 --- a/src/transform/lower_to_llvm.cpp +++ b/src/Transform/LowerToLLVM.cpp @@ -1,6 +1,10 @@ -//====- LowerToLLVM.cpp - Lowering from KRNL+Affine+Std to LLVM -----------===// +//===------ LowerToLLVM.cpp - Lowering from KRNL+Affine+Std to LLVM -------===// +// +// Copyright 2019-2020 The IBM Research Authors. +// +// ============================================================================= +// // -// Copyright 2019 The IBM Research Authors. // //===----------------------------------------------------------------------===// @@ -16,8 +20,8 @@ #include "mlir/Transforms/DialectConversion.h" #include "llvm/ADT/Sequence.h" -#include "src/dialect/krnl/krnl_ops.hpp" -#include "src/pass/passes.hpp" +#include "src/Dialect/Krnl/KrnlOps.hpp" +#include "src/Pass/Passes.hpp" using namespace mlir; diff --git a/src/transform/onnx/CMakeLists.txt b/src/Transform/onnx/CMakeLists.txt similarity index 100% rename from src/transform/onnx/CMakeLists.txt rename to src/Transform/onnx/CMakeLists.txt diff --git a/src/transform/onnx/attribute_promotion.cpp b/src/Transform/onnx/attribute_promotion.cpp similarity index 96% rename from src/transform/onnx/attribute_promotion.cpp rename to src/Transform/onnx/attribute_promotion.cpp index da8dc69..b0c82b7 100644 --- a/src/transform/onnx/attribute_promotion.cpp +++ b/src/Transform/onnx/attribute_promotion.cpp @@ -15,8 +15,8 @@ #include "mlir/IR/PatternMatch.h" #include "mlir/Pass/Pass.h" -#include "src/interface/promotable_const_operands_op_interface.hpp" -#include "src/pass/passes.hpp" +#include "src/Interface/PromotableConstOperandsOpInterface.hpp" +#include "src/Pass/Passes.hpp" using namespace mlir; diff --git a/src/main.cpp b/src/main.cpp index 6bc102a..33b6595 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -16,10 +16,10 @@ #include "llvm/Support/Regex.h" #include "llvm/Support/SourceMgr.h" -#include "src/builder/frontend_dialect_transformer.hpp" -#include "src/dialect/krnl/krnl_ops.hpp" -#include "src/dialect/onnx/onnx_ops.hpp" -#include "src/pass/passes.hpp" +#include "src/Builder/FrontendDialectTransformer.hpp" +#include "src/Dialect/Krnl/KrnlOps.hpp" +#include "src/Dialect/ONNX/ONNXOps.hpp" +#include "src/Pass/Passes.hpp" #include "mlir/Conversion/LoopToStandard/ConvertLoopToStandard.h" #include "mlir/ExecutionEngine/ExecutionEngine.h" diff --git a/src/tool/CMakeLists.txt b/src/tool/CMakeLists.txt deleted file mode 100644 index 8e68c37..0000000 --- a/src/tool/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -add_subdirectory(onnx_mlir_opt) \ No newline at end of file