From abf226471249a1cbb8de33d0c4bc8526f9aafa70 Mon Sep 17 00:00:00 2001 From: Schuyler Eldridge Date: Tue, 17 Dec 2019 18:29:47 -0500 Subject: Migrate to DependencyAPI Co-authored-by: Schuyler Eldridge Co-authored-by: Albert Magyar Signed-off-by: Schuyler Eldridge --- .../transforms/FixAddingNegativeLiteralsTransform.scala | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/main/scala/firrtl/transforms/FixAddingNegativeLiteralsTransform.scala') diff --git a/src/main/scala/firrtl/transforms/FixAddingNegativeLiteralsTransform.scala b/src/main/scala/firrtl/transforms/FixAddingNegativeLiteralsTransform.scala index 08bf4af4..59d14ab2 100644 --- a/src/main/scala/firrtl/transforms/FixAddingNegativeLiteralsTransform.scala +++ b/src/main/scala/firrtl/transforms/FixAddingNegativeLiteralsTransform.scala @@ -2,10 +2,12 @@ package firrtl.transforms -import firrtl.{CircuitState, LowForm, Namespace, PrimOps, Transform, Utils, WRef} +import firrtl.{CircuitState, Namespace, PrimOps, Transform, UnknownForm, Utils, WRef} import firrtl.ir._ import firrtl.Mappers._ +import firrtl.options.{Dependency, PreservesAll} import firrtl.PrimOps.{Add, AsSInt, Sub, Tail} +import firrtl.stage.Forms import scala.collection.mutable @@ -105,9 +107,15 @@ object FixAddingNegativeLiterals { * the literal and thus not all expressions in the add are the same. This is fixed here when we directly * subtract the literal instead. */ -class FixAddingNegativeLiterals extends Transform { - def inputForm = LowForm - def outputForm = LowForm +class FixAddingNegativeLiterals extends Transform with PreservesAll[Transform] { + def inputForm = UnknownForm + def outputForm = UnknownForm + + override val prerequisites = Forms.LowFormMinimumOptimized :+ Dependency[BlackBoxSourceHelper] + + override val optionalPrerequisites = firrtl.stage.Forms.LowFormOptimized + + override val dependents = Seq.empty def execute(state: CircuitState): CircuitState = { val modulesx = state.circuit.modules.map(FixAddingNegativeLiterals.fixupModule) -- cgit v1.2.3