Skip to content

Commit 61eca43

Browse files
committed
[HW] Add HWVectorization pass
1 parent 68bd267 commit 61eca43

File tree

4 files changed

+994
-0
lines changed

4 files changed

+994
-0
lines changed

include/circt/Dialect/HW/Passes.td

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,4 +92,12 @@ def HWAggregateToComb : Pass<"hw-aggregate-to-comb", "hw::HWModuleOp"> {
9292
let dependentDialects = ["comb::CombDialect"];
9393
}
9494

95+
def HWVectorization : Pass<"hw-vectorization", "hw::HWModuleOp"> {
96+
let summary = "Vectorizes bit-level operations in HW dialect";
97+
let description = [{
98+
This pass performs structural vectorization of hardware modules,
99+
merging scalar bit-level assignments into vectorized operations.
100+
}];
101+
}
102+
95103
#endif // CIRCT_DIALECT_HW_PASSES_TD

lib/Dialect/HW/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ set(CIRCT_HW_Sources
1616
InnerSymbolTable.cpp
1717
PortConverter.cpp
1818
InferIntRangeInterfaceImpls.cpp
19+
HWVectorization.cpp
1920
)
2021

2122
set(LLVM_OPTIONAL_SOURCES

0 commit comments

Comments
 (0)