V3Premit extracts wide sub-expressions via temporaries, which is needed for emitting wide operations to C++ (calls to `VL_*_W`). The previous version used to extract both branches of an AstCond unconditionally, meaning both branches were fully evaluated. Rewriting the AstCond into an AstIf instead enables evaluating only the required branch. While this does limit V3Subst, overall the resulting code is ~3% faster, and contains ~25% fewer branches on a large design. |
||
|---|---|---|
| .. | ||
| t | ||
| .gdbinit | ||
| .gitignore | ||
| CMakeLists.txt | ||
| Makefile | ||
| Makefile_obj | ||
| driver.py | ||
| input.vc | ||
| input.xsim.vc | ||