aboutsummaryrefslogtreecommitdiff
path: root/src/main/stanza/compilers.stanza
diff options
context:
space:
mode:
authorazidar2016-01-07 17:15:31 -0800
committerazidar2016-01-16 14:28:18 -0800
commit4569194392122ae4715549b2f0b9fffff051b278 (patch)
treeecd079cefa6fb69d1f8c75bc0e75e38599bc0da4 /src/main/stanza/compilers.stanza
parent2d583abda146dad8e0260928dcb19ad7136216b6 (diff)
Fixed a bunch of tests, and minor bugs
Diffstat (limited to 'src/main/stanza/compilers.stanza')
-rw-r--r--src/main/stanza/compilers.stanza66
1 files changed, 41 insertions, 25 deletions
diff --git a/src/main/stanza/compilers.stanza b/src/main/stanza/compilers.stanza
index 6ede59ad..03819463 100644
--- a/src/main/stanza/compilers.stanza
+++ b/src/main/stanza/compilers.stanza
@@ -3,7 +3,7 @@ defpackage firrtl/compiler :
import verse
import firrtl/passes
import firrtl/chirrtl
- ;import firrtl/errors
+ import firrtl/errors
;import firrtl/flo
;import firrtl/verilog
import firrtl/ir2
@@ -46,45 +46,61 @@ public defmethod backend (c:StandardVerilog) -> List<Pass> :
to-list $ [ Verilog(with-output(c)) ]
public defmethod passes (c:StandardVerilog) -> List<Pass> :
to-list $ [
- ;RemoveSpecialChars() ;R
- ;CheckHighForm() ;R
- ;TempElimination() ;R ; Needs to check number of uses
- ToIR() ;R -> W
- ToWorkingIR() ;R -> W
- ResolveKinds() ;W
- InferTypes() ;R
- ResolveGenders() ;W
- InferWidths() ;R
+ ;RemoveSpecialChars()
+ ;TempElimination() ; Needs to check number of uses
+ ;===============
+ ToIR()
+ ;===============
+ CheckHighForm()
+ ;===============
+ ToWorkingIR()
+ ;===============
+ ResolveKinds()
+ InferTypes()
+ CheckTypes()
+ ResolveGenders()
+ CheckGenders()
+ InferWidths()
+ CheckWidths()
+ ;===============
Resolve()
- ;CheckGenders() ;W
- ;CheckKinds() ;W
- ;CheckTypes() ;R
- ;CheckGenders() ;W
+ ;===============
ExpandConnects()
+ ;===============
RemoveAccesses()
+ ;===============
ExpandWhens()
+ ;===============
+ CheckInitialization()
+ ;===============
ConstProp()
+ ;===============
SplitExp()
-
+ ;===============
ResolveKinds()
InferTypes()
+ CheckTypes()
ResolveGenders()
+ CheckGenders()
InferWidths()
-
+ CheckWidths()
+ ;===============
LowerTypes()
-
+ ;===============
ResolveKinds()
InferTypes()
+ CheckTypes()
ResolveGenders()
+ CheckGenders()
InferWidths()
- ;ToRealIR() ;W -> R
- ;CheckWidths() ;R
- ;Pad() ;R
- ;CheckWidths() ;R
- ;CheckHighForm() ;R
- ;CheckLowForm() ;R
- ;CheckInitialization() ;R
- Verilog(with-output(c)) ;R
+ CheckWidths()
+ ;===============
+ ;ToRealIR()
+ ;Pad()
+ ;CheckWidths()
+ ;CheckHighForm()
+ ;CheckLowForm()
+ Verilog(with-output(c))
]
public defstruct StandardFIRRTL <: Compiler :