Send e-mail to the CS Department
CS5131 Compiler Optimization - Course Specification

Catalog Description

Prerequisite: CS4131

Required concurrent courses: None

Lab Resources: Yes

Course Fee: 75

Class hours per week: (0,3,0)

Term offered: Spring

Course rationale and rationale for course fee (if any):

      This is a graduate elective course for students wishing to do research in compiler optimization.
      The course fee is needed since there will be a medium-sized term project in the course.

Faculty member proposing: Steve Carr

Email address: carr@mtu.edu

Course syllabus:

       Control-flow analysis
       Iterative data-flow analysis
       Data-flow frameworks
       Global optimization
       Loop optimization
       Static single assignment form
       Global register allocation
       Local instruction scheduling
       Global instruction scheduling
       Software pipelining
       Dependence analysis
       Memory-reuse analysis
       Interprocedural analysis

Knowledge 
TOPIC A 

Familiarity 

   Interprocedural analysis
   Compilation for object-oriented languages
Exposure 
   Interval data-flow analysis
   Dependence analysis
   Memory-reuse analysis
   Global instruction scheduling
Mastery 
   Iterative data-flow analysis
   Global optimizations
   Loop optimizations
   Intermediate forms
   Global register assignment/allocation
   Interaction between  RA/IS
   Software pipelining
Skills 
TOPIC A  

Mastery 
   Given a technical paper on compiler optimization, the student will be able to read the paper and give a critical analysis of the content, including correctness, complexity, feasibility and breadth of application.

   Given a description of an intermediate language, the student will be able to write an optimizer for that language that includes the construction of a control-flow graph, the implementation of traditional local and global optimizations and the implementation of iterative data-flow analysis to support the optimizations

   Given a set of compiler optimizations, the student will be able to describe in both written and oral form the interaction of these optimizations including the goal of each optimization, the positive effects they have on the other optimizations, the negative effects they have on other optimizations and the effects they have on compile time, execution time and code size.


Please send questions and comments about this CS Web Page to cswebmaster@mtu.edu
Department of Computer Science
Last Updated: Monday, August 27, 2001