mirror of https://github.com/llvm/circt.git
bd259e788a
This PR adds function call constructs (sv.func, sv.return and sv.func.call) to SV dialect. * `sv.func` -- this op is between hw.module and func.func. This op implement interfaces `PortList`, `HWModuleLike` and `FunctionOpInterface`. Similar to hw.module, we can preserve argument names and mix the order of input and output arguments. Following func.func empty body indicates that the op is a declaration. Currently sv/func is defined as "automatic" function in SV. * `sv.return` -- terminator for sv.func. We cannot reuse neither hw.output nor func.func since they have constraints on parent op(and I think it's not reasonable to loose them). * `sv.func.call` and `sv.func.call.procedural`. Two operations are added because output arguments cannot be used non-procedural regions. |
||
---|---|---|
.. | ||
Analysis | ||
Bindings | ||
CAPI | ||
Conversion | ||
Dialect | ||
Firtool | ||
Reduce | ||
Scheduling | ||
Support | ||
Target | ||
Tools | ||
Transforms | ||
CMakeLists.txt |