CS243: Advanced Compiling Techniques

Winter 2006

Course Info | Lecture Schedule | Lecture Notes | Assignments | Honor Code


The class is officially over. The grades should be available on Axess soon. Have a great Spring break.

Course Personnel

Instructors

Jeffrey UllmanWei Li
OfficeGates 433Gates 305
Phone(650) 725-4802(650) 725-3927
Office hoursMon 12:30-1:30Mon 10-11AM

TAs
Ben LivshitsHasan Imam
OfficeGates 406Gates B26b
Phone(650) 725-3720(650) 736-1817
Office hoursWed 10-11AMThurs 1-2PM

Administrator
Darlene Hadding
OfficeGates 408
Phone(650) 723-1430

Course Logistics

Lectures Mon/Wed 11:00 to 12:15 in Gates B01 (SITN channel E1)
Review sessions An occasional optional review session will be held on Fri 9:00-9:50am Skilling Aud (SITN channel E3)
Prerequisites CS143 (or equivalent); Java programming language experience
Textbook There is an on-line version of new chapters of the Dragon book available from Addison-Wesley. The chapters are packaged with the Gradiance on-line homework service that will also be used in this class. The package can be purchased from www.aw-bc.com/dragonbook.
Class newsgroupUnmonitored newsgroup su.class.cs243 has been set-up
Midterm Wednesday Feb 15, 11:00 to 12:15 in class
Final exam Monday Mar 20, 8:30 to 11:30 AM. Location: B01 (regular classroom)
Grade distribution Gradiance homework: 10%, Programming projects: 20%, Midterm: 25%, Final: 45% (tentative)

Schedule of Lectures

Date Topic Instructor Reading Lecture notes Assignment out Assignment due
Jan 11 (Wed) Compiler Intro Jeff/Wei Sect. 8.4, 9.1 PPT/PDF, PPT/PDF, PPT, PPT/PDF
Jan 18 (Wed) Data Flow (1) Jeff Sect. 9.2 PPT/PDF HW 1
Jan 23 (Mon) Data Flow (2) Jeff Sect. 9.3, 9.6 PPT/PDF, PPT/PDF
Jan 25 (Wed) joeq/More Data Flow Ben/Jeff PPT/PDF PA 1 HW 1
Jan 30 (Mon) PRE Jeff Sect. 9.5 PPT/PDF
Feb 1 (Wed) ConstProp, IndVariables Jeff Sect. 9.4, 9.7, 9.8 PPT/PDF, PPT/PDF
Feb 3 (Fri) PA 1
Feb 6 (Mon) SSA Wei Sect. 6.1.2 and paper PPT/PDF HW 2, HW 3
Feb 8 (Wed) Control Dependence Wei Sect. 10.2.5 and paper PPT/PDF
Feb 10 (Fri) Review Session for Midterm Hasan
Feb 13 (Mon) Register Allocation Wei Sect. 8.8 PPT/PDF HW 2, HW 3
Feb 15 (Wed) Midterm MT 1/soln, MT 2/soln, MT 3 Midterm with Solutions PA 2
Feb 17 (Fri) Review Session for PA 2 Hasan
Feb 22 (Wed) Garbage Collection Jeff Sect. 7.5 - 7.7 PPT/PDF
Feb 27 (Mon) Data Dependences and Parallelization Wei Sect. 11.1-11.4, 11.6 PPT/PDF HW 4
Mar 1 (Wed) Loop Transformations and Locality Wei Sect. 11.1-5, 11.7 PPT/PDF
Mar 3 (Fri) PA 2
Mar 6 (Mon) Data Prefetch and Software Pipelining Wei Sect. 11.5, 10.5 PPT/PDF HW 5 HW 4
Mar 8 (Wed) Instruction Scheduling Jeff Ch. 10 PPT/PDF
Mar 13 (Mon) Pointer Analysis and IPO Jeff PPT/PDF HW 6 HW 5
Mar 15 (Wed) Building a Production Compiler Wei PPT/PDF
Mar 17 (Fri) Review Session for Final Ben/Hasan HW 6
Mar 20 (Mon) Final (8:30-11:30am) FL 1, soln, FL 2/ soln, FL 3 Final with Solutions
January 2006
Su Mo Tu We Th Fr Sa 

 1  2  3  4  5  6  7 
 8  9 10 11 12 13 14 
15 16 17 18 19 20 21 
22 23 24 25 26 27 28 
29 30 31 

                
February 2006
Su Mo Tu We Th Fr Sa 

 1  2  3  4 
 5  6  7  8  9 10 11 
12 13 14 15 16 17 18 
19 20 21 22 23 24 25 
26 27 28 

                
March 2006
Su Mo Tu We Th Fr Sa 

 1  2  3  4 
 5  6  7  8  9 10 11 
12 13 14 15 16 17 18 
19 20 21 22 23 24 25 
26 27 28 29 30 31 

                

Lecture Notes

  1. For 1/11/06 lecture:

  2. For 1/18/06 lecture:

  3. For 1/23/06 lecture:

  4. For 1/25/06 lecture:

  5. For 1/30/06 lecture:

  6. For 2/1/06 lecture:

  7. For 2/6/06 lecture:

  8. For 2/8/06 lecture:

  9. For 2/13/06 lecture:

  10. For 2/22/06 lecture:

  11. For 2/27/06 lecture:

  12. For 3/1/06 lecture:

  13. For 3/6/06 lecture:

  14. For 3/8/06 lecture:

  15. For 3/13/06 lecture:

  16. For 3/15/06 lecture:

Assignments

Homework will consist of both programming assignments and on-line (Gradiance) homework. Gradiance homework will normally be assigned on Mondays and due the second Wednesday after that. You are encouraged to work on the programming assignments in groups of two, but you must do the Gradiance homework by yourself. In general, no late assignments are accepted. However, you have TWO grace days for the entire quarter that may be used for the programming projects ONLY (not for Gradiance work, which already has a generous deadline. That means you can be late by one day for two project parts, or use the two days up for one part. The project assignments are due at 5PM on the due date.

Some points to remember about Gradiance:


Honor Code

You are free to discuss the assignment and solutions with others. However, you must write your own assignment, and must not represent any portion of others' work as your own. Anybody violating the honor code will be referred to the Judical-Affairs Office. If convicted, the normal penalty is a quarter suspension or worse.