The ARM backend of LLVM

A Presentation by Rafael Espindola

The Low Level Virtual Machine (LLVM) is a very versatile compiler construction framework. Its current uses include a non official GCC branch and a PyPy backend.

ARM is a beautifully designed architecture that has a very regular RISC instruction set but is able to obtain incredibly dense code.

This presentation will show the implementation of an ARM backend for LLVM. The LLVM backend interface, the instruction selection, the strengths and weakness of LLVM. The current status and possible improvements.

Direct link to video