[Synth] Add declarative cut rewrite pattern and yield op#10565
Conversation
5ba04fa to
59ffecd
Compare
59ffecd to
aee47a9
Compare
aee47a9 to
2318e6e
Compare
2318e6e to
030d0a0
Compare
030d0a0 to
8e7d483
Compare
08f5c93 to
a4a11d2
Compare
|
@uenoku I reverted the new positional timing arc attribute and added a TODO for the Moreover, I'd like to do a follow-up PR to move LMK if that sounds good and I’ll open an issue for it after this PR is sorted. Thanks. |
|
Results of circt-tests run for 472b8b3 compared to results for 7aa41cc: sv-testsChanges in emitted diagnostics:
|
| "::mlir::FloatAttr":$area, | ||
| "::mlir::ArrayAttr":$arcs, | ||
| "::mlir::DictionaryAttr":$inputCaps | ||
| OptionalParameter<"::mlir::ArrayAttr">:$arcs, |
There was a problem hiding this comment.
Could you follow up on this? I think we want to make delay/arc somewhat required for each patterns, even when they want to use depth driven by BooleanLogicOpInterface.
|
Sorry for the delayed review, thank you! |
Concerns #10485
We introduce the declarative operation
synth.cut_rewrite_patternand also the terminator operationsynth.yield.synth.cut_rewrite_patterndenotes cut rewrite patterns fori1input and result types as function-shaped regions. We also implement a custom printer and parser with attribute support forsynth.mapping_cost.In this PR we only introduce the IR representation; wiring this into consumers, for example
TechMapper.cpp, can be added later.