15-411: Compiler Design (Fa'12)

Schedule

DateLectureReadingDue
Tue 08/28OverviewCh 1,slides
Thu 08/30Instruction SelectionCh 9
Tue 09/04Register AllocationCh 11
Thu 09/06Liveness AnalysisCh 10
Tue 09/11Dataflow AnalysisCh 10.1,2,17.1‑4Asst 1 Test 1 
Thu 09/13Lexical AnalysisCh 2
Tue 09/18Context-Free GrammarsCh 3.1-2Lab 1 
Thu 09/20Town-Down LL ParsingCh 3.3
Tue 09/25Bottom-Up LR ParsingCh 3.4Asst 2 Test 2 
Thu 09/27Intermediate RepresentationCh 7-8
Tue 10/02Static Single AssignmentCh 19
Thu 10/04Calling ConventionsCh 11.3Lab 2 
Tue 10/09Semantic Analysis & SpecsAsst 3 Test 3 
Thu 10/11Semantic Specifications
Tue 10/16Basic OptimizationsCh 17.2-3Lab 3 
Thu 10/18Low Level Virtual MachineLLVM
Tue 10/23Loop-invariant Code MotionCh 18.1-2Asst 4 Test 4 
Thu 10/25Induction VariablesCh 18.3
Tue 10/30Array Bounds CheckingLab 4 
Thu 11/01Garbage CollectionCh 13.1-3
Tue 11/06Advanced Garbage CollectionCh 13.4-7Asst 5 Test 5 
Thu 11/08Data Dependencies
Tue 11/13Loop TransformationLab 5s 
Thu 11/15Cache & VectorizationLab 5o 
Tue 11/20Project day (11/20)
Thu 11/22Thanksgiving (11/22)
Tue 11/27Abstract Dataflow Analysis
Thu 11/29Monotone Frameworks
Tue 12/04Abstract Interpretation
Thu 12/06More Abstract InterpretationLab 6 Paper 
The lecture schedule is tentative!

Lab Schedule

Points Lab Due (at 11:59pm)
Lab 1    100 Register Allocation Tests Tue 09/11
Compiler Tue 09/18
Lab 2 100 Loops & Conditionals Tests Tue 09/25
Compiler Thu 10/04
Lab 3 100 Functions Tests Tue 10/09
Compiler Tue 10/16
Lab 4 100 Structs & Arrays Tests Tue 10/23
Compiler Tue 10/30
Lab 5 100 Memory Safety & Basic Optimizations Tests Tue 11/06
I Memory Safety Part and Compiler Tue 11/13
II Basic Optimizations Part Compiler Thu 11/15
Lab 6 200 Optimization
or Garbage Collection
or Virtual Machine
Compiler Thu 12/06
Paper Thu 12/06
Points Assignment Due (in lecture)
Asst 1    60 Instruction Selection & Register Allocation LaTeX Tue 09/11
Asst 2 60 Parsing & Dataflow Analysis LaTeX Tue 09/25
Asst 3 60 Function Calls & SSA LaTeX Tue 10/09
Asst 4 60 Exceptions & Tuples LaTeX Tue 10/23
Asst 5 60 Optimizations LaTeX Tue 11/06
The Lab and Assignment Schedule is tentative!