[ArrayPartition] start of array partition pass
This commit is contained in:
parent
7cb98f3a87
commit
a06d34e837
|
@ -20,6 +20,7 @@ std::unique_ptr<mlir::Pass> createAffineLoopPerfectionPass();
|
|||
std::unique_ptr<mlir::Pass> createPartialAffineLoopTilePass();
|
||||
std::unique_ptr<mlir::Pass> createRemoveVarLoopBoundPass();
|
||||
std::unique_ptr<mlir::Pass> createInsertPipelinePragmaPass();
|
||||
std::unique_ptr<mlir::Pass> createArrayPartitionPass();
|
||||
|
||||
void registerTransformsPasses();
|
||||
|
||||
|
|
|
@ -20,6 +20,17 @@ def PragmaDSE : Pass<"pragma-dse", "ModuleOp"> {
|
|||
let constructor = "mlir::scalehls::createPragmaDSEPass()";
|
||||
}
|
||||
|
||||
def ArrayPartition : Pass<"array-partition", "ModuleOp"> {
|
||||
let summary = "Insert pipeline pragma";
|
||||
let description = [{
|
||||
This array-partition pass will automatically search for the best array
|
||||
partition solution of each on-chip memory instance and insert array
|
||||
partition pragmas.
|
||||
}];
|
||||
|
||||
let constructor = "mlir::scalehls::createArrayPartitionPass()";
|
||||
}
|
||||
|
||||
def InsertPipelinePragma : Pass<"insert-pipeline-pragma", "ModuleOp"> {
|
||||
let summary = "Insert pipeline pragma";
|
||||
let description = [{
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
//===------------------------------------------------------------*- C++ -*-===//
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "Transforms/Passes.h"
|
||||
#include "mlir/Dialect/Affine/IR/AffineOps.h"
|
||||
#include "mlir/Dialect/Affine/Passes.h"
|
||||
#include "mlir/IR/Builders.h"
|
||||
#include "mlir/Transforms/LoopUtils.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace mlir;
|
||||
using namespace scalehls;
|
||||
|
||||
namespace {
|
||||
struct ArrayPartition : public ArrayPartitionBase<ArrayPartition> {
|
||||
void runOnOperation() override;
|
||||
};
|
||||
} // namespace
|
||||
|
||||
void ArrayPartition::runOnOperation() { return; }
|
||||
|
||||
std::unique_ptr<mlir::Pass> scalehls::createArrayPartitionPass() {
|
||||
return std::make_unique<ArrayPartition>();
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
// RUN: scalehls-opt -array-partition %s | FileCheck %s
|
||||
|
||||
// CHECK-LABEL: func @test_for
|
||||
func @test_for() {
|
||||
return
|
||||
}
|
Loading…
Reference in New Issue