- Enclosing class:
- RedundantMoveElimination
private static final class RedundantMoveElimination.BlockData
extends Object
Holds the entry and exit states for each block for dataflow analysis. The state is an array
with an element for each relevant location (register or stack slot). Each element holds the
global number of the location's definition. A location definition is simply an output of an
instruction. Note that because instructions can have multiple outputs it is not possible to
use the instruction id for value numbering. In addition, the result of merging at block
entries (= phi values) get unique value numbers.
The value numbers also contain information if it is an object kind value or not: if the
number is negative it is an object kind value.