Scala on LLVM

This site will be the main location for information about the LLVM backend for Scala that is under development by Geoff Reedy.

The Code

Mailing List

scala-llvm on Google groups for discussion about this project.

Contributing

Switch to Scala LLVM Emitter Module (SLEM) to generate LLVM IR

Improve compilation speed

Emit scala signature to secondary file or as LLVM metadata

Papers

Compiling Scala to LLVM

This is the paper presented at the Second Scala Workshop to be held at Stanford on June 2nd 2011.

Abstract

This paper describes ongoing work to implement a new backend for the Scala compiler that targets the Low Level Virtual Machine (LLVM). LLVM aims to provide a universal intermediate representation for compilers to target and a framework for program transformations and analyses. LLVM also provides facilities for ahead-of-time and just-in-time native code generation. Targeting LLVM allows us to take advantage of this framework to compile Scala source code to optimized native executables. We discuss the design and implementation of our backend. We also outline the additional work needed to produce a robust backend.

Download

Download the Working Draft

Download the presentation slides

Comments and Questions

Email greedy@cs.unm.edu.