Zephyr Compiler Infrastructure

Zephyr Compiler Infrastructure provides a means to define an intermediate representation and write passes on it in several languages; it also provides a hardware description language to power a code-generator generator. From the web site:

If you describe your intermediate forms using Zephyr’s Abstract Syntax Description Language (ASDL), we can generate data-structure definitions in C, C++, Java, Standard ML, and Haskell. Your IR can be serialized on disk and freely exchanged among compiler passes written in these languages…

[Zephyr] generate[s] the machine-dependent parts from descriptions of instructions’ semantics, of binary representations, or of other properties. Zephyr’s Computer Systems Description Languages (CSDL) let you describe as much or as little as you need for your application.

Zephyr also seems to provide a reasonable set of built-in optimizations.

2 Responses to “Zephyr Compiler Infrastructure”

  1. A Catalog of Research Compiler Infrastructures and Tools Says:

    SUIF
    The venerable SUIF system is “a free infrastructure designed to support collaborative research in optimizing and parallelizing compilers.” It is fairly straightforward to write your own passes on the SUIF IR in C++. Frontends exist for C, C++, …

  2. Will Benton Says:

    Thanks to Norman Ramsey for pointing out that the Zephyr project features a portable back-end: Zephyr Very Portable Optimizer (vpo). Vpo features an IR based on Register Transfer Lists.

Leave a Reply