aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorSchuyler Eldridge2021-02-01 14:03:43 -0500
committerGitHub2021-02-01 19:03:43 +0000
commitfd5d4422df395064c87ec415a27a03d5a052088b (patch)
tree18a19e66cc70ec67a2bcf7fa77028d7b54e30556 /src/main
parentad0fd6579dfe5fc19c67c0453adbfbcfbd63122d (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.scala8
-rw-r--r--src/main/scala/firrtl/passes/CheckFlows.scala2
-rw-r--r--src/main/scala/firrtl/passes/CheckHighForm.scala2
-rw-r--r--src/main/scala/firrtl/passes/CheckTypes.scala2
-rw-r--r--src/main/scala/firrtl/passes/CheckWidths.scala2
-rw-r--r--src/main/scala/firrtl/passes/InferTypes.scala2
-rw-r--r--src/main/scala/firrtl/passes/InferWidths.scala2
-rw-r--r--src/main/scala/firrtl/passes/ResolveFlows.scala2
-rw-r--r--src/main/scala/firrtl/passes/ResolveKinds.scala2
-rw-r--r--src/main/scala/firrtl/passes/ToWorkingIR.scala7
-rw-r--r--src/main/scala/firrtl/passes/Uniquify.scala2
-rw-r--r--src/main/scala/firrtl/passes/wiring/WiringTransform.scala3
-rw-r--r--src/main/scala/firrtl/stage/Forms.scala6
-rw-r--r--src/main/scala/firrtl/transforms/InferResets.scala2
-rw-r--r--src/main/scala/firrtl/transforms/LegalizeReductions.scala2
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