A few comments, but this looks really useful.
I don't totally like the fact that at some point during the pipeline the VSIR code is technically illegal (because it has SSA registers without satisfying the SSA rules). Ideally I'd like the code to validate at each stage, which might become helpful for debugging at some point. I won't block development on this, but eventually I'll try to look for better solutions.