diff options
| author | Albert Magyar | 2020-03-29 23:10:16 -0700 |
|---|---|---|
| committer | Albert Magyar | 2020-03-30 12:09:07 -0700 |
| commit | 221214070fb357a8cf1a8758a35230242c3a350f (patch) | |
| tree | 0bb95b9f3a15ac11fcda3b429f1d4379fe870489 /src | |
| parent | 954f8604dd03ab715101dbae9d9433c81255ac56 (diff) | |
Make InlineCasts invalidate LegalizeClocks
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/scala/firrtl/transforms/InlineCasts.scala | 9 |
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)) |
