diff --git a/hercules_opt/src/fork_transforms.rs b/hercules_opt/src/fork_transforms.rs index cb0e7de48cb0efe01a586f9ae633f66cb61703a7..12b91194749b6125418b3639fa1d29d6b0397fc1 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; }