Skip to content
Snippets Groups Projects

Another CCP bugfix

Merged Aaron Councilman requested to merge ccp-bugfix2 into main
1 unresolved thread
3 files
+ 24
10
Compare changes
  • Side-by-side
  • Inline
Files
3
+ 18
5
@@ -845,11 +845,24 @@ fn ccp_flow_function(
}
Node::Read {
collect,
indices: _,
} => CCPLattice {
reachability: inputs[collect.idx()].reachability.clone(),
constant: ConstantLattice::bottom(),
},
indices,
} => {
let mut reachability = inputs[collect.idx()].reachability.clone();
for index in indices.iter() {
if let Index::Position(positions) = index {
for position in positions.iter() {
reachability = ReachabilityLattice::join(
&reachability,
&inputs[position.idx()].reachability,
);
}
}
}
CCPLattice {
reachability,
constant: ConstantLattice::bottom(),
}
}
// Projection handles reachability when following an if or match.
Node::Projection { control, selection } => match &editor.func().nodes[control.idx()] {
Node::If { control: _, cond } => {
Loading