Header menu logo B2R2

B2R2.MiddleEnd.DataFlow Namespace

Type/Module Description

ConstantDomain

Defines the constant domain and its operations for constant propagation analysis.

ConstantPropagation

Performs sparse constant propagation over the LowUIR representation.

Constants

Provides constants used in data flow analyses.

DataFlowChain (Module)

Builds Use-Def and Def-Use chains from reaching definition analysis.

DataFlowChain (Type)

Represents a data-flow chain containing both Use-Def and Def-Use chains.

IAbsValProvider<'AbsLoc, 'AbsVal>

Represents a mapping from abstract locations to abstract values.

IDataFlowComputable<'AbsLoc, 'AbsVal, 'Provider, 'V>

Represents a data-flow analysis that runs under the abstract interpretation framework, where abstract values of type 'AbsVal are stored at abstract locations of type 'AbsLoc.

IExprEvaluatable<'Ctx, 'AbsVal>

Represents an interface for evaluating expressions in the given context.

ILattice<'AbsVal>

Represents an interface for a lattice used in abstract interpretation.

InsAndOuts

Represents an abstract value used in reaching definition analysis.

LowUIRSensitiveConstantPropagation<'ExeCtx>

Represents a LowUIR-based sensitive constant propagation analysis. This analysis is aware of stack pointers on basic blocks and distinguishes each basic block by its stack pointer value.

LowUIRSensitiveDataFlow

Provides types and functions for LowUIR-based sensitive data-flow analysis.

LowUIRSparseDataFlow

Implements sparse data-flow analysis over the LowUIR representation.

ReachingDefinitionAnalysis

Computes reaching definitions for each vertex in a CFG.

SSAConstantPropagation

Performs sparse conditional constant propagation over an SSA CFG.

SSAEdges

Represents SSA edges in a CFG.

SSASparseDataFlow

Provides SSA-based sparse data flow analysis framework, which is based on the idea of sparse conditional constant propagation algorithm by Wegman et al.

SSAStackPointerPropagation

Performs stack pointer propagation analysis over an SSA CFG.

SSAUntouchedValueAnalysis

Performs sparse data-flow analysis over SSA to identify untouched values in a function.

StackPointerDomain

Defines the stack pointer domain and its operations for stack pointer propagation analysis.

StackPointerPropagation

Performs sparse stack pointer propagation over the LowUIR representation.

StmtInfo

Represents a Low-UIR statement and its corresponding program point.

StmtOfBBL

Represents a Low-UIR statement and its corresponding vertex in the Low-UIR CFG.

UntouchedValueAnalysis

Performs sparse data-flow analysis to identify untouched values in a function.

UntouchedValueDomain

Defines the untouched value domain and its operations for untouched value analysis.

VarDefDomain

Defines the variable definition domain and its operations for variable definition analysis.

VarKind (Module)

Provides utility functions for VarKind.

VarKind (Type)

Represents the kind of a variable.

VarPoint

Represents a variable at a specific program point.

WorklistDataFlow

Implements worklist-based dataflow analysis.

Type something to start searching.