aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlbert Magyar2020-03-29 23:10:16 -0700
committerAlbert Magyar2020-03-30 12:09:07 -0700
commit221214070fb357a8cf1a8758a35230242c3a350f (patch)
tree0bb95b9f3a15ac11fcda3b429f1d4379fe870489 /src
parent954f8604dd03ab715101dbae9d9433c81255ac56 (diff)
Make InlineCasts invalidate LegalizeClocks
Diffstat (limited to 'src')
-rw-r--r--src/main/scala/firrtl/transforms/InlineCasts.scala9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/scala/firrtl/transforms/InlineCasts.scala b/src/main/scala/firrtl/transforms/InlineCasts.scala
index 59520228..e6800d60 100644
--- a/src/main/scala/firrtl/transforms/InlineCasts.scala
+++ b/src/main/scala/firrtl/transforms/InlineCasts.scala
@@ -6,7 +6,7 @@ package transforms
import firrtl.ir._
import firrtl.Mappers._
import firrtl.PrimOps.Pad
-import firrtl.options.{Dependency, PreservesAll}
+import firrtl.options.Dependency
import firrtl.Utils.{isCast, isBitExtract, NodeMap}
@@ -66,7 +66,7 @@ object InlineCastsTransform {
}
/** Inline nodes that are simple casts */
-class InlineCastsTransform extends Transform with PreservesAll[Transform] {
+class InlineCastsTransform extends Transform {
def inputForm = UnknownForm
def outputForm = UnknownForm
@@ -81,6 +81,11 @@ class InlineCastsTransform extends Transform with PreservesAll[Transform] {
override val dependents = Seq.empty
+ override def invalidates(a: Transform): Boolean = a match {
+ case _: LegalizeClocksTransform => true
+ case _ => false
+ }
+
def execute(state: CircuitState): CircuitState = {
val modulesx = state.circuit.modules.map(InlineCastsTransform.onMod(_))
state.copy(circuit = state.circuit.copy(modules = modulesx))