From 751ded74756f4d650e23e8cac8ce55081106c8cb Mon Sep 17 00:00:00 2001 From: Aaron Councilman <aaronjc4@illinois.edu> Date: Fri, 28 Feb 2025 10:59:01 -0600 Subject: [PATCH] Improve fork coalesce check for intermediate control --- hercules_opt/src/fork_transforms.rs | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/hercules_opt/src/fork_transforms.rs b/hercules_opt/src/fork_transforms.rs index cb0e7de4..12b91194 100644 --- a/hercules_opt/src/fork_transforms.rs +++ b/hercules_opt/src/fork_transforms.rs @@ -642,27 +642,15 @@ pub fn fork_coalesce_helper( } // Check for control between join-join and fork-fork - let Some(user) = editor - .get_users(outer_fork) - .filter(|node| editor.func().nodes[node.idx()].is_control()) - .next() - else { - return None; - }; + let (control, _) = editor.node(inner_fork).try_fork().unwrap(); - if user != inner_fork { + if control != outer_fork { return None; } - let Some(user) = editor - .get_users(inner_join) - .filter(|node| editor.func().nodes[node.idx()].is_control()) - .next() - else { - return None; - }; + let control = editor.node(outer_join).try_join().unwrap(); - if user != outer_join { + if control != inner_join { return None; } -- GitLab