<aside>
❗ Headings and text with “▶” can be toggled to expand contained info.
You can also see the Table of Contents as a collapsible sidebar on the right →
</aside>
Table of Contents
Introduction
- In this module, students continue on compiler background materials on liveness analysis.
- The module also reviews SSA and provides an overview of other compiler optimizations.
- It also provides an overview of GPU branch divergence analysis.
Objectives
- Perform liveness analysis on loops.
- Understand SSA.
Readings
Required
Optional
Notes / Things that stand out
Live Variable Analysis
- Liveness analysis helps determine which variables are live (in use) at various program points during code execution.
- Usage: Register Allocation.
- Register is allocated only for live variables.
- This optimizes register spills, and therefore enhances overall performance.
Dataflow Equations
- $def_B$ : Set of variables defined in block B before any use.
- $use_B$ : Set of variables whose values may be used in block B before any definition.
- $IN[EXIT] = \phi$ : Boundary condition.