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 22, 2025

Introduction

Fri Jan 24, 2025

(Rochester Monday) Intermediate Representations

Mon Jan 27, 2025

Value Numbering

Wed Jan 29, 2025

Live Variable Analysis

Mon Feb 03, 2025

Available Expressions, Reaching Definitions, Very Busy Expressions

Wed Feb 05, 2025

Dominators and SSA - I

Mon Feb 10, 2025

Dominators and SSA Form - II

Wed Feb 12, 2025

Foundations of Data Flow Analysis - I

Mon Feb 17, 2025

Foundations of Data Flow Analysis (II) and Constant Propagation

Wed Feb 19, 2025

Dead Code Elimination

Mon Feb 24, 2025

Partial Redundancy Elimination

Wed Feb 26, 2025

Interprocedural Analysis - I

Mon Mar 03, 2025

Interprocedural Analysis - II

Wed Mar 05, 2025

Mid-term (In class)

Mon Mar 10, 2025

Spring Break

Wed Mar 12, 2025

Spring Break

Mon Mar 17, 2025

Backend Optimizations

Wed Mar 19, 2025

Instruction Selection/Instruction Scheduling/Register Allocation

Mon Mar 24, 2025

Type Inference - I

Wed Mar 26, 2025

Type Inference - II

Mon Mar 31, 2025

Program Analysis/Abstract Interpretation

Wed Apr 02, 2025

Abstract interpretation - II

Mon Apr 07, 2025

Abstract Interpretation - III

Wed Apr 09, 2025

AI (contd.)

Mon Apr 14, 2025

An Introduction to SAT/SMT Solvers

Wed Apr 16, 2025

Model Checking

Mon Apr 21, 2025

Symbolic Execution

Wed Apr 23, 2025

Proving Programs Correct

Mon Apr 28, 2025

Hoare Logic

Wed Apr 30, 2025

TBD

May 8 12:30PM (See UR Student)

Final Exam