news.volyx.in

LLVM: The bad parts (npopov.com)

389 points by vitaut · 282 days ago · 77 comments on HN

Article summary

The article discusses the challenges and limitations of the LLVM project, including issues with review capacity, churn, build time, and instability. The author highlights the need for improvement in these areas to ensure the project's continued success. The article also touches on the complexity of LLVM's IR design and the need for better testing and performance tracking. The author emphasizes that these issues are not reasons to abandon LLVM, but rather opportunities for improvement.

Main themes

  • LLVM limitations
  • Code review and maintenance
  • Compilation time and performance
  • IR design and stability
  • Testing and validation

What commenters say

  • LLVM's complexity and churn make it difficult to audit and ensure correctness, which is a concern for languages like Rust that rely on it.
  • The use of LLVM as a compilation target can lead to slower compilation times, which is a problem for languages like Rust.
  • Some commenters argue that LLVM's issues are not unique to the project and that other compilation targets, like C, have their own set of problems.
  • Others suggest that using alternative compilation targets, like the Tiny C Compiler, or developing new compilation infrastructure, like Cranelift, could help mitigate some of LLVM's issues.
  • There is a need for better testing and validation of LLVM, including end-to-end testing and performance tracking, to ensure its correctness and stability.
  • Some commenters disagree about the severity of LLVM's issues and argue that the project is still a good choice for compiling C and C++ code despite its limitations.
  • The development of new technologies, like MLIR, may help address some of LLVM's limitations and provide a more stable and efficient compilation infrastructure.