nimskull
nimskull copied to clipboard
mir: implement the new control-flow primitives
Summary
Implement the goto-based control-flow primitives for the MIR -- as a consequence, destructor injection has to happen in mirgen
already. The MIR is now similar/versatile enough to the CGIR to replace the latter.
Details
... to be written ...
To-Do
- [x] update the pretty-printer
- [ ] implement the actual destructor injection
- [ ] implement a pass for eliminating unnecessary
destroy
operations - [ ] (maybe) implement a pass for eliminating empty
finally
sections - [ ] update the now-working tests
- [ ] write a proper commit message
Notes for Reviewers
- wraps up the control-flow rework of the MIR
- wraps up the MIR rework as sketched out here