The Embedded Compiler Libraries
Benoît Dupont de Dinechin
The Embedded Compiler Libraries (ECL) is a GNU-style package that provides libraries that are used to develop compiler code generators, with primary focus on the ST200 VLIW processor family. The ECL package is currently used for the ST200 LAO and for the STMicroelectronics CIL JIT compiler.
The main features of the ECL are:
- Target machine description are captured in MDS-generated tables.
- The intermediate representation is inspired from the Open64 CGIR.
- The intermediate representation and optimizations are biased towards efficiency, so they are suitable for use in JIT compilers.
- The intermediate representation supports at the same time machine-independent and machine dependent Operator(s).
- The intermediate representation supports SSA form on machine code.
- The ECL source code uses XCC, WLM, and follows well-defined programming practices.
The ECL is composed of the following libraries:
- Target machine description library configured by the MDS
- Assembler Intermediate Representation (AIR)
- Layered Intermediate Representation (LIR)
- Program Flow Analyses (PFA)
- Code Generator Optimizations (CGO)
- Just-In-Time compiler (JIT)
Some useful documents about ECL: