calyx
calyx copied to clipboard
`-d <alias>` disables all instances of the pass invocation
An unintuitive problem that @paili0628 ran into for the #959 pass implementation is that the default pipeline now needs to call dead-group-removal twice. However, the -d <pass> option disables all instances the pass because it is excluded from the pass pipeline. The tests/passes/tdcc tests do -d post-opt which is an alias to -d dead-group-removal -d dead-cell-removal ... which hides the fact that the dead-group-removal pass is being implicitly disabled make the cause of the bug non-obvious.
We probably need to rethink the -d flag a little more and see if it makes sense. Long term, we probably need to re-design the pass manager.
ahhh interesting and tricky! Maybe aliases should be more of a first class scheduling concept so disabling them is disabling a particular block in the main compilation chain rather than disabling each of its constituent passes