Assignments
COMP4133: Advanced Compiler Construction
Semester 1, 2004

There will be two projects. The first project is about scalar replacement of aggregates, which is primarily designed to help you become familiar with the LLVM infrastructure. You have a little over four weeks to complete this project.

The second project is more substantial aiming at solving a significant compiler problem. It involves reading the literature, developing a solution, implementing in a realistic compiler (LLVM); testing it for realistic codes, writing a project report and giving a seminar presentation. You have about 10 weeks to complete this project --- you are expected to start reading relevant papers in week 4.

You are strongly advised to start now to work on the projects. It is difficult for you to complete either of the two projects in one week since both LLVM and the underluing compiler problem you deal with are new to you.

To get the most out of a project, think about the project as a research problem to tackle and solve, rather than something with scanned procedures and goals.

1. Important Facts

Project Weight (marks) Due Penalties
1 10 12noon Sunday 4 April 2004 2 marks per day late
2 50 12noon Friday 11 June 2004 3 marks per day late

2. Project Specs

3. Download and Install LLVM

  1. Copy the following files from ~cs4133/llvm:

    cfrontend-1.1.i686-redhat-linux-gnu.tar.gz: precompiled llvm front end 
                                                binaries for Linux/x86
    llvm-2-may.tar.gz:                          llvm source code
    

  2. Install the precompiled LLVM front end
    1. Untar the tar ball in some directory
    2. Read "Setting up your environment" in The LLVM Getting Started Guide
    If you need the llvm front end for a different platform, you can download it from llvm's web site (click ``download 1.1'' and sign their registration form).
  3. Compile and install LLVM


Acknowledgments. The two projects have been taken from Vikram Adve with modifications. Thanks!

Jingling Xue