diff --git a/hercules_opt/src/pass.rs b/hercules_opt/src/pass.rs index 90556612ab3e9a31bf39aa726f556c9bf1bb38a1..58251c4204299c50be7e1b15a9a34cb74ddf5cf5 100644 --- a/hercules_opt/src/pass.rs +++ b/hercules_opt/src/pass.rs @@ -455,7 +455,12 @@ impl PassManager { &mut self.module.dynamic_constants, &def_uses[idx], &loops[idx], - ) + ); + let num_nodes = self.module.functions[idx].nodes.len(); + self.module.functions[idx] + .schedules + .resize(num_nodes, vec![]); + self.module.functions[idx].delete_gravestones(); } self.clear_analyses(); } @@ -496,7 +501,12 @@ impl PassManager { &self.module.constants, &fork_join_maps[idx], &def_uses[idx], - ) + ); + let num_nodes = self.module.functions[idx].nodes.len(); + self.module.functions[idx] + .schedules + .resize(num_nodes, vec![]); + self.module.functions[idx].delete_gravestones(); } self.clear_analyses(); } @@ -516,7 +526,12 @@ impl PassManager { &reverse_postorders[idx], &doms[idx], &fork_join_maps[idx], - ) + ); + let num_nodes = self.module.functions[idx].nodes.len(); + self.module.functions[idx] + .schedules + .resize(num_nodes, vec![]); + self.module.functions[idx].delete_gravestones(); } self.clear_analyses(); }