Expand description
Andersen points-to analysis (DF-3).
Prepare a graph for points-to subset closure:
use weir::points_to::prepare_points_to_subset_graph;
let graph = prepare_points_to_subset_graph(
2,
&[0, 1, 1],
&[1],
&[0xFFFF_FFFF],
).unwrap();
assert_eq!(graph.node_count(), 2);DF-3 - Andersen points-to, field-sensitive at struct granularity.
Andersen’s analysis on the SSA constraint graph reduces to forward transitive closure over subset edges. This façade keeps the public API stable while implementation duties live in focused submodules.
Structs§
- Points
To - Marker type for the Andersen points-to dataflow primitive.
- Points
ToFamily
Functions§
- andersen_
points_ to - Build one Andersen propagation step. Caller MUST supply the real
constraint-graph shape (
node_count,edge_count) so the emitted Program is dispatched at the correct grid size. The current points-to bitset is read fromconstraints_inand the expanded bitset after one subset-edge traversal is written topts_out. Host iterates to fixpoint. - andersen_
points_ to_ with_ shape Deprecated - Deprecated alias for back-compat with callers that imported the
pre-fix name
andersen_points_to_with_shape. Same semantics asandersen_points_to. - prepare_
points_ to_ subset_ graph - prepare_
points_ to_ subset_ graph_ into - Repack points-to subset graph buffers into an existing prepared graph.
- prepare_
points_ to_ subset_ plan - prepare_
points_ to_ subset_ plan_ into - Repack points-to subset graph buffers and refresh the emitted Program in place.
- subset_
closure_ borrowed_ into_ result_ with_ scratch_ via - subset_
closure_ borrowed_ into_ via - subset_
closure_ borrowed_ into_ with_ scratch_ via - subset_
closure_ borrowed_ via - subset_
closure_ plan_ borrowed_ into_ result_ with_ scratch_ via - subset_
closure_ plan_ borrowed_ into_ with_ scratch_ via - subset_
closure_ prepared_ borrowed_ into_ result_ with_ scratch_ via - subset_
closure_ prepared_ borrowed_ into_ with_ scratch_ via - subset_
closure_ resident_ plan_ with_ backend_ scratch - subset_
closure_ resident_ plan_ with_ backend_ scratch_ into - subset_
closure_ resident_ plan_ with_ reusable_ frontier_ scratch - subset_
closure_ resident_ plan_ with_ reusable_ frontier_ scratch_ into - subset_
closure_ resident_ plan_ with_ reusable_ frontier_ scratch_ sequence_ window - subset_
closure_ resident_ plan_ with_ reusable_ frontier_ scratch_ sequence_ window_ into - subset_
closure_ resident_ plan_ with_ scratch - subset_
closure_ resident_ plan_ with_ scratch_ into - subset_
closure_ via