ELLCC

ELLCC - The Embedded LLVM Compiler Collection

Home
News
Documentation
Wiki
Bug Database
Source Repository
Contact
ELLCC is a project to combine the Elkhound parser generator and its companion Elsa C/C++ compiler with the LLVM (Low Level Virtual Machine) compiler infrastructure. The primary emphasis of the ELLCC project is to create an easy to use multi-target cross compilation environment.

Project Goals

Near Term

  • A functional C/C++ compiler based on Elsa.
  • Generalized AST (Abstract Syntax Tree) to LLVM IR lowering support.
  • Multi-target support (Alpha, ARM, C, C++, CellSPU, IA64, Mips, MSIL, Nios2, PIC16, PowerPC, Sparc, X86).
  • A C-only release.

Long Term

  • A release with C++ support.
  • Heterogeneous target support in one compilation.
  • Language support for message passing/multi-threading.

Project Components

  • ELLCC - The ELLCC compiler driver framework.
  • Elsa - The C/C++ compiler.
  • LLVM - The compiler back end.
  • Elkhound - The parser generator.
  • binutils - The GNU binutils package.
  • newlib - The C standard library.
  • Insight - The Insight debugger.

Project Status

  • C compilation on the X86 architecture targeting Linux functional.
  • Full program compilation and inter-module optimization supported..
  • A new preprocessor almost complete.