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(
@@ -845,11 +845,24 @@ fn ccp_flow_function(
}
}
Node::Read {
Node::Read {
collect,
collect,
indices: _,
indices,
} => CCPLattice {
} => {
reachability: inputs[collect.idx()].reachability.clone(),
let mut reachability = inputs[collect.idx()].reachability.clone();
constant: ConstantLattice::bottom(),
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.
// Projection handles reachability when following an if or match.
Node::Projection { control, selection } => match &editor.func().nodes[control.idx()] {
Node::Projection { control, selection } => match &editor.func().nodes[control.idx()] {
Node::If { control: _, cond } => {
Node::If { control: _, cond } => {
Loading