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.txtBe able to derive the synchronization-free affine partitioning for Example 11.41 in the book. Also show how to derive the reindexing affine transformation.
November 17 - November 19Tiling and Run-time Reordering Transformationsbook pgs. 877-880, [Strout03]lecture20-tiling.ppt.pdf, lecture20-tiling.txtAfter scalar expansion of the scalar T, is it legal to tile the three loops in Figure 11.23 in the book? Write the tiled code for a block size of your choice.
November 24 and 26Fall Recess
December 1 and 3Interprocedural analysis and optimizationCh. 12 through 12.6lecture21-interproc.ppt.pdf, lecture21-interproc.txt, lecture22-aliasanalysis.ppt.pdfExercise 12.1.1
December 8Datalog and interprocedural analysisCh. 12.3 through 12.6lecture23-datalog.txtExercise 12.5.1
December 10Analysis for Bug Finding and ReviewFinding Bugs is Easy by Hovemeyer and Pugh
Monday December 14 from 1:30-3:30pmFinalfinal-553-2006.pdf, final-553-2007.pdfHW problems and problems from previous finals. All suggested exercises on this page and in slides.
Michelle Strout Last modified: December 8, 2009