Can someone explain why zig is moving away from llvm but in simple way?

  • LLVM is slow.
  • Using a third-party backend for the compiler limits what kind of end-to-end innovations are possible.
  • Bugs in Zig are significantly easier for us to fix than bugs in LLVM.
  • LLVM regularly ships with regressions even though we report them against release candidates.
  • Building Zig from source is made obnoxiously difficult by LLVM. This affects Zig’s availability in system package managers, limits contributions from the open source community, and makes our bootstrap chain depend on C++.
  • Many of our users are interested in avoiding an LLVM monoculture.
  • LLVM development moves slowly. Zig gained a C backend faster than LLVM, for example.
  • We want to add support for many more target CPU architectures than LLVM supports.
  • We cannot control the quality of the LLVM libraries that appear in the wild, and misconfigured LLVM installations reflect poorly on Zig itself. This happens regularly.
50 Likes