diff options
| author | azidar | 2015-02-19 08:28:54 -0800 |
|---|---|---|
| committer | azidar | 2015-02-19 08:28:54 -0800 |
| commit | 8c1c4225c340dc658f7d0956e8b231050c122abc (patch) | |
| tree | 93c438922163579d5f00b3f3984c0506f66f59fc /src/main/stanza/passes.stanza | |
| parent | 50b5ce57d1b823a03725dd0aa2141f300c244bf1 (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.stanza | 44 |
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") |
