pub struct PlanBuilder<G: GraphRef> { /* private fields */ }Expand description
Generic plan executor that works with both owned and borrowed resident graphs.
Implementations§
Source§impl<G: GraphRef> PlanBuilder<G>
impl<G: GraphRef> PlanBuilder<G>
Sourcepub fn node_count(&self) -> u32
pub fn node_count(&self) -> u32
Number of graph nodes in the resident dispatch domain.
Sourcepub fn edge_count(&self) -> u32
pub fn edge_count(&self) -> u32
Number of graph edges in the resident dispatch domain.
Sourcepub fn resident_resource_count(&self) -> usize
pub fn resident_resource_count(&self) -> usize
Number of resident invariant graph resources.
Sourcepub fn reaching_resident_frontier(
&self,
backend: &dyn VyreBackend,
seed_bits: &[u32],
max_iterations: u32,
config: &DispatchConfig,
scratch: &mut FixedPointScratch,
) -> Result<Vec<u32>, String>
pub fn reaching_resident_frontier( &self, backend: &dyn VyreBackend, seed_bits: &[u32], max_iterations: u32, config: &DispatchConfig, scratch: &mut FixedPointScratch, ) -> Result<Vec<u32>, String>
Run reaching-definition closure with resident graph and frontier buffers.
Sourcepub fn reaching_resident_frontier_into(
&self,
backend: &dyn VyreBackend,
seed_bits: &[u32],
max_iterations: u32,
config: &DispatchConfig,
scratch: &mut FixedPointScratch,
result: &mut Vec<u32>,
) -> Result<(), String>
pub fn reaching_resident_frontier_into( &self, backend: &dyn VyreBackend, seed_bits: &[u32], max_iterations: u32, config: &DispatchConfig, scratch: &mut FixedPointScratch, result: &mut Vec<u32>, ) -> Result<(), String>
Run reaching-definition closure with resident graph/frontier buffers into caller-owned result storage.
Sourcepub fn reaching_reusing_frontier(
&self,
backend: &dyn VyreBackend,
seed_bits: &[u32],
max_iterations: u32,
config: &DispatchConfig,
scratch: &mut FixedPointScratch,
resident_frontier: &mut FixedPointResidentFrontierScratch,
) -> Result<Vec<u32>, String>
pub fn reaching_reusing_frontier( &self, backend: &dyn VyreBackend, seed_bits: &[u32], max_iterations: u32, config: &DispatchConfig, scratch: &mut FixedPointScratch, resident_frontier: &mut FixedPointResidentFrontierScratch, ) -> Result<Vec<u32>, String>
Run reaching-definition closure while reusing resident frontier buffers.
Sourcepub fn reaching_reusing_frontier_into(
&self,
backend: &dyn VyreBackend,
seed_bits: &[u32],
max_iterations: u32,
config: &DispatchConfig,
scratch: &mut FixedPointScratch,
resident_frontier: &mut FixedPointResidentFrontierScratch,
result: &mut Vec<u32>,
) -> Result<(), String>
pub fn reaching_reusing_frontier_into( &self, backend: &dyn VyreBackend, seed_bits: &[u32], max_iterations: u32, config: &DispatchConfig, scratch: &mut FixedPointScratch, resident_frontier: &mut FixedPointResidentFrontierScratch, result: &mut Vec<u32>, ) -> Result<(), String>
Run reaching-definition closure while reusing resident frontier buffers and caller-owned result storage.
Sourcepub fn live_resident_frontier(
&self,
backend: &dyn VyreBackend,
seed_bits: &[u32],
max_iterations: u32,
config: &DispatchConfig,
scratch: &mut FixedPointScratch,
) -> Result<Vec<u32>, String>
pub fn live_resident_frontier( &self, backend: &dyn VyreBackend, seed_bits: &[u32], max_iterations: u32, config: &DispatchConfig, scratch: &mut FixedPointScratch, ) -> Result<Vec<u32>, String>
Run live-variable closure with resident graph and frontier buffers.
Sourcepub fn live_resident_frontier_into(
&self,
backend: &dyn VyreBackend,
seed_bits: &[u32],
max_iterations: u32,
config: &DispatchConfig,
scratch: &mut FixedPointScratch,
result: &mut Vec<u32>,
) -> Result<(), String>
pub fn live_resident_frontier_into( &self, backend: &dyn VyreBackend, seed_bits: &[u32], max_iterations: u32, config: &DispatchConfig, scratch: &mut FixedPointScratch, result: &mut Vec<u32>, ) -> Result<(), String>
Run live-variable closure with resident graph/frontier buffers into caller-owned result storage.
Sourcepub fn live_reusing_frontier(
&self,
backend: &dyn VyreBackend,
seed_bits: &[u32],
max_iterations: u32,
config: &DispatchConfig,
scratch: &mut FixedPointScratch,
resident_frontier: &mut FixedPointResidentFrontierScratch,
) -> Result<Vec<u32>, String>
pub fn live_reusing_frontier( &self, backend: &dyn VyreBackend, seed_bits: &[u32], max_iterations: u32, config: &DispatchConfig, scratch: &mut FixedPointScratch, resident_frontier: &mut FixedPointResidentFrontierScratch, ) -> Result<Vec<u32>, String>
Run live-variable closure while reusing resident frontier buffers.
Sourcepub fn live_reusing_frontier_into(
&self,
backend: &dyn VyreBackend,
seed_bits: &[u32],
max_iterations: u32,
config: &DispatchConfig,
scratch: &mut FixedPointScratch,
resident_frontier: &mut FixedPointResidentFrontierScratch,
result: &mut Vec<u32>,
) -> Result<(), String>
pub fn live_reusing_frontier_into( &self, backend: &dyn VyreBackend, seed_bits: &[u32], max_iterations: u32, config: &DispatchConfig, scratch: &mut FixedPointScratch, resident_frontier: &mut FixedPointResidentFrontierScratch, result: &mut Vec<u32>, ) -> Result<(), String>
Run live-variable closure while reusing resident frontier buffers and caller-owned result storage.
Sourcepub fn points_to_subset_resident_frontier(
&self,
backend: &dyn VyreBackend,
seed_bits: &[u32],
max_iterations: u32,
config: &DispatchConfig,
scratch: &mut FixedPointScratch,
) -> Result<Vec<u32>, String>
pub fn points_to_subset_resident_frontier( &self, backend: &dyn VyreBackend, seed_bits: &[u32], max_iterations: u32, config: &DispatchConfig, scratch: &mut FixedPointScratch, ) -> Result<Vec<u32>, String>
Run points-to subset closure with resident graph and frontier buffers.
Sourcepub fn points_to_subset_resident_frontier_into(
&self,
backend: &dyn VyreBackend,
seed_bits: &[u32],
max_iterations: u32,
config: &DispatchConfig,
scratch: &mut FixedPointScratch,
result: &mut Vec<u32>,
) -> Result<(), String>
pub fn points_to_subset_resident_frontier_into( &self, backend: &dyn VyreBackend, seed_bits: &[u32], max_iterations: u32, config: &DispatchConfig, scratch: &mut FixedPointScratch, result: &mut Vec<u32>, ) -> Result<(), String>
Run points-to subset closure with resident graph/frontier buffers into caller-owned result storage.
Sourcepub fn points_to_subset_reusing_frontier(
&self,
backend: &dyn VyreBackend,
seed_bits: &[u32],
max_iterations: u32,
config: &DispatchConfig,
scratch: &mut FixedPointScratch,
resident_frontier: &mut FixedPointResidentFrontierScratch,
) -> Result<Vec<u32>, String>
pub fn points_to_subset_reusing_frontier( &self, backend: &dyn VyreBackend, seed_bits: &[u32], max_iterations: u32, config: &DispatchConfig, scratch: &mut FixedPointScratch, resident_frontier: &mut FixedPointResidentFrontierScratch, ) -> Result<Vec<u32>, String>
Run points-to subset closure while reusing resident frontier buffers.
Sourcepub fn points_to_subset_reusing_frontier_into(
&self,
backend: &dyn VyreBackend,
seed_bits: &[u32],
max_iterations: u32,
config: &DispatchConfig,
scratch: &mut FixedPointScratch,
resident_frontier: &mut FixedPointResidentFrontierScratch,
result: &mut Vec<u32>,
) -> Result<(), String>
pub fn points_to_subset_reusing_frontier_into( &self, backend: &dyn VyreBackend, seed_bits: &[u32], max_iterations: u32, config: &DispatchConfig, scratch: &mut FixedPointScratch, resident_frontier: &mut FixedPointResidentFrontierScratch, result: &mut Vec<u32>, ) -> Result<(), String>
Run points-to subset closure while reusing resident frontier buffers and caller-owned result storage.
Sourcepub fn slice_resident_frontier(
&self,
backend: &dyn VyreBackend,
seed_bits: &[u32],
max_iterations: u32,
config: &DispatchConfig,
scratch: &mut FixedPointScratch,
) -> Result<Vec<u32>, String>
pub fn slice_resident_frontier( &self, backend: &dyn VyreBackend, seed_bits: &[u32], max_iterations: u32, config: &DispatchConfig, scratch: &mut FixedPointScratch, ) -> Result<Vec<u32>, String>
Run backward-slice closure with resident graph and frontier buffers.
Sourcepub fn slice_resident_frontier_into(
&self,
backend: &dyn VyreBackend,
seed_bits: &[u32],
max_iterations: u32,
config: &DispatchConfig,
scratch: &mut FixedPointScratch,
result: &mut Vec<u32>,
) -> Result<(), String>
pub fn slice_resident_frontier_into( &self, backend: &dyn VyreBackend, seed_bits: &[u32], max_iterations: u32, config: &DispatchConfig, scratch: &mut FixedPointScratch, result: &mut Vec<u32>, ) -> Result<(), String>
Run backward-slice closure with resident graph/frontier buffers into caller-owned result storage.
Sourcepub fn slice_reusing_frontier(
&self,
backend: &dyn VyreBackend,
seed_bits: &[u32],
max_iterations: u32,
config: &DispatchConfig,
scratch: &mut FixedPointScratch,
resident_frontier: &mut FixedPointResidentFrontierScratch,
) -> Result<Vec<u32>, String>
pub fn slice_reusing_frontier( &self, backend: &dyn VyreBackend, seed_bits: &[u32], max_iterations: u32, config: &DispatchConfig, scratch: &mut FixedPointScratch, resident_frontier: &mut FixedPointResidentFrontierScratch, ) -> Result<Vec<u32>, String>
Run backward-slice closure while reusing resident frontier buffers.
Sourcepub fn slice_reusing_frontier_into(
&self,
backend: &dyn VyreBackend,
seed_bits: &[u32],
max_iterations: u32,
config: &DispatchConfig,
scratch: &mut FixedPointScratch,
resident_frontier: &mut FixedPointResidentFrontierScratch,
result: &mut Vec<u32>,
) -> Result<(), String>
pub fn slice_reusing_frontier_into( &self, backend: &dyn VyreBackend, seed_bits: &[u32], max_iterations: u32, config: &DispatchConfig, scratch: &mut FixedPointScratch, resident_frontier: &mut FixedPointResidentFrontierScratch, result: &mut Vec<u32>, ) -> Result<(), String>
Run backward-slice closure while reusing resident frontier buffers and caller-owned result storage.
Sourcepub fn reaching_reusing_frontier_sequence_window(
&self,
backend: &dyn VyreBackend,
plan: &FixedPointAnalysisPlan,
seed_bits: &[u32],
max_iterations: u32,
scratch: &mut FixedPointScratch,
resident_frontier: &mut FixedPointResidentFrontierScratch,
) -> Result<Vec<u32>, String>
pub fn reaching_reusing_frontier_sequence_window( &self, backend: &dyn VyreBackend, plan: &FixedPointAnalysisPlan, seed_bits: &[u32], max_iterations: u32, scratch: &mut FixedPointScratch, resident_frontier: &mut FixedPointResidentFrontierScratch, ) -> Result<Vec<u32>, String>
Run reaching-definition closure through backend resident sequence replay.
Sourcepub fn reaching_reusing_frontier_sequence_window_into(
&self,
backend: &dyn VyreBackend,
plan: &FixedPointAnalysisPlan,
seed_bits: &[u32],
max_iterations: u32,
scratch: &mut FixedPointScratch,
resident_frontier: &mut FixedPointResidentFrontierScratch,
result: &mut Vec<u32>,
) -> Result<(), String>
pub fn reaching_reusing_frontier_sequence_window_into( &self, backend: &dyn VyreBackend, plan: &FixedPointAnalysisPlan, seed_bits: &[u32], max_iterations: u32, scratch: &mut FixedPointScratch, resident_frontier: &mut FixedPointResidentFrontierScratch, result: &mut Vec<u32>, ) -> Result<(), String>
Run reaching-definition closure through backend resident sequence replay into caller-owned result storage.
Sourcepub fn live_reusing_frontier_sequence_window(
&self,
backend: &dyn VyreBackend,
plan: &FixedPointAnalysisPlan,
seed_bits: &[u32],
max_iterations: u32,
scratch: &mut FixedPointScratch,
resident_frontier: &mut FixedPointResidentFrontierScratch,
) -> Result<Vec<u32>, String>
pub fn live_reusing_frontier_sequence_window( &self, backend: &dyn VyreBackend, plan: &FixedPointAnalysisPlan, seed_bits: &[u32], max_iterations: u32, scratch: &mut FixedPointScratch, resident_frontier: &mut FixedPointResidentFrontierScratch, ) -> Result<Vec<u32>, String>
Run live-variable closure through backend resident sequence replay.
Sourcepub fn live_reusing_frontier_sequence_window_into(
&self,
backend: &dyn VyreBackend,
plan: &FixedPointAnalysisPlan,
seed_bits: &[u32],
max_iterations: u32,
scratch: &mut FixedPointScratch,
resident_frontier: &mut FixedPointResidentFrontierScratch,
result: &mut Vec<u32>,
) -> Result<(), String>
pub fn live_reusing_frontier_sequence_window_into( &self, backend: &dyn VyreBackend, plan: &FixedPointAnalysisPlan, seed_bits: &[u32], max_iterations: u32, scratch: &mut FixedPointScratch, resident_frontier: &mut FixedPointResidentFrontierScratch, result: &mut Vec<u32>, ) -> Result<(), String>
Run live-variable closure through backend resident sequence replay into caller-owned result storage.
Sourcepub fn points_to_subset_reusing_frontier_sequence_window(
&self,
backend: &dyn VyreBackend,
plan: &FixedPointAnalysisPlan,
seed_bits: &[u32],
max_iterations: u32,
scratch: &mut FixedPointScratch,
resident_frontier: &mut FixedPointResidentFrontierScratch,
) -> Result<Vec<u32>, String>
pub fn points_to_subset_reusing_frontier_sequence_window( &self, backend: &dyn VyreBackend, plan: &FixedPointAnalysisPlan, seed_bits: &[u32], max_iterations: u32, scratch: &mut FixedPointScratch, resident_frontier: &mut FixedPointResidentFrontierScratch, ) -> Result<Vec<u32>, String>
Run points-to subset closure through backend resident sequence replay.
Sourcepub fn points_to_subset_reusing_frontier_sequence_window_into(
&self,
backend: &dyn VyreBackend,
plan: &FixedPointAnalysisPlan,
seed_bits: &[u32],
max_iterations: u32,
scratch: &mut FixedPointScratch,
resident_frontier: &mut FixedPointResidentFrontierScratch,
result: &mut Vec<u32>,
) -> Result<(), String>
pub fn points_to_subset_reusing_frontier_sequence_window_into( &self, backend: &dyn VyreBackend, plan: &FixedPointAnalysisPlan, seed_bits: &[u32], max_iterations: u32, scratch: &mut FixedPointScratch, resident_frontier: &mut FixedPointResidentFrontierScratch, result: &mut Vec<u32>, ) -> Result<(), String>
Run points-to subset closure through backend resident sequence replay into caller-owned result storage.
Sourcepub fn slice_reusing_frontier_sequence_window(
&self,
backend: &dyn VyreBackend,
plan: &FixedPointAnalysisPlan,
seed_bits: &[u32],
max_iterations: u32,
scratch: &mut FixedPointScratch,
resident_frontier: &mut FixedPointResidentFrontierScratch,
) -> Result<Vec<u32>, String>
pub fn slice_reusing_frontier_sequence_window( &self, backend: &dyn VyreBackend, plan: &FixedPointAnalysisPlan, seed_bits: &[u32], max_iterations: u32, scratch: &mut FixedPointScratch, resident_frontier: &mut FixedPointResidentFrontierScratch, ) -> Result<Vec<u32>, String>
Run backward-slice closure through backend resident sequence replay.
Sourcepub fn slice_reusing_frontier_sequence_window_into(
&self,
backend: &dyn VyreBackend,
plan: &FixedPointAnalysisPlan,
seed_bits: &[u32],
max_iterations: u32,
scratch: &mut FixedPointScratch,
resident_frontier: &mut FixedPointResidentFrontierScratch,
result: &mut Vec<u32>,
) -> Result<(), String>
pub fn slice_reusing_frontier_sequence_window_into( &self, backend: &dyn VyreBackend, plan: &FixedPointAnalysisPlan, seed_bits: &[u32], max_iterations: u32, scratch: &mut FixedPointScratch, resident_frontier: &mut FixedPointResidentFrontierScratch, result: &mut Vec<u32>, ) -> Result<(), String>
Run backward-slice closure through backend resident sequence replay into caller-owned result storage.
Trait Implementations§
Source§impl<G: Clone + GraphRef> Clone for PlanBuilder<G>
impl<G: Clone + GraphRef> Clone for PlanBuilder<G>
Source§fn clone(&self) -> PlanBuilder<G>
fn clone(&self) -> PlanBuilder<G>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more