The LLVM backend
David Terei wrote a new code generator for GHC which targets the LLVM compiler infrastructure. Most of the work was done as part of an honours thesis at the University of New South Wales under the supervision of Manuel Chakravarty. It was merged into GHC Head around May of 2010 and has been included in GHC since the 7.0 release.
Documentation:
- Installing & Using
- Design & Implementation
- LLVM Mangler
- Bugs & Other Problems
- Porting GHC/LLVM to another platform
Work in Progress:
Future Ideas:
- ToDo List of Sorts
- Replacing the Native Code Generator
- David Terei blog post of LLVM-related projects
Other information:
- The thesis paper which offers a detailed performance evaluation, as well as the motivation and design of the back-end.
- Blog post on the LLVM blog about the backend.
- A more recent paper submitted to the Haskell Symposium '10, gives updated design overview and performance numbers.