From 9d8bee5b4e9308a812b1f93c3a48ddd11971ac17 Mon Sep 17 00:00:00 2001 From: Ary Borenszweig Date: Wed, 9 Oct 2024 06:20:33 -0300 Subject: [PATCH] fix: handle dfg databus in SSA normalization (#6249) # Description ## Problem Resolves #6227 ## Summary ## Additional Context ## Documentation Check one: - [x] No documentation needed. - [ ] Documentation included in this PR. - [ ] **[For Experimental Features]** Documentation to be submitted in a separate PR. # PR Checklist - [x] I have tested the changes locally. - [x] I have formatted the changes with [Prettier](https://prettier.io/) and/or `cargo fmt` on default settings. --- compiler/noirc_evaluator/src/ssa/opt/normalize_value_ids.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/compiler/noirc_evaluator/src/ssa/opt/normalize_value_ids.rs b/compiler/noirc_evaluator/src/ssa/opt/normalize_value_ids.rs index f11b310494b..6914bf87c5d 100644 --- a/compiler/noirc_evaluator/src/ssa/opt/normalize_value_ids.rs +++ b/compiler/noirc_evaluator/src/ssa/opt/normalize_value_ids.rs @@ -115,6 +115,11 @@ impl Context { terminator.mutate_blocks(|old_block| self.new_ids.blocks[&old_block]); new_function.dfg.set_block_terminator(new_block_id, terminator); } + + // Also map the values in the databus + let old_databus = &old_function.dfg.data_bus; + new_function.dfg.data_bus = old_databus + .map_values(|old_value| self.new_ids.map_value(new_function, old_function, old_value)); } }