aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/synth-environment.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-10-06 21:22:35 +0200
committerTristan Gingold <tgingold@free.fr>2019-10-06 21:22:35 +0200
commit28a691dc5ca293b1b9d6b02b2b76ce8d0b7231d0 (patch)
tree80c0a6f186e5804c84b7d8f2d650a7ce02ca49e6 /src/synth/synth-environment.ads
parentcddbaa9cbaf33428bb2dc59de00f9f89f8bcd585 (diff)
downloadghdl-28a691dc5ca293b1b9d6b02b2b76ce8d0b7231d0.tar.gz
ghdl-28a691dc5ca293b1b9d6b02b2b76ce8d0b7231d0.tar.bz2
ghdl-28a691dc5ca293b1b9d6b02b2b76ce8d0b7231d0.zip
synth: propagate assignments out of subprograms. Fix #960
Diffstat (limited to 'src/synth/synth-environment.ads')
-rw-r--r--src/synth/synth-environment.ads7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/synth/synth-environment.ads b/src/synth/synth-environment.ads
index 5c1d9fdbe..7b9215128 100644
--- a/src/synth/synth-environment.ads
+++ b/src/synth/synth-environment.ads
@@ -118,6 +118,13 @@ package Synth.Environment is
procedure Pop_And_Merge_Phi (Ctxt : Builders.Context_Acc;
Stmt : Source.Syn_Src);
+ -- All assignments in PHI to wires below MARK are propagated to the
+ -- current phi. Used to propagate assignments to wires defined out of
+ -- a subprogram when leaving a subprogram.
+ procedure Propagate_Phi_Until_Mark (Ctxt : Builders.Context_Acc;
+ Phi : Phi_Type;
+ Mark : Wire_Id);
+
-- Handle if statement. According to SEL, the value of the wires are
-- those from T or from F.
procedure Merge_Phis (Ctxt : Builders.Context_Acc;