aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/synth/synth-environment.adb2
-rw-r--r--src/synth/synth-stmts.adb3
2 files changed, 3 insertions, 2 deletions
diff --git a/src/synth/synth-environment.adb b/src/synth/synth-environment.adb
index 5a24fd4ba..59b3938f5 100644
--- a/src/synth/synth-environment.adb
+++ b/src/synth/synth-environment.adb
@@ -489,8 +489,6 @@ package body Synth.Environment is
Asgn := Asgn_Rec.Chain;
end;
end loop;
-
- -- FIXME: free wires.
end Pop_And_Merge_Phi;
procedure Propagate_Phi_Until_Mark (Ctxt : Builders.Context_Acc;
diff --git a/src/synth/synth-stmts.adb b/src/synth/synth-stmts.adb
index 823598b1f..323f04cb6 100644
--- a/src/synth/synth-stmts.adb
+++ b/src/synth/synth-stmts.adb
@@ -1824,6 +1824,7 @@ package body Synth.Stmts is
C.W_Val := Alloc_Wire (Wire_Variable, Imp);
end if;
+ -- Create a phi so that all assignments are gathered.
Push_Phi;
Synth_Subprogram_Association_Wires (Sub_Inst, Init);
@@ -1885,6 +1886,8 @@ package body Synth.Stmts is
Propagate_Phi_Until_Mark (Ctxt, Subprg_Phi, Wire_Mark);
-- Free wires.
+ -- These wires are currently unassigned because they were created
+ -- within the Phi.
Free_Wire (C.W_En);
Free_Wire (C.W_Ret);
if Is_Func then