diff --git a/src/PIM/Compiler/CMakeLists.txt b/src/PIM/Compiler/CMakeLists.txt index bd50dbe..57fbfbb 100644 --- a/src/PIM/Compiler/CMakeLists.txt +++ b/src/PIM/Compiler/CMakeLists.txt @@ -16,7 +16,6 @@ add_pim_library(OMPimCompilerOptions add_pim_library(OMPimCompilerUtils PimCompilerUtils.cpp PimCodeGen.cpp - ../Pass/EmitPimJsonPass.cpp EXCLUDE_FROM_OM_LIBS diff --git a/src/PIM/Compiler/PimCompilerUtils.cpp b/src/PIM/Compiler/PimCompilerUtils.cpp index ba8af85..3ecc059 100644 --- a/src/PIM/Compiler/PimCompilerUtils.cpp +++ b/src/PIM/Compiler/PimCompilerUtils.cpp @@ -3,7 +3,7 @@ #include "src/Accelerators/PIM/Compiler/PimCompilerOptions.hpp" #include "src/Accelerators/PIM/Compiler/PimCompilerUtils.hpp" #include "src/Accelerators/PIM/Dialect/Pim/PimOps.hpp" -#include "src/Accelerators/PIM/Pass/PimPasses.hpp" +#include "src/Accelerators/PIM/Pass/PIMPasses.h" #include "src/Compiler/CompilerPasses.hpp" #define DEBUG_TYPE "PimCompilerUtils" @@ -45,10 +45,10 @@ void addPassesPim(OwningOpRef& module, } if (pimEmissionTarget >= EmitPimCodegen) { - pm.addPass(createPimConstantFoldingPass()); + pm.addPass(createConstantFoldingPass()); pm.addPass(createMessagePass("Pim constants folded")); - pm.addPass(createPimMaterializeConstantsPass()); - pm.addPass(createPimVerificationPass()); + pm.addPass(createMaterializeConstantsPass()); + pm.addPass(createVerificationPass()); pm.addPass(createMessagePass("Pim verified")); pm.addPass(createEmitPimJsonPass()); // pm.addPass(createCountInstructionPass()); diff --git a/src/PIM/Conversion/ONNXToSpatial/ONNXToSpatialPass.cpp b/src/PIM/Conversion/ONNXToSpatial/ONNXToSpatialPass.cpp index fb65649..165d9f1 100644 --- a/src/PIM/Conversion/ONNXToSpatial/ONNXToSpatialPass.cpp +++ b/src/PIM/Conversion/ONNXToSpatial/ONNXToSpatialPass.cpp @@ -15,7 +15,7 @@ #include "src/Accelerators/PIM/Conversion/ONNXToSpatial/Patterns.hpp" #include "src/Accelerators/PIM/Dialect/Pim/PimOps.hpp" #include "src/Accelerators/PIM/Dialect/Spatial/SpatialOps.hpp" -#include "src/Accelerators/PIM/Pass/PimPasses.hpp" +#include "src/Accelerators/PIM/Pass/PIMPasses.h" #include "src/Compiler/CompilerOptions.hpp" #include "src/Dialect/ONNX/ONNXOps.hpp" diff --git a/src/PIM/Conversion/SpatialToGraphviz/SpatialToGraphviz.cpp b/src/PIM/Conversion/SpatialToGraphviz/SpatialToGraphviz.cpp index d510e01..db4a0b6 100644 --- a/src/PIM/Conversion/SpatialToGraphviz/SpatialToGraphviz.cpp +++ b/src/PIM/Conversion/SpatialToGraphviz/SpatialToGraphviz.cpp @@ -12,7 +12,7 @@ #include "src/Accelerators/PIM/Common/PimCommon.hpp" #include "src/Accelerators/PIM/Dialect/Spatial/SpatialOps.hpp" -#include "src/Accelerators/PIM/Pass/PimPasses.hpp" +#include "src/Accelerators/PIM/Pass/PIMPasses.h" #include "src/Dialect/ONNX/ONNXOps.hpp" #define FORMAT_OPERATION(op) 'x' << llvm::format_hex_no_prefix(reinterpret_cast(op), 0) diff --git a/src/PIM/Conversion/SpatialToPim/SpatialToPimPass.cpp b/src/PIM/Conversion/SpatialToPim/SpatialToPimPass.cpp index 5bfd8f8..2e93989 100644 --- a/src/PIM/Conversion/SpatialToPim/SpatialToPimPass.cpp +++ b/src/PIM/Conversion/SpatialToPim/SpatialToPimPass.cpp @@ -24,7 +24,7 @@ #include "src/Accelerators/PIM/Conversion/SpatialToPim/Common.hpp" #include "src/Accelerators/PIM/Dialect/Pim/PimOps.hpp" #include "src/Accelerators/PIM/Dialect/Spatial/SpatialOps.hpp" -#include "src/Accelerators/PIM/Pass/PimPasses.hpp" +#include "src/Accelerators/PIM/Pass/PIMPasses.h" #include "src/Compiler/CompilerOptions.hpp" using namespace mlir; diff --git a/src/PIM/Dialect/Pim/Transforms/Bufferization/PimBufferizationPass.cpp b/src/PIM/Dialect/Pim/Transforms/Bufferization/PimBufferizationPass.cpp index 4f9d893..10da3ab 100644 --- a/src/PIM/Dialect/Pim/Transforms/Bufferization/PimBufferizationPass.cpp +++ b/src/PIM/Dialect/Pim/Transforms/Bufferization/PimBufferizationPass.cpp @@ -9,7 +9,7 @@ #include "Compiler/PimCodeGen.hpp" #include "Dialect/Pim/PimOps.hpp" #include "Dialect/Pim/Transforms/Bufferization/Common.hpp" -#include "src/Accelerators/PIM/Pass/PimPasses.hpp" +#include "src/Accelerators/PIM/Pass/PIMPasses.h" #include "src/Compiler/CompilerOptions.hpp" using namespace mlir; diff --git a/src/PIM/Pass/CMakeLists.txt b/src/PIM/Pass/CMakeLists.txt index bf509d1..63f8597 100644 --- a/src/PIM/Pass/CMakeLists.txt +++ b/src/PIM/Pass/CMakeLists.txt @@ -1,12 +1,13 @@ add_pim_library(OMPimPasses CountInstructionPass.cpp MessagePass.cpp - PimConstantFolding/Common.cpp - PimConstantFolding/Patterns/Constant.cpp - PimConstantFolding/PimConstantFoldingPass.cpp - PimConstantFolding/Patterns/Subview.cpp - PimMaterializeConstantsPass.cpp - PimVerificationPass.cpp + Pim/ConstantFolding/Common.cpp + Pim/ConstantFolding/Patterns/Constant.cpp + Pim/ConstantFolding/ConstantFoldingPass.cpp + Pim/ConstantFolding/Patterns/Subview.cpp + Pim/MaterializeConstantsPass.cpp + Pim/VerificationPass.cpp + Pim/EmitPimJsonPass.cpp EXCLUDE_FROM_OM_LIBS diff --git a/src/PIM/Pass/PimPasses.hpp b/src/PIM/Pass/PIMPasses.h similarity index 74% rename from src/PIM/Pass/PimPasses.hpp rename to src/PIM/Pass/PIMPasses.h index 7b59c8f..3285a48 100644 --- a/src/PIM/Pass/PimPasses.hpp +++ b/src/PIM/Pass/PIMPasses.h @@ -15,11 +15,11 @@ std::unique_ptr createSpatialToPimPass(); std::unique_ptr createBufferizePimPass(); -std::unique_ptr createPimConstantFoldingPass(); +std::unique_ptr createConstantFoldingPass(); -std::unique_ptr createPimMaterializeConstantsPass(); +std::unique_ptr createMaterializeConstantsPass(); -std::unique_ptr createPimVerificationPass(); +std::unique_ptr createVerificationPass(); std::unique_ptr createEmitPimJsonPass(); diff --git a/src/PIM/Pass/PimConstantFolding/Common.cpp b/src/PIM/Pass/Pim/ConstantFolding/Common.cpp similarity index 100% rename from src/PIM/Pass/PimConstantFolding/Common.cpp rename to src/PIM/Pass/Pim/ConstantFolding/Common.cpp diff --git a/src/PIM/Pass/PimConstantFolding/Common.hpp b/src/PIM/Pass/Pim/ConstantFolding/Common.hpp similarity index 100% rename from src/PIM/Pass/PimConstantFolding/Common.hpp rename to src/PIM/Pass/Pim/ConstantFolding/Common.hpp diff --git a/src/PIM/Pass/PimConstantFolding/PimConstantFoldingPass.cpp b/src/PIM/Pass/Pim/ConstantFolding/ConstantFoldingPass.cpp similarity index 83% rename from src/PIM/Pass/PimConstantFolding/PimConstantFoldingPass.cpp rename to src/PIM/Pass/Pim/ConstantFolding/ConstantFoldingPass.cpp index 490c038..83ac773 100644 --- a/src/PIM/Pass/PimConstantFolding/PimConstantFoldingPass.cpp +++ b/src/PIM/Pass/Pim/ConstantFolding/ConstantFoldingPass.cpp @@ -12,8 +12,8 @@ using namespace mlir; namespace onnx_mlir { namespace { -struct PimConstantFoldingPass : PassWrapper> { - MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(PimConstantFoldingPass) +struct ConstantFoldingPass : PassWrapper> { + MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(ConstantFoldingPass) StringRef getArgument() const override { return "pim-constant-folding-pass"; } StringRef getDescription() const override { return "Fold host-side constant expressions before PIM verification"; } @@ -48,6 +48,6 @@ struct PimConstantFoldingPass : PassWrapper createPimConstantFoldingPass() { return std::make_unique(); } +std::unique_ptr createConstantFoldingPass() { return std::make_unique(); } } // namespace onnx_mlir diff --git a/src/PIM/Pass/PimConstantFolding/Patterns.hpp b/src/PIM/Pass/Pim/ConstantFolding/Patterns.hpp similarity index 100% rename from src/PIM/Pass/PimConstantFolding/Patterns.hpp rename to src/PIM/Pass/Pim/ConstantFolding/Patterns.hpp diff --git a/src/PIM/Pass/PimConstantFolding/Patterns/Constant.cpp b/src/PIM/Pass/Pim/ConstantFolding/Patterns/Constant.cpp similarity index 100% rename from src/PIM/Pass/PimConstantFolding/Patterns/Constant.cpp rename to src/PIM/Pass/Pim/ConstantFolding/Patterns/Constant.cpp diff --git a/src/PIM/Pass/PimConstantFolding/Patterns/Subview.cpp b/src/PIM/Pass/Pim/ConstantFolding/Patterns/Subview.cpp similarity index 100% rename from src/PIM/Pass/PimConstantFolding/Patterns/Subview.cpp rename to src/PIM/Pass/Pim/ConstantFolding/Patterns/Subview.cpp diff --git a/src/PIM/Pass/EmitPimJsonPass.cpp b/src/PIM/Pass/Pim/EmitPimJsonPass.cpp similarity index 100% rename from src/PIM/Pass/EmitPimJsonPass.cpp rename to src/PIM/Pass/Pim/EmitPimJsonPass.cpp diff --git a/src/PIM/Pass/PimMaterializeConstantsPass.cpp b/src/PIM/Pass/Pim/MaterializeConstantsPass.cpp similarity index 94% rename from src/PIM/Pass/PimMaterializeConstantsPass.cpp rename to src/PIM/Pass/Pim/MaterializeConstantsPass.cpp index 74d809b..daa13b4 100644 --- a/src/PIM/Pass/PimMaterializeConstantsPass.cpp +++ b/src/PIM/Pass/Pim/MaterializeConstantsPass.cpp @@ -31,9 +31,8 @@ static int64_t getValueSizeInBytes(Value value) { return type.getNumElements() * type.getElementTypeBitWidth() / 8; } -struct PimMaterializeConstantsPass - : PassWrapper> { - MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(PimMaterializeConstantsPass) +struct MaterializeConstantsPass : PassWrapper> { + MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(MaterializeConstantsPass) StringRef getArgument() const override { return "materialize-pim-constants"; } StringRef getDescription() const override { @@ -128,8 +127,8 @@ struct PimMaterializeConstantsPass } // namespace -std::unique_ptr createPimMaterializeConstantsPass() { - return std::make_unique(); +std::unique_ptr createMaterializeConstantsPass() { + return std::make_unique(); } } // namespace onnx_mlir diff --git a/src/PIM/Pass/PimVerificationPass.cpp b/src/PIM/Pass/Pim/VerificationPass.cpp similarity index 94% rename from src/PIM/Pass/PimVerificationPass.cpp rename to src/PIM/Pass/Pim/VerificationPass.cpp index d0f2ed7..4661744 100644 --- a/src/PIM/Pass/PimVerificationPass.cpp +++ b/src/PIM/Pass/Pim/VerificationPass.cpp @@ -43,16 +43,16 @@ static bool isExplicitHostOperand(Operation* op, unsigned operandIndex) { return false; } -struct PimVerificationPass : PassWrapper> { - MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(PimVerificationPass) +struct VerificationPass : PassWrapper> { + MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(VerificationPass) StringRef getArgument() const override { return "verify-pim-pass"; } StringRef getDescription() const override { return "Verify that bufferized PIM IR contains only explicit host/device transfers"; } - PimVerificationPass() {} - PimVerificationPass(const PimVerificationPass& pass) {} + VerificationPass() {} + VerificationPass(const VerificationPass& pass) {} void runOnOperation() override { ModuleOp moduleOp = getOperation(); @@ -189,6 +189,6 @@ private: } // namespace -std::unique_ptr createPimVerificationPass() { return std::make_unique(); } +std::unique_ptr createVerificationPass() { return std::make_unique(); } } // namespace onnx_mlir diff --git a/src/PIM/PimAccelerator.cpp b/src/PIM/PimAccelerator.cpp index 6703ecf..aaa82c5 100644 --- a/src/PIM/PimAccelerator.cpp +++ b/src/PIM/PimAccelerator.cpp @@ -17,7 +17,7 @@ #include "src/Accelerators/PIM/Dialect/Pim/Transforms/Bufferization/OpBufferizationInterfaces.hpp" #include "src/Accelerators/PIM/Dialect/Spatial/SpatialOps.hpp" #include "src/Accelerators/PIM/Dialect/Spatial/Transforms/SpatialBufferizableOpInterface.hpp" -#include "src/Accelerators/PIM/Pass/PimPasses.hpp" +#include "src/Accelerators/PIM/Pass/PIMPasses.h" #include "src/Accelerators/PIM/PimAccelerator.hpp" #define DEBUG_TYPE "PimAccelerator" @@ -73,9 +73,9 @@ void PimAccelerator::registerPasses(int optLevel) const { registerPass(createSpatialToGraphvizPass); registerPass(createSpatialToPimPass); registerPass(createBufferizePimPass); - registerPass(createPimConstantFoldingPass); - registerPass(createPimMaterializeConstantsPass); - registerPass(createPimVerificationPass); + registerPass(createConstantFoldingPass); + registerPass(createMaterializeConstantsPass); + registerPass(createVerificationPass); registerPass(createEmitPimJsonPass); }