Skip to main content

AbstractValue

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].

Fields

§min: i64

Minimum value (inclusive).

§max: i64

Maximum value (inclusive).

§

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.