Schedule
This is the website for 6.110 in Spring 2024 and is out of date. Make sure you are viewing the correct website for this semester.
Table of contents
Calendar
Google Calendar
The lectures and recitations are one hour long and take place at 32-124 at the following times:
- At 11 a.m. on Mondays, Wednesdays, and Fridays.
- At 12 p.m. (noon) on Tuesdays and Thursdays. (While these are listed officially as “recitations,” we treat them the same as lectures.)
Monday | Tuesday | Wednesday | Thursday | Friday | |
---|---|---|---|---|---|
02/05 - 02/09 | First day of classes L1: Intro, R0: Info | L2: Regex | L2: Regex | L3: Parsing | Phase 1 released R1: Phase 1 |
02/12 - 02/16 | L4: IR | L5: Semantics Re-lecture 1 | R2: Phase 1 demo | ||
02/19 - 02/23 | Presidents’ Day Holiday | Monday schedule L6: Codegen | L6: Codegen Re-lecture 2 | Phase 1 due Phase 2 released R3: Phase 2 | |
02/26 - 03/01 | Team submission | R4: x86 | |||
03/04 - 03/08 | L6: Codegen | L6: Codegen Re-lecture 3 | L6: Codegen | Add date Phase 2 due Phase 3 released R5: Phase 3 | |
03/11 - 03/15 | Quiz 1 review | Quiz 1 | |||
03/18 - 03/22 | L7: Optimization | L8: Dataflow | L8: Dataflow | R6: SSA | |
03/25 - 03/29 | Spring Break | Spring Break | Spring Break | Spring Break | Spring Break |
04/01 - 04/05 | L9: Loop Opt | L10: Regalloc Re-lecture 4 | L11: Parallel | Phase 3 due Phase 4 released R7: Phase 4 | |
04/08 - 04/12 | L12: Foundations | L12: Foundations | L12: Foundations | CPW | CPW |
04/15 - 04/19 | Patriots’ Day Holiday | Re-lecture 5 | Phase 4 due Phase 5 released R8: Phase 5 | ||
04/22 - 04/26 | Drop Date | Re-lecture 6 | |||
04/29 - 05/03 | Quiz 2 review | Quiz 2 | |||
05/06 - 05/10 | |||||
05/13 - 05/17 | Phase 5 due | Last day of classes Complier Derby |
List of topics
- Parsing
- Regular expressions
- Deterministic and non-deterministic finite automata
- Context-free grammars
- Parse trees
- Recursive descent parser
- Shift-reduce parsing
- Parser construction
- Intermediate representations
- Object-oriented programming
- Symbol tables
- Semantic analysis
- Unoptimized code generation
- Control flow graph
- Linearizing
- Short circuiting
- Assembly code
- Procedure calls and stack management
- Peephole optimizations
- Program analysis and optimizations
- Value numbering
- Common sub-expression elimination
- Copy propagation
- Constant propagation
- Dead code elimination
- Strength reduction
- Algebraic simplification
- Register allocation
- Def-use chains
- Web-based register allocation
- Interference graphs
- Liveness analysis
- Graph coloring with Chaitin’s Algorithm
- Spilling and splitting
- Parallelization
- Data dependence analysis
- Induction variables
- Data-flow analysis foundations
- Order theory and lattices
- Fixed point iteration