Expand description
Reaching definitions analysis (DF-2).
Prepare a graph for forward reaching-definitions closure:
use weir::reaching::prepare_reaching_graph;
let graph = prepare_reaching_graph(
2,
&[0, 1, 1],
&[1],
&[0xFFFF_FFFF],
).unwrap();
assert_eq!(graph.node_count(), 2);
assert_eq!(graph.edge_count(), 1);DF-2 - reaching definitions.
Classical forward monotone dataflow over the CFG. This façade keeps the public reaching API stable while program construction, CPU oracle, closure execution, graph planning, resident execution, and tests live in focused modules.
Structs§
- Reaching
Defs - Marker type for the reaching-definitions dataflow primitive.
- Reaching
Family
Functions§
- prepare_
reaching_ graph - prepare_
reaching_ graph_ into - Repack invariant reaching graph buffers into an existing prepared graph.
- prepare_
reaching_ graph_ into_ with_ scratch - Repack invariant reaching graph buffers into an existing prepared graph using caller-owned scratch for edge-kind filtering.
- prepare_
reaching_ graph_ with_ scratch - Prepare invariant reaching graph buffers using caller-owned scratch for edge-kind filtering.
- prepare_
reaching_ plan - Prepare invariant reaching graph buffers and emitted Program once.
- prepare_
reaching_ plan_ into - Repack reaching graph buffers and refresh the emitted Program in place.
- prepare_
reaching_ plan_ into_ with_ scratch - Repack reaching graph buffers and refresh the emitted Program in place using caller-owned scratch for edge-kind filtering.
- prepare_
reaching_ plan_ with_ scratch - Prepare invariant reaching graph buffers and emitted Program once using caller-owned scratch for edge-kind filtering.
- reaching_
closure_ borrowed_ into_ result_ with_ scratch_ via - reaching_
closure_ borrowed_ into_ via - reaching_
closure_ borrowed_ into_ with_ scratch_ via - reaching_
closure_ borrowed_ via - reaching_
closure_ evidence_ via - GPU reaching-definition closure with soundness evidence.
- reaching_
closure_ plan_ borrowed_ into_ result_ with_ scratch_ via - reaching_
closure_ plan_ borrowed_ into_ with_ scratch_ via - reaching_
closure_ prepared_ borrowed_ into_ result_ with_ scratch_ via - reaching_
closure_ prepared_ borrowed_ into_ with_ scratch_ via - reaching_
closure_ resident_ plan_ with_ backend_ scratch - reaching_
closure_ resident_ plan_ with_ backend_ scratch_ into - reaching_
closure_ resident_ plan_ with_ reusable_ frontier_ scratch - reaching_
closure_ resident_ plan_ with_ reusable_ frontier_ scratch_ into - reaching_
closure_ resident_ plan_ with_ reusable_ frontier_ scratch_ sequence_ window - reaching_
closure_ resident_ plan_ with_ reusable_ frontier_ scratch_ sequence_ window_ into - reaching_
closure_ resident_ plan_ with_ scratch - reaching_
closure_ resident_ plan_ with_ scratch_ into - reaching_
closure_ via - reaching_
defs_ step - Build one CFG-forward propagation step for reaching-defs.