The Cetus Compiler Manual

Troy A. Johnson

Purdue University
ParaMount Research Group

Sang-Ik Lee

Purdue University
ParaMount Research Group

Abstract

Cetus is a source-to-source parallelizing compiler for ANSI C. It can run on any system supporting Sun's Java 2 Runtime Environment, Standard Edition (version 1.5.0 or later). If you are referring to a printed version of this document, the most recent version can be found at http://cetus.ecn.purdue.edu/. You can view this manual as a single HTML file here.


Table of Contents

1. Introduction
2. License
3. Obtaining Cetus
Source Code and Binaries
4. Compiling Cetus
5. Installation
6. Running Cetus
Quick Start
Command Line Options
7. Architecture of Cetus
Background
GCC
Polaris
SUIF
Front End
Integrated Parsers
Separate Parsers
Parse Tree File Format
Saving Line Numbers, Pragmas, and Comments
Tree Walker Generator
Tree Walker
Parse Tree Disambiguation
Intermediate Representation
Class Hierarchy Design
Major Classes
Back End
8. Writing a Pass
Making Cetus Execute Your Pass
Iterators
Tools
Expression Simplifier
Modifying IR
Printing
9. Optimization and Analysis Passes
Data Dependence Analysis
Induction Variable Recognition and Substitution
Reduction Variable Recognition
Privatization
Pointer Alias Analysis
OpenMP
10. Examples
11. Glossary
Index