You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We currently have a lot of seq dialect lowerings. Some of these are probably warranted (i.e. targets different lower-level abstractions than the others), some can probably be merged.
--lower-seq-fifo - Lower seq.fifo ops
--lower-seq-firmem - Lower seq.firmem ops to instances of hw.module.generated ops
--lower-seq-firrtl-init-to-sv - Prep the module with macro definitions for firrtl registers.
--lower-seq-firrtl-to-sv - Lower sequential firrtl ops to SV.
--lower-seq-hlmem - Lowers seq.hlmem operations.
--lower-seq-to-sv - Lower sequential ops to SV.
I'd expect a merging of:
lower-seq-fifo, lower-seq-hlmem, lower-seq-firmem - either lowers Seq ops to other seq ops or hw ops
lower-seq-to-sv, lower-seq-firrtl-to-sv, lower-seq-firrtl-init-to-sv - lowers (presumably) as low-level-as-possible-seq to sv.
This is a great idea! I did a quick attempt at merging some of this a while ago, but that didn't go very far. But it looks like internally these passes are a combination of the dialect conversion framework and global passes over the IR. We should be able to create a pass that does a global sweep over the IR to collect the important stuff, then do a more localized lowering where all the dialect conversion stuff is also called.
We currently have a lot of seq dialect lowerings. Some of these are probably warranted (i.e. targets different lower-level abstractions than the others), some can probably be merged.
I'd expect a merging of:
lower-seq-fifo, lower-seq-hlmem, lower-seq-firmem
- either lowers Seq ops to other seq ops orhw
opslower-seq-to-sv, lower-seq-firrtl-to-sv, lower-seq-firrtl-init-to-sv
- lowers (presumably) as low-level-as-possible-seq tosv
.Somewhat also pertains to #5463 (@fabianschuiki).
The text was updated successfully, but these errors were encountered: