This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

LLVM compiler with Morello support - 1.5 release announcement



The 1.5 release for the LLVM compiler with Morello support is now out. As usual, the binaries can be found in the llvm-project-releases repository:

Additionally, the source code can be found in the Morello llvm-project repository:

This release deploys the following ABI updates (on by default for Android, Linux, CheriBSD and baremetal):

  • Uses the updated varargs PCS by default
  • The purecap thread local storage now supports all TLS models

Newlib/libgloss now supports processing RELATIVE relocations for initialising capabilities, in addition to the already supported caprelocs style relocations.

Several code generation improvements were made for purecap:

  • Fixed an issue where accessing globals could cause artificially high register pressure.
  • Global merging is now enabled by default, further reducing register pressure when accessing globals and potentially reducing the number of loads required to generate addresses of globals.
  • Can now generate ccmp instructions when comparing capabilities

Mixing objects with different ABIs is now an error.

As always, the release contains various bug fixes that are needed to support the work done by the community.