Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Its pluggable, modern interface, allows quick prototyping and easy integration of new features or alternative implementations, making it a good tool for testing combinations of multiple approaches on benchmarks.
  • Its flexible license allows companies to enhance the compiler with proprietary extensions with reduced maintenance cost, which makes it easier to open source parts, but not the whole, of the extension later.
  • All back-ends build by default, making LLVM a versatile native and cross-compiler on the same binary. Production support for many architectures provide an easy way to use the same compiler/build system for all your targets.
  • Native Just-In-Time compilation and interpreter (VM) allow for run-time optimizations and adaptations, used by LLDB, OpenCL, Renderscript, OpenGL, stored procedures and interpreted languages.

...

  • Code generation quality: fixing back-end and assembler bugs, as well as correct platform support for ARM targets in the front and middle end.
  • Compatibility with other toolchains: making sure Clang/LLVM is compatible with other tools and libraries (especially the GNU toolchain).
  • Library and sanitizers: extending and validating support for Compiler-RT and the sanitizers (soon libc++ too).
  • Performance: measuring performance and working with developers and members to upstream improvements and fixes.
  • Linker: implementing both AArch64 and ARM back-ends to LLD and adding the required features for it to be a full system linker.
  • Debugger: working on LLDB to provide full ARM and AArch64 support and the full debug illusion, integrating with IDEs and as a replacement to for GDB.
  • Buildbot support and validation: providing an extensive set of buildbots in a number of configurations, monitoring, fixing, keeping them green.

...