15-411 Compiler Design, Fall 2015

Schedule

Date Unit Topic Readings Due
T Sep 1 OverviewCompiler Design (Slides) (Partners discussion)
R Sep 3 BackendInstruction Selection
T Sep 8 Register Allocation
R Sep 10 Liveness Analysis
T Sep 15 FrontendLexical Analysis Lab 1 Tests
R Sep 17 Context-Free Grammars Written Homework 1
T Sep 22 Dataflow Analysis Lab 1 Compiler
R Sep 24 Shift-Reduce Parsing
T Sep 29 MiddleIntermediate Representations Lab 2 Tests
R Oct 1 Static Single Assignment Form Written Homework 2
T Oct 6 SemanticsCalling Conventions Lab 2 Compiler
R Oct 8 Statics
T Oct 13 Dynamics Lab 3 Tests
R Oct 15 Functions (see notes for dynamics) Written Homework 3
T Oct 20 Mutable Store Lab 3 Compiler
R Oct 22 Structs
T Oct 27 OptimizationRegister Coalescing and Value Propagation Lab 4 Tests
R Oct 29 Common Subexpression Elimination Written Homework 4
T Nov 3 Loop Optimizations Lab 4 Compiler
R Nov 5 Loop Optimizations II
T Nov 10 ProjectsGarbage Collection (Wilson 94)
R Nov 12 LLVM (Website) (Tutorial)
T Nov 17 First-class functions
R Nov 19 Polymorphism Lab 5 Compiler
T Nov 24 Project Day, No Class Lab 5 Written Report
R Nov 26 Thanksgiving Day, No Class
T Dec 1 Special Topics Just-In-Time Compilation (Kotzmann et al. 2008) (Josh Habermann's blog post)
R Dec 3 Concurrent C0: Protocols (Code) Paper Report
T Dec 8 Concurrent C0
R Dec 10 Project Day, No Class Lab 6
T Dec 15 Term Paper Due
Valid CSS! Valid XHTML 1.0 Strict