Welcome! CMU 15-745 Spring 2007, "Optimizing Compilers for Modern Architectures."

Basic Information

The course is being taught by Professors Seth Copen Goldstein and Tim Callahan. The teaching assistant is Mahim Mishra. The course administrator is Marilyn Walgora. For office hours, locations, email, etc. see the general information page.

Lectures are Tuesday and Thursday at 10:30 a.m. - 11:50 a.m in Wean 5409. There are no regular recitations scheduled.

New Information

When necessary, we will place important information here. So check the web pages frequently.

No Lecture 3/22
 
Assignment 3 is postponed: now due 3/27
 

 
Objectives

The compiler is the programmer's most important tool. It gives the programmer the freedom to write practical programs in a high-level programming language while still achieving good execution times and efficient use of space. In fact, compilers are so important that new computer architectures are developed in tandem with new compiler technology. It is only slightly overstating the case to say that much of today's advances in computer architecture is driven by compilers. Furthermore, new architectures are never sold without a companion compiler. This means that for just about every computer architecture company, one of the most effective ways to increase sales is to produce a better optimizing compiler, thereby increasing the claimed performance of the new processor architecture.

In this course, we will study the fundamentals of compiler optimization, and will build upon these fundamentals to address issues in state-of-the-art commercial and research machines. Topics include: intermediate representations, basic blocks and flow graphs, data flow analysis, partial evaluation and redundancy elimination, loop optimizations, register allocation, instruction scheduling, interprocedural analysis, memory hierarchy optimizations, extracting parallelism, and dynamic optimizations. Students will implement significant optimizations within the framework of a modern research compiler.

Top General Info Schedule Projects Assignments Papers Useful Info