Skip to main content

reference_eval_with_dispatch_oob_report

Function reference_eval_with_dispatch_oob_report 

Source
pub fn reference_eval_with_dispatch_oob_report(
    program: &Program,
    inputs: &[Value],
    min_dispatch_elements: u32,
) -> Result<(Vec<Value>, OobReport), Error>
Expand description

reference_eval_with_dispatch plus an OobReport.

The grid floor lets a caller deliberately OVER-FIRE the dispatch (more lanes than the buffer-inferred grid) to probe whether a primitive’s per-lane guard actually protects the extra lanes. A guard written as Expr::and(t < n, load(buf, t)) does NOT, the data-flow AND evaluates the load for t >= n, an OOB read (the ssa_dominance_scan bug). Running a valid fixture at an inflated grid and asserting OobReport::total() == 0 catches that whole class registry-wide.

§Errors

Same as reference_eval_with_dispatch.