pub struct ExplodedIfdsCpuScratch {
pub edges_flat: Vec<(u32, u32)>,
pub killed: Vec<bool>,
pub gen_offsets: Vec<usize>,
pub gen_cursor: Vec<usize>,
pub gen_facts: Vec<u32>,
pub cursor: Vec<usize>,
}Expand description
CPU-reference CSR builder for the exploded supergraph.
intra_edges are (src_block, dst_block) pairs within a
procedure - the standard CFG. inter_edges are (src_proc, src_block, dst_proc, dst_block) call / return edges. Flow
functions are encoded as per-block GEN / KILL bitsets over the
fact domain.
Caller-owned workspace for exploded IFDS CPU-reference CSR construction.
Fields§
§edges_flat: Vec<(u32, u32)>Flat (src, dst) edge list before CSR compaction.
killed: Vec<bool>Per-dense-node KILL bitmap.
gen_offsets: Vec<usize>Per-block GEN prefix offsets.
gen_cursor: Vec<usize>Per-block GEN fill cursor.
gen_facts: Vec<u32>Flat GEN fact table keyed by gen_offsets.
cursor: Vec<usize>Per-row CSR fill cursor.
Implementations§
Trait Implementations§
Source§impl Clone for ExplodedIfdsCpuScratch
impl Clone for ExplodedIfdsCpuScratch
Source§fn clone(&self) -> ExplodedIfdsCpuScratch
fn clone(&self) -> ExplodedIfdsCpuScratch
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ExplodedIfdsCpuScratch
impl Debug for ExplodedIfdsCpuScratch
Source§impl Default for ExplodedIfdsCpuScratch
impl Default for ExplodedIfdsCpuScratch
Source§fn default() -> ExplodedIfdsCpuScratch
fn default() -> ExplodedIfdsCpuScratch
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ExplodedIfdsCpuScratch
impl RefUnwindSafe for ExplodedIfdsCpuScratch
impl Send for ExplodedIfdsCpuScratch
impl Sync for ExplodedIfdsCpuScratch
impl Unpin for ExplodedIfdsCpuScratch
impl UnsafeUnpin for ExplodedIfdsCpuScratch
impl UnwindSafe for ExplodedIfdsCpuScratch
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more