VN
- Give each value a number (ID) – value number
- Store value numbers in a hash table
- Search for the numbers as needed
Give a variable a new name when it is redefined
pointer assignment forces every variable to increase its version number
Extension
- Handle commutative operations
- Add constant folding to VN