public interface ValueNumberAnalysisFeatures
Modifier and Type | Field and Description |
---|---|
static boolean |
REDUNDANT_LOAD_ELIMINATION
When set, perform redundant load elimination and forward substitution.
|
static boolean |
RLE_DEBUG
Debug redundant load elimination.
|
static final boolean REDUNDANT_LOAD_ELIMINATION
When set, perform redundant load elimination and forward substitution. Note that we do not do this in a correctness-preserving way! For example, we don't kill loads when methods are called, even though those methods could change heap values. The intent here is simply to try to handle situations where a field is read multiple times, where the intent of the programmer is clearly that the loaded values will be the same in each case.
Eventually, we might do interprocedural analysis that would allow accurate modeling of which fields a called method could modify, which would allow a more correct implementation.
static final boolean RLE_DEBUG
SpotBugs is licensed under the LGPL.