15-411: Compiler Design

Schedule

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

Lab Schedule

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