Value numbering

A compiler tutorial on local and global value numbering, using Maxine VM code.

Author
Max Bernstein
Published
4 April 2026
Kind
Personal blog post, compiler tutorial with Java excerpts
Original
bernsteinbear.com/blog/value-numbering/
Subject
Programming languages and types

What it is

Max Bernstein writes a blog about compilers. This post explains value numbering after a short primer on SSA. It builds the idea in steps, from straight-line code to dominator-based global numbering.

What it says

What evidence it gives

The post shows pseudocode and short edited excerpts from the Maxine VM. It uses small IR examples and a Java bytecode listing. It quotes a paper by Briggs on phi functions. It runs no benchmarks.

Interests and limits

The post is a tutorial from one author's reading of a few implementations. It admits not understanding some approaches yet. The final section is a list of unfinished notes and links. Nothing was measured.