Reach.DataDependence (Reach v2.5.0)

Copy Markdown View Source

Computes data dependence (def-use chains) from IR.

Summary

Functions

Analyzes which variables a node defines and uses.

Builds a data dependence graph from IR nodes.

Collects variable names defined by a pattern.

Functions

analyze_bindings(arg1)

@spec analyze_bindings(Reach.IR.Node.t()) :: {[atom()], [atom()]}

Analyzes which variables a node defines and uses.

build(nodes)

@spec build([Reach.IR.Node.t()] | Reach.IR.Node.t()) :: Graph.t()

Builds a data dependence graph from IR nodes.

Returns a Graph.t() where edges represent data flow from definitions to uses.

collect_definitions(arg1)

@spec collect_definitions(Reach.IR.Node.t()) :: [atom()]

Collects variable names defined by a pattern.