aboutsummaryrefslogtreecommitdiff
path: root/src/main/stanza/passes.stanza
diff options
context:
space:
mode:
authorazidar2015-02-19 08:28:54 -0800
committerazidar2015-02-19 08:28:54 -0800
commit8c1c4225c340dc658f7d0956e8b231050c122abc (patch)
tree93c438922163579d5f00b3f3984c0506f66f59fc /src/main/stanza/passes.stanza
parent50b5ce57d1b823a03725dd0aa2141f300c244bf1 (diff)
Added compiler flags to allow tests to select which passes they test.
Changed package names from chipper to firrtl
Diffstat (limited to 'src/main/stanza/passes.stanza')
-rw-r--r--src/main/stanza/passes.stanza44
1 files changed, 23 insertions, 21 deletions
diff --git a/src/main/stanza/passes.stanza b/src/main/stanza/passes.stanza
index 03a9583b..6051ac8d 100644
--- a/src/main/stanza/passes.stanza
+++ b/src/main/stanza/passes.stanza
@@ -1,8 +1,8 @@
-defpackage chipper.passes :
+defpackage firrtl.passes :
import core
import verse
- import chipper.ir2
- import chipper.ir-utils
+ import firrtl.ir2
+ import firrtl.ir-utils
import widthsolver
;============== EXCEPTIONS =================================
@@ -1856,28 +1856,30 @@ defn inline-instances (c:Circuit) :
;============= DRIVER ======================================
-public defn run-passes (c: Circuit) :
+public defn run-passes (c: Circuit, p: List<Char>) :
var c*:Circuit = c
defn do-stage (name:String, f: Circuit -> Circuit) :
println(name)
c* = f(c*)
- println(c*)
- println("\n\n\n\n")
-
- do-stage("Working IR", to-working-ir)
- do-stage("Resolve Kinds", resolve-kinds)
- ;do-stage("Make Explicit Reset", make-explicit-reset)
- ;do-stage("Infer Types", infer-types)
- ;do-stage("Infer Directions", infer-directions)
- ;do-stage("Expand Accessors", expand-accessors)
- ;do-stage("Flatten Bundles", flatten-bundles)
- ;do-stage("Expand Bundles", expand-bundles)
- ;do-stage("Expand Multi Connects", expand-multi-connects)
- ;do-stage("Expand Whens", expand-whens)
- ;do-stage("Structural Form", structural-form)
- ;do-stage("Infer Widths", infer-widths)
- ;do-stage("Pad Widths", pad-widths)
- ;do-stage("Inline Instances", inline-instances)
+
+
+ if contains(p,'a') : do-stage("Working IR", to-working-ir)
+ if contains(p,'b') : do-stage("Resolve Kinds", resolve-kinds)
+ if contains(p,'c') : do-stage("Make Explicit Reset", make-explicit-reset)
+ if contains(p,'d') : do-stage("Infer Types", infer-types)
+ if contains(p,'e') : do-stage("Infer Directions", infer-directions)
+ if contains(p,'f') : do-stage("Expand Accessors", expand-accessors)
+ if contains(p,'g') : do-stage("Flatten Bundles", flatten-bundles)
+ if contains(p,'h') : do-stage("Expand Bundles", expand-bundles)
+ if contains(p,'i') : do-stage("Expand Multi Connects", expand-multi-connects)
+ if contains(p,'j') : do-stage("Expand Whens", expand-whens)
+ if contains(p,'k') : do-stage("Structural Form", structural-form)
+ if contains(p,'l') : do-stage("Infer Widths", infer-widths)
+ if contains(p,'m') : do-stage("Pad Widths", pad-widths)
+ if contains(p,'n') : do-stage("Inline Instances", inline-instances)
+
+ println(c*)
+ println("\n\n\n\n")
;; println("Shim for Jonathan's Passes")