15-411: Compiler Design (Fa'12)

Schedule

DateLecture NotesExtraDue
Tue08/28OverviewCh 1,slides
Thu08/30Instruction SelectionCh 9
Tue09/04Register AllocationCh 11
Thu09/06Liveness AnalysisCh 10
Tue09/11Dataflow AnalysisCh 10.1,2,17.1‑4Asst 1 Test 1 
Thu09/13Lexical AnalysisCh 2
Tue09/18Context-Free GrammarsCh 3.1-2Lab 1 
Thu09/20Town-Down LL ParsingCh 3.3
Tue09/25Bottom-Up LR ParsingCh 3.4Asst 2 Test 2 
Thu09/27Intermediate RepresentationCh 7-8
Tue10/02Static Single AssignmentCh 19
Thu10/04Calling ConventionsCh 11.3Lab 2 
Tue10/09Semantic Analysis & SpecsAsst 3 Test 3 
Thu10/11Semantic Specifications
Tue10/16Basic OptimizationsCh 17.2-3Lab 3 
Thu10/18Low Level Virtual MachineLLVM
Tue10/23Loop-invariant Code MotionCh 18.1-2Asst 4 Test 4 
Thu10/25Induction VariablesCh 18.3
Tue10/30Array Bounds CheckingLab 4 
Thu11/01Garbage CollectionCh 13.1-3
Tue11/06Advanced Garbage CollectionCh 13.4-7Asst 5 Test 5 
Thu11/08Data Dependencies
Tue11/13Loop TransformationLab 5s 
Thu11/15Cache & VectorizationLab 5o 
Tue11/20Project day (11/20)
Thu11/22Thanksgiving (11/22)
Tue11/27Abstract Dataflow Analysis
Thu11/29Monotone Frameworks
Tue12/04Abstract Interpretation
Thu12/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!