Schedule

This schedule is tentative and subject to change.

Acronyms for course references:

A copy of the Dragon Book is essential for the course. The Cooper and Turczon book is available online through the library. The library also carries a print copy of Rival and Yi.

NOTE: These slides are not meant to substitute for lectures.

Date Topic
Wed Jan 17, 2024

Introduction

Mon Jan 22, 2024

Intermediate Representations

Wed Jan 24, 2024

Value Numbering

Mon Jan 29, 2024

Live Variables Analysis

Wed Jan 31, 2024

Available Expressions, Reaching Definitions, Very Busy Expressions

Mon Feb 05, 2024

Dominators and SSA form

Wed Feb 07, 2024

Dominators and SSA Form - II

Mon Feb 12, 2024

Foundations of Data Flow Analysis - Part I

Wed Feb 14, 2024

Foundations of Data Flow Analysis - II

Mon Feb 19, 2024

Dead Code Elimination

Wed Feb 21, 2024

Partial Redundancy Elimination

Mon Feb 26, 2024

Instruction Selection/Instruction Scheduling/Register Allocation

Wed Feb 28, 2024

Interprocedural Analysis - I

Mon Mar 04, 2024

Interprocedural Analysis - II

Wed Mar 06, 2024

Mid-Term

Mon Mar 11, 2024

Spring Break

Wed Mar 13, 2024

Spring Break

Mon Mar 18, 2024

Type Inference - I

Wed Mar 20, 2024

Type Inference - II

Mon Mar 25, 2024

Program Analysis/Abstract Interpretation

Wed Mar 27, 2024

Abstract interpretation - II

Mon Apr 01, 2024

Abstract Interpretation - III

Wed Apr 03, 2024

AI (contd.)

Mon Apr 08, 2024

Solar Eclipse

Wed Apr 10, 2024

An Introduction to SAT/SMT Solvers

Mon Apr 15, 2024

Model Checking

Wed Apr 17, 2024

Compiler Correctness (Jingyu Qiu)

Mon Apr 22, 2024

Symbolic Execution

Wed Apr 24, 2024

Proving Programs Correct

Mon Apr 29, 2024

Hoare Logic

May 7, 2024, 12:30 - 3:30PM, Gavett 301

Final Exam