posted on 2003-01-01, 00:00authored byMihai Budiu, Seth C. Goldstein
We present Pegasus, a compact and expressive intermediate representation for imperative languages.
The representation is suitable for target architectures supporting predicated execution and
aggressive speculation. In Pegasus information about the global dataflow of the program is encoded
in local structures, enabling compact and efficient algorithms for program optimizations.
As a proof of the versatility of Pegasus, we have used it in a compiler translating C programs to
hardware implementations.