The CSSAME Library for SUIF v1.0



The CSSAME library (pronounced sesame) is part of the Odyssey compiler. Odyssey is an optimizing compiler for explicitly parallel languages which is still in the very early stages of development. An alpha release of the compiler is available here. Please read the README file before downloading the source code. Many things have changed.

This library implements the CSSAME form as described in the paper "Concurrent SSA Form in the Presence of Mutual Exclusion". A more detailed description can be found in my Ph.D. Thesis "Analysis and Optimization of Explicitly Parallel Programs". The CSSAME form is a superset of the well-known SSA (Static Single Assignment) form used in modern sequential compilers. Therefore, it can handle both sequential and explicitly parallel programs. You can still use this library even if you only need to analyze sequential programs. You will not need to make any modifications to the library (except maybe adding functionality and squashing the bugs that I still haven't found).

This implementation is based on SUIF1 and the CFG library from the Machine SUIF project. You do not need to have MachSUIF installed but you must have SUIF1. The library has been developed on IRIX 6.4 using SGI native threads and Linux 2.0.27 using PThreads. It should work on all the platforms supported by SUIF.

Disclaimer and Copyright

This library is provided under the same terms described in the SUIF copyright.  Basically, you can use it for any purpose but you cannot make me responsible for anything bad that happens to you as a result of using this software. I only ask that you give me credit for it and send me any bug corrections and/or enhancements that you make to the library.

Downloading and Installing the CSSAME library

  1. Download the source code.

  2. Expand the archive in some convenient place

  3. Set the environment variable ODYSSEY to the directory where you unpacked the archive

  4. Compile and install the library with  make install

Last modified: Jun 20, 2000