aboutsummaryrefslogtreecommitdiff
path: root/src/main/stanza/compilers.stanza
diff options
context:
space:
mode:
authorazidar2015-11-06 09:51:59 -0800
committerazidar2016-01-16 14:28:16 -0800
commitffa090c10d6210395e3f304e56008e2183a85698 (patch)
tree25fce98795c897f655a4e6dd2f2ebf866e9c3049 /src/main/stanza/compilers.stanza
parent407200e46de9a97f8a88c210e3b0e7d6d38f307b (diff)
WIP
Diffstat (limited to 'src/main/stanza/compilers.stanza')
-rw-r--r--src/main/stanza/compilers.stanza109
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 :