llvm / circt

Circuit IR Compilers and Tools
https://circt.org
Other
1.62k stars 281 forks source link

[FIRRTL] Finish deleting the `firrtl.partialconnect` operation #2996

Closed youngar closed 2 years ago

youngar commented 2 years ago

We started handling this in the parser so that we wouldn't have to worry about it for all the FIRRTL passes. This should fairly straightforward to remove, as no pass is generating or relying on this op.

dtzSiFive commented 2 years ago

Just to be clear, are you suggesting dropping firrtl.PartialConnectOp entirely? Okay!

Poking at this, found these locations that create PartialConnectOp's:

https://github.com/llvm/circt/blob/1921121662752de4c3aaf79eabdde78a87e4ac79/lib/Dialect/FIRRTL/Transforms/LowerTypes.cpp#L768 https://github.com/llvm/circt/blob/1921121662752de4c3aaf79eabdde78a87e4ac79/lib/Dialect/FIRRTL/Transforms/LowerCHIRRTL.cpp#L391

There are a few more in LowerTypes.

(EDIT: discussed offline)