pub struct FixedPointResidentPlan { /* private fields */ }Expand description
Resident graph resources paired with a backend-compiled pipeline.
Implementations§
Source§impl FixedPointResidentPlan
impl FixedPointResidentPlan
Sourcepub fn new(
backend: &dyn VyreBackend,
graph: &FixedPointForwardGraph,
pipeline: Arc<dyn CompiledPipeline>,
) -> Result<Self, BackendError>
pub fn new( backend: &dyn VyreBackend, graph: &FixedPointForwardGraph, pipeline: Arc<dyn CompiledPipeline>, ) -> Result<Self, BackendError>
Upload graph buffers and bind them to a compiled pipeline.
Sourcepub fn free_with_frontier(
self,
backend: &dyn VyreBackend,
resident_frontier: &mut FixedPointResidentFrontierScratch,
) -> Result<(), BackendError>
pub fn free_with_frontier( self, backend: &dyn VyreBackend, resident_frontier: &mut FixedPointResidentFrontierScratch, ) -> Result<(), BackendError>
Free resident graph and reusable frontier resources owned around this plan.
Sourcepub fn free(self, backend: &dyn VyreBackend) -> Result<(), BackendError>
pub fn free(self, backend: &dyn VyreBackend) -> Result<(), BackendError>
Free resident graph resources owned by this plan.
Methods from Deref<Target = PlanBuilder<FixedPointResidentGraph>>§
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 Clone for FixedPointResidentPlan
impl Clone for FixedPointResidentPlan
Source§fn clone(&self) -> FixedPointResidentPlan
fn clone(&self) -> FixedPointResidentPlan
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more