Zig has moved to a compiler bootstrap approach that uses webassembly: https://ziglang.org/news/goodbye-cpp/ They check in the wasm artifact and provide their own wasm compiler. wasm is the most portable backend supported by LLVM. OCaml does something similar! It includes a minimal VM.