diff options
| author | Schuyler Eldridge | 2021-02-01 14:03:43 -0500 |
|---|---|---|
| committer | GitHub | 2021-02-01 19:03:43 +0000 |
| commit | fd5d4422df395064c87ec415a27a03d5a052088b (patch) | |
| tree | 18a19e66cc70ec67a2bcf7fa77028d7b54e30556 /src/main | |
| parent | ad0fd6579dfe5fc19c67c0453adbfbcfbd63122d (diff) | |
Deprecate ToWorkingIR (#2028)
* Deprecate firrtl.passes.ToWorkingIR
Deprecate ToWorkingIR as it is now an identity transform.
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@sifive.com>
* Deprecate firrtl.stage.Forms.WorkingIR
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@sifive.com>
* Switch from Forms.WorkingIR to Forms.MinimalHighForm
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@sifive.com>
Co-authored-by: Jack Koenig <koenig@sifive.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/scala/firrtl/LoweringCompilers.scala | 8 | ||||
| -rw-r--r-- | src/main/scala/firrtl/passes/CheckFlows.scala | 2 | ||||
| -rw-r--r-- | src/main/scala/firrtl/passes/CheckHighForm.scala | 2 | ||||
| -rw-r--r-- | src/main/scala/firrtl/passes/CheckTypes.scala | 2 | ||||
| -rw-r--r-- | src/main/scala/firrtl/passes/CheckWidths.scala | 2 | ||||
| -rw-r--r-- | src/main/scala/firrtl/passes/InferTypes.scala | 2 | ||||
| -rw-r--r-- | src/main/scala/firrtl/passes/InferWidths.scala | 2 | ||||
| -rw-r--r-- | src/main/scala/firrtl/passes/ResolveFlows.scala | 2 | ||||
| -rw-r--r-- | src/main/scala/firrtl/passes/ResolveKinds.scala | 2 | ||||
| -rw-r--r-- | src/main/scala/firrtl/passes/ToWorkingIR.scala | 7 | ||||
| -rw-r--r-- | src/main/scala/firrtl/passes/Uniquify.scala | 2 | ||||
| -rw-r--r-- | src/main/scala/firrtl/passes/wiring/WiringTransform.scala | 3 | ||||
| -rw-r--r-- | src/main/scala/firrtl/stage/Forms.scala | 6 | ||||
| -rw-r--r-- | src/main/scala/firrtl/transforms/InferResets.scala | 2 | ||||
| -rw-r--r-- | src/main/scala/firrtl/transforms/LegalizeReductions.scala | 2 |
15 files changed, 28 insertions, 18 deletions
diff --git a/src/main/scala/firrtl/LoweringCompilers.scala b/src/main/scala/firrtl/LoweringCompilers.scala index e0bde64f..261465e2 100644 --- a/src/main/scala/firrtl/LoweringCompilers.scala +++ b/src/main/scala/firrtl/LoweringCompilers.scala @@ -31,7 +31,11 @@ class ChirrtlToHighFirrtl extends CoreTransform { class IRToWorkingIR extends CoreTransform { def inputForm = HighForm def outputForm = HighForm - def transforms = new TransformManager(Forms.WorkingIR, Forms.MinimalHighForm).flattenedTransformOrder + def transforms = Seq( + new Transform with firrtl.options.IdentityLike[CircuitState] with DependencyAPIMigration { + override def execute(a: CircuitState) = transform(a) + } + ) } /** Resolves types, kinds, and flows, and checks the circuit legality. @@ -44,7 +48,7 @@ class IRToWorkingIR extends CoreTransform { class ResolveAndCheck extends CoreTransform { def inputForm = HighForm def outputForm = HighForm - def transforms = new TransformManager(Forms.Resolved, Forms.WorkingIR).flattenedTransformOrder + def transforms = new TransformManager(Forms.Resolved, Forms.MinimalHighForm).flattenedTransformOrder } /** Expands aggregate connects, removes dynamic accesses, and when diff --git a/src/main/scala/firrtl/passes/CheckFlows.scala b/src/main/scala/firrtl/passes/CheckFlows.scala index 2816887f..f78a115a 100644 --- a/src/main/scala/firrtl/passes/CheckFlows.scala +++ b/src/main/scala/firrtl/passes/CheckFlows.scala @@ -10,7 +10,7 @@ import firrtl.options.Dependency object CheckFlows extends Pass { - override def prerequisites = Dependency(passes.ResolveFlows) +: firrtl.stage.Forms.WorkingIR + override def prerequisites = Dependency(passes.ResolveFlows) +: firrtl.stage.Forms.MinimalHighForm override def optionalPrerequisiteOf = Seq( diff --git a/src/main/scala/firrtl/passes/CheckHighForm.scala b/src/main/scala/firrtl/passes/CheckHighForm.scala index 7e305b33..e3468c4e 100644 --- a/src/main/scala/firrtl/passes/CheckHighForm.scala +++ b/src/main/scala/firrtl/passes/CheckHighForm.scala @@ -348,7 +348,7 @@ trait CheckHighFormLike { this: Pass => object CheckHighForm extends Pass with CheckHighFormLike { - override def prerequisites = firrtl.stage.Forms.WorkingIR + override def prerequisites = firrtl.stage.Forms.MinimalHighForm override def optionalPrerequisiteOf = Seq( diff --git a/src/main/scala/firrtl/passes/CheckTypes.scala b/src/main/scala/firrtl/passes/CheckTypes.scala index bbccb353..f70db148 100644 --- a/src/main/scala/firrtl/passes/CheckTypes.scala +++ b/src/main/scala/firrtl/passes/CheckTypes.scala @@ -13,7 +13,7 @@ import firrtl.options.Dependency object CheckTypes extends Pass { - override def prerequisites = Dependency(InferTypes) +: firrtl.stage.Forms.WorkingIR + override def prerequisites = Dependency(InferTypes) +: firrtl.stage.Forms.MinimalHighForm override def optionalPrerequisiteOf = Seq( diff --git a/src/main/scala/firrtl/passes/CheckWidths.scala b/src/main/scala/firrtl/passes/CheckWidths.scala index 3f30e124..150a1bc8 100644 --- a/src/main/scala/firrtl/passes/CheckWidths.scala +++ b/src/main/scala/firrtl/passes/CheckWidths.scala @@ -13,7 +13,7 @@ import firrtl.options.Dependency object CheckWidths extends Pass { - override def prerequisites = Dependency[passes.InferWidths] +: firrtl.stage.Forms.WorkingIR + override def prerequisites = Dependency[passes.InferWidths] +: firrtl.stage.Forms.MinimalHighForm override def optionalPrerequisiteOf = Seq(Dependency[transforms.InferResets]) diff --git a/src/main/scala/firrtl/passes/InferTypes.scala b/src/main/scala/firrtl/passes/InferTypes.scala index 01f0b823..8ab78fee 100644 --- a/src/main/scala/firrtl/passes/InferTypes.scala +++ b/src/main/scala/firrtl/passes/InferTypes.scala @@ -10,7 +10,7 @@ import firrtl.options.Dependency object InferTypes extends Pass { - override def prerequisites = Dependency(ResolveKinds) +: firrtl.stage.Forms.WorkingIR + override def prerequisites = Dependency(ResolveKinds) +: firrtl.stage.Forms.MinimalHighForm override def invalidates(a: Transform) = false @deprecated("This should never have been public", "FIRRTL 1.3.2") diff --git a/src/main/scala/firrtl/passes/InferWidths.scala b/src/main/scala/firrtl/passes/InferWidths.scala index 56cd4dd2..d0677fad 100644 --- a/src/main/scala/firrtl/passes/InferWidths.scala +++ b/src/main/scala/firrtl/passes/InferWidths.scala @@ -71,7 +71,7 @@ class InferWidths extends Transform with ResolvedAnnotationPaths with Dependency Dependency(passes.ResolveFlows), Dependency[passes.InferBinaryPoints], Dependency[passes.TrimIntervals] - ) ++ firrtl.stage.Forms.WorkingIR + ) ++ firrtl.stage.Forms.MinimalHighForm override def invalidates(a: Transform) = false val annotationClasses = Seq(classOf[WidthGeqConstraintAnnotation]) diff --git a/src/main/scala/firrtl/passes/ResolveFlows.scala b/src/main/scala/firrtl/passes/ResolveFlows.scala index 1af87c10..a8672f55 100644 --- a/src/main/scala/firrtl/passes/ResolveFlows.scala +++ b/src/main/scala/firrtl/passes/ResolveFlows.scala @@ -9,7 +9,7 @@ import firrtl.options.Dependency object ResolveFlows extends Pass { - override def prerequisites = Seq(Dependency(passes.InferTypes)) ++ firrtl.stage.Forms.WorkingIR + override def prerequisites = Seq(Dependency(passes.InferTypes)) ++ firrtl.stage.Forms.MinimalHighForm override def invalidates(a: Transform) = false diff --git a/src/main/scala/firrtl/passes/ResolveKinds.scala b/src/main/scala/firrtl/passes/ResolveKinds.scala index 25be003d..e3218467 100644 --- a/src/main/scala/firrtl/passes/ResolveKinds.scala +++ b/src/main/scala/firrtl/passes/ResolveKinds.scala @@ -9,7 +9,7 @@ import firrtl.traversals.Foreachers._ object ResolveKinds extends Pass { - override def prerequisites = firrtl.stage.Forms.WorkingIR + override def prerequisites = firrtl.stage.Forms.MinimalHighForm override def invalidates(a: Transform) = false diff --git a/src/main/scala/firrtl/passes/ToWorkingIR.scala b/src/main/scala/firrtl/passes/ToWorkingIR.scala index 2a814497..12a9bdd7 100644 --- a/src/main/scala/firrtl/passes/ToWorkingIR.scala +++ b/src/main/scala/firrtl/passes/ToWorkingIR.scala @@ -5,8 +5,15 @@ package firrtl.passes import firrtl.ir._ import firrtl.Transform +@deprecated( + "This pass is an identity transform. For an equivalent dependency, use firrtl.stage.forms.MinimalHighForm", + "FIRRTL 1.4.2" +) object ToWorkingIR extends Pass { override def prerequisites = firrtl.stage.Forms.MinimalHighForm + override def optionalPrerequisites = Seq.empty + override def optionalPrerequisiteOf = + (firrtl.stage.Forms.LowFormOptimized.toSet -- firrtl.stage.Forms.MinimalHighForm).toSeq override def invalidates(a: Transform) = false def run(c: Circuit): Circuit = c } diff --git a/src/main/scala/firrtl/passes/Uniquify.scala b/src/main/scala/firrtl/passes/Uniquify.scala index 81916282..20ae8db5 100644 --- a/src/main/scala/firrtl/passes/Uniquify.scala +++ b/src/main/scala/firrtl/passes/Uniquify.scala @@ -35,7 +35,7 @@ import MemPortUtils.memType object Uniquify extends Transform with DependencyAPIMigration { override def prerequisites = - Seq(Dependency(ResolveKinds), Dependency(InferTypes)) ++ firrtl.stage.Forms.WorkingIR + Seq(Dependency(ResolveKinds), Dependency(InferTypes)) ++ firrtl.stage.Forms.MinimalHighForm override def invalidates(a: Transform): Boolean = a match { case ResolveKinds | InferTypes => true diff --git a/src/main/scala/firrtl/passes/wiring/WiringTransform.scala b/src/main/scala/firrtl/passes/wiring/WiringTransform.scala index 4f6705ec..86afe520 100644 --- a/src/main/scala/firrtl/passes/wiring/WiringTransform.scala +++ b/src/main/scala/firrtl/passes/wiring/WiringTransform.scala @@ -47,8 +47,7 @@ class WiringTransform extends Transform with DependencyAPIMigration { /** Defines the sequence of Transform that should be applied */ private def transforms(w: Seq[WiringInfo]): Seq[Transform] = Seq( - new Wiring(w), - ToWorkingIR + new Wiring(w) ) def execute(state: CircuitState): CircuitState = { val annos = state.annotations.collect { diff --git a/src/main/scala/firrtl/stage/Forms.scala b/src/main/scala/firrtl/stage/Forms.scala index a6077f52..ab082151 100644 --- a/src/main/scala/firrtl/stage/Forms.scala +++ b/src/main/scala/firrtl/stage/Forms.scala @@ -25,7 +25,8 @@ object Forms { Dependency[annotations.transforms.CleanupNamedTargets] ) - val WorkingIR: Seq[TransformDependency] = MinimalHighForm :+ Dependency(passes.ToWorkingIR) + @deprecated("Use firrtl.stage.forms.MinimalHighForm", "FIRRTL 1.4.2") + val WorkingIR: Seq[TransformDependency] = MinimalHighForm val Checks: Seq[TransformDependency] = Seq( @@ -35,7 +36,7 @@ object Forms { Dependency(passes.CheckWidths) ) - val Resolved: Seq[TransformDependency] = WorkingIR ++ Checks ++ + val Resolved: Seq[TransformDependency] = MinimalHighForm ++ Checks ++ Seq( Dependency(passes.ResolveKinds), Dependency(passes.InferTypes), @@ -50,7 +51,6 @@ object Forms { val HighForm: Seq[TransformDependency] = ChirrtlForm ++ MinimalHighForm ++ - WorkingIR ++ Resolved ++ Deduped diff --git a/src/main/scala/firrtl/transforms/InferResets.scala b/src/main/scala/firrtl/transforms/InferResets.scala index 4c6ffde2..8fb556fd 100644 --- a/src/main/scala/firrtl/transforms/InferResets.scala +++ b/src/main/scala/firrtl/transforms/InferResets.scala @@ -117,7 +117,7 @@ class InferResets extends Transform with DependencyAPIMigration { Dependency(passes.InferTypes), Dependency(passes.ResolveFlows), Dependency[passes.InferWidths] - ) ++ stage.Forms.WorkingIR + ) ++ stage.Forms.MinimalHighForm override def invalidates(a: Transform): Boolean = a match { case _: checks.CheckResets | passes.CheckTypes => true diff --git a/src/main/scala/firrtl/transforms/LegalizeReductions.scala b/src/main/scala/firrtl/transforms/LegalizeReductions.scala index b5751b14..94cef65b 100644 --- a/src/main/scala/firrtl/transforms/LegalizeReductions.scala +++ b/src/main/scala/firrtl/transforms/LegalizeReductions.scala @@ -35,7 +35,7 @@ object LegalizeAndReductionsTransform { class LegalizeAndReductionsTransform extends Transform with DependencyAPIMigration { override def prerequisites = - firrtl.stage.Forms.WorkingIR ++ + firrtl.stage.Forms.MinimalHighForm ++ Seq(Dependency(passes.CheckTypes), Dependency(passes.CheckWidths)) override def optionalPrerequisites = Nil |
