diff options
| author | azidar | 2015-11-06 09:51:59 -0800 |
|---|---|---|
| committer | azidar | 2016-01-16 14:28:16 -0800 |
| commit | ffa090c10d6210395e3f304e56008e2183a85698 (patch) | |
| tree | 25fce98795c897f655a4e6dd2f2ebf866e9c3049 /src/main/stanza/compilers.stanza | |
| parent | 407200e46de9a97f8a88c210e3b0e7d6d38f307b (diff) | |
WIP
Diffstat (limited to 'src/main/stanza/compilers.stanza')
| -rw-r--r-- | src/main/stanza/compilers.stanza | 109 |
1 files changed, 54 insertions, 55 deletions
diff --git a/src/main/stanza/compilers.stanza b/src/main/stanza/compilers.stanza index 88a4141a..bed150ba 100644 --- a/src/main/stanza/compilers.stanza +++ b/src/main/stanza/compilers.stanza @@ -2,43 +2,42 @@ defpackage firrtl/compiler : import core import verse import firrtl/passes - import firrtl/errors - import firrtl/flo - import firrtl/verilog - import firrtl/firrtl + ;import firrtl/errors + ;import firrtl/flo + ;import firrtl/verilog import firrtl/ir2 import firrtl/ir-utils -public defstruct StandardFlo <: Compiler : - with-output : (() -> False) -> False with: (as-method => true) -public defmethod passes (c:StandardFlo) -> List<Pass> : - to-list $ [ - RemoveSpecialChars() - RemoveScopes() - CheckHighForm() - ;; TempElimination() - ToWorkingIR() - ResolveKinds() - CheckKinds() - InferTypes() - CheckTypes() - ResolveGenders() - CheckGenders() - ExpandAccessors() - LowerToGround() - InlineIndexed() - ExpandWhens() - InferWidths() - Pad() - Inline() - SplitExp() - ToRealIR() - CheckWidths() - ;RemoveSpecialChars() - CheckHighForm() - CheckLowForm() - Flo(with-output(c)) - ] +;public defstruct StandardFlo <: Compiler : +; with-output : (() -> False) -> False with: (as-method => true) +;public defmethod passes (c:StandardFlo) -> List<Pass> : +; to-list $ [ +; RemoveSpecialChars() +; RemoveScopes() +; CheckHighForm() +; ;; TempElimination() +; ToWorkingIR() +; ResolveKinds() +; CheckKinds() +; InferTypes() +; CheckTypes() +; ResolveGenders() +; CheckGenders() +; ExpandAccessors() +; LowerToGround() +; InlineIndexed() +; ExpandWhens() +; InferWidths() +; Pad() +; Inline() +; SplitExp() +; ToRealIR() +; CheckWidths() +; ;RemoveSpecialChars() +; CheckHighForm() +; CheckLowForm() +; Flo(with-output(c)) +; ] public defstruct StandardVerilog <: Compiler : with-output : (() -> False) -> False with: (as-method => true) @@ -46,37 +45,37 @@ public defmethod backend (c:StandardVerilog) -> List<Pass> : to-list $ [ Verilog(with-output(c)) ] public defmethod passes (c:StandardVerilog) -> List<Pass> : to-list $ [ - RemoveSpecialChars() ;R + ;RemoveSpecialChars() ;R ;RemoveScopes() ;R - CheckHighForm() ;R - TempElimination() ;R + ;CheckHighForm() ;R + ;TempElimination() ;R ; Needs to check number of uses ToWorkingIR() ;R -> W ResolveKinds() ;W InferTypes() ;R ResolveGenders() ;W - CheckGenders() ;W - CheckKinds() ;W - CheckTypes() ;R - ExpandAccessors() ;W - LowerToGround() ;W - ;ExpandIndexedConnects() ;W - InlineIndexed() - InferTypes() ;R + ;CheckGenders() ;W + ;CheckKinds() ;W + ;CheckTypes() ;R + ExpandAccesses() ;W + ExpandConnects() ;W ResolveGenders() ;W - CheckTypes() ;R - CheckGenders() ;W + ;LowerToGround() ;W + ;ExpandIndexedConnects() ;W + ReplaceIndexers() + ;InferTypes() ;R + ;CheckGenders() ;W ExpandWhens() ;W InferWidths() ;R - ToRealIR() ;W -> R - CheckWidths() ;R - Pad() ;R + ;ToRealIR() ;W -> R + ;CheckWidths() ;R + ;Pad() ;R ConstProp() ;R SplitExp() ;R - CheckWidths() ;R - CheckHighForm() ;R - CheckLowForm() ;R - CheckInitialization() ;R - Verilog(with-output(c)) ;R + ;CheckWidths() ;R + ;CheckHighForm() ;R + ;CheckLowForm() ;R + ;CheckInitialization() ;R + ;Verilog(with-output(c)) ;R ] public defstruct StandardFIRRTL <: Compiler : |
