Schedule

All of the notes are in PDF format. Each reading listed in the student prep column should be finished before the lecture with which it appears in the table.
DateSubjectStudent PrepNotesSuggested Exercises
August 25IntroductionRead Ch. 1 in Purple Dragon Booklecture01-Intro.ppt.pdfRead the Syllabus and learn tools described in Project 0.
August 27Undergraduate compilers reviewReach Ch. 2 in Purple Dragon Book02-ugrad-review.txt, lecture02-ugradreview.ppt.pdf2.2.1, 2.2.2, 2.3.1, and questions in lecture notes
September 1Compiling Object-Oriented Programming Languageslecture03-OOP.ppt.pdf, lecture04-GC.ppt.pdf
September 3Implementing Garbage CollectionCh 7 especially Ch 7.6-7.6.3lecture04b-GCproj.txt7.4.1, what would heap look like with a singly-linked free list? how would the best-fit algorithm work on the example? ; 7.5.2, how does type safety or lack thereof affect GC?
September 8Implementing Garbage Collection cont...project2-GC.pdfGC-example.pdf
September 10Liveness and Register Allocation Ch 8.4, 9.2-9.25lecture05-DFintro.ppt.pdf, lecture05-DFintro.txt8.4.1, 9.2.1, 9.2.3
September 15Register AllocationCh. 8.8, [Briggs]lecture06-regalloc-cont.ppt.pdf, lecture06-regalloc.txt8.8.1
September 17Instruction SchedulingCh. 10lecture07-instrSched.ppt.pdf, lecture07-instrsched.txtSee slides for exercises and 10.2.1, 10.2.3, and 10.3.2 in book
September 22 - October 6Data-flow analysis and OptimizationsCh. 9 through 9.5lecture08-dataflow.ppt.pdf, lecture08-DFA.txt, lecture09-lattice.ppt.pdf, lecture09-lattice.txt, lecture10-dataflowopts.ppt.pdf, lecture11-PRE.ppt.pdfFrom book 9.2.1, 9.2.2, 9.2.6
October 8NO CLASS due to conference
October 13Midterm in classmidterm-553-2006.pdf, midterm-553-2006.pdf
October 15Control-flow analysis, induction variablesCh 9.6, 9.7 through 9.7.4, 9.7.6, 9.1.8lecture12-control.ppt.pdf, lecture12-control.txt9.6.1, 9.6.2, for both problems label the control flow graph with the terms header, preheader, exit node, exit edge, and back edge, 9.7.1, (induction vars #1) Write a MiniJava program that benefits from induction variable elimination and show all the steps of performing it. What changes must you make to the Assem to make induction variable elimination work? (induction vars #2) Perform strength reduction and induction variable elimination on Figure 9.3 in book.
October 20 - October 22SSACh 6.2.4, SSA wikipedia entry, [Alpern and Zadeck 1992]lecture13-SSA.ppt.pdf, lecture13-SSA.txt, lecture14-SSA.ppt.pdfTranslate Figures 9.5 and 9.10 in book to SSA. Also see slides for suggested exercises.
October 27Parallelism and data locality using loop transformation frameworksCh 11 through 11.3 lecture15-localnparallel.ppt.pdf, lecture15-parlocal.txt11.3.2, 11.3.3, 11.6.2, 11.6.5, examples in slides
October 29Loop transformationCh 11.4-11.6, Ch 11.7.8lecture16-looptransform.ppt.pdf, lecture16-looptransform.txt
November 3 - 5Loop transformation frameworks, Skewing, and Fourier-Motzkin EliminationCh. 11.3 and 11.4lecture17-unimod-FM.ppt.pdf11.3.4 and suggested exercise in text notes
November 10 - November 12Loop transformation frameworks and Parallelization[Kelly and Pugh 1993], Ch. 11.7lecture18-fusion-KellyPugh.ppt.pdf, lecture18-pugh.txt, lecture19-parallel.ppt.pdf, lecture19-parallel.txt
November 17 - November 19Tiling and Run-time Reordering Transformationsbook pgs. 877-880, [Strout03]lecture20-tiling.ppt.pdf
November 24 and 26Fall Recess
December 1 - December 8Interprocedural analysis and optimization
December 10Emerging Topics and Review
Monday December 14 from 1:30-3:30pmFinal
Michelle Strout Last modified: November 16, 2009