diff options
author | Tristan Gingold <tgingold@free.fr> | 2019-10-06 21:22:35 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2019-10-06 21:22:35 +0200 |
commit | 28a691dc5ca293b1b9d6b02b2b76ce8d0b7231d0 (patch) | |
tree | 80c0a6f186e5804c84b7d8f2d650a7ce02ca49e6 /src/synth/synth-environment.ads | |
parent | cddbaa9cbaf33428bb2dc59de00f9f89f8bcd585 (diff) | |
download | ghdl-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.ads | 7 |
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; |