From 9bf05d5e3d8c57cbfd35652dc5305de29e5307e1 Mon Sep 17 00:00:00 2001
From: rarbore2 <rarbore2@illinois.edu>
Date: Sun, 22 Dec 2024 00:31:13 -0600
Subject: [PATCH] Fix for non editor passes

---
 hercules_opt/src/pass.rs | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/hercules_opt/src/pass.rs b/hercules_opt/src/pass.rs
index 90556612..58251c42 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();
                 }
-- 
GitLab