This optimization tries to improve the handling of constants by replacing a single definition of a constant, which is potentially scheduled into a block with high probability, with one or more definitions in blocks with a lower probability.
Represents a dominator (sub-)tree for a constant definition.
Costs associated with a block.
Represents def-use tree of a constant.
Represents a usage of a constant.
Maps variables to a generic type.