Type Alias AbstractValue
pub type AbstractValue<T = CilTarget> = AbstractValue<T>;Expand description
CIL-defaulted alias of analyssa::ir::value::AbstractValue.
Aliased Type§
pub enum AbstractValue<T = CilTarget> {
Top,
Constant(ConstValue<T>),
NonNull,
Range {
min: i64,
max: i64,
},
SameAs(SsaVarId),
Computed(ComputedValue),
Bottom,
}Variants§
Top
No information yet (top of lattice).
This is the initial state before any analysis.
Constant(ConstValue<T>)
Known constant value.
NonNull
Known to be non-null (for reference types).
Range
Value in a bounded range [min, max].
SameAs(SsaVarId)
Same value as another SSA variable.
Used for copy propagation.
Computed(ComputedValue)
Result of a specific computation (for CSE).
Bottom
Multiple possible values (bottom of lattice for constants).
This means the value cannot be determined at compile time.