Re: Compiler Construction Tools?

Allyn Dimock <>
28 Jul 1998 11:37:43 -0400

          From comp.compilers

Related articles
Compilier Construction Tools? (1998-07-26)
Re: Compilier Construction Tools? (Vladimir Makarov) (1998-07-27)
Re: Compiler Construction Tools? (Allyn Dimock) (1998-07-28)
Re: Compiler Construction Tools? (1998-07-28)
Re: Compiler Construction Tools? (Augusteijn, A.) (1998-07-30)
Re: Compiler Construction Tools? (1998-07-31)
Re: Compiler Construction Tools? (1998-08-02)
| List of all articles for this month |

From: Allyn Dimock <>
Newsgroups: comp.compilers
Date: 28 Jul 1998 11:37:43 -0400
Organization: Harvard University, Cambridge, Massachusetts
References: 98-07-183 98-07-200
Keywords: tools

Just a note on SUIF:

It has not been designed as a front end tool: there are plenty of
those. It is a very flexible middle end and back end generator. I
was surprised to see how many papers at PLDI referred to SUIF as their
backend generator.

SUIF 1(.2?) is the version that I am most familiar with.
Supplied front ends to SUIF 1 are limited: it uses lcc as a front end
for C and uses Fortran to C translation followed by lcc to front end
Fortran. Other front ends may be used but you have to write them

SUIF 1 is written without regard to compile time: individual passes
typically read input from a file ad write output to a file.

SUIF 1 is an excellent product for teaching courses on optimizing
compilers, because of the ease of introducing new passes.

SUIF 2 is in development, but is (pre?) released.
SUIF 2 fixes the read / unpickle / transform / pickle / write overhead
of SUIF 1 by putting in generalized piping between passes which may be
implemented in memory with low overhead. I believe that there are C++
and Java fromt ends for SUIF 2 in development.

For the SUIF package, please see the
Stanford product is mostly concerned with middle end issues such as

For an associated product: machSUIF, please see the Harvard product is code
generation, register allocation, scheduling passes for SUIF, as well
as optimization passes that can be used at the machine code level.

-- Allyn

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.