diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/scala/firrtl/passes/Inline.scala | 7 | ||||
| -rw-r--r-- | src/main/scala/firrtl/transforms/Flatten.scala | 9 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/main/scala/firrtl/passes/Inline.scala b/src/main/scala/firrtl/passes/Inline.scala index 78b3ce36..85eb7b51 100644 --- a/src/main/scala/firrtl/passes/Inline.scala +++ b/src/main/scala/firrtl/passes/Inline.scala @@ -369,6 +369,11 @@ class InlineInstances extends Transform with DependencyAPIMigration with Registe val renames = renamesSeq.reduceLeftOption(_ andThen _) - CircuitState(flatCircuit, LowForm, annos, renames) + val cleanedAnnos = annos.filterNot { + case InlineAnnotation(_) => true + case _ => false + } + + CircuitState(flatCircuit, LowForm, cleanedAnnos, renames) } } diff --git a/src/main/scala/firrtl/transforms/Flatten.scala b/src/main/scala/firrtl/transforms/Flatten.scala index 1d9f8083..0aa155bd 100644 --- a/src/main/scala/firrtl/transforms/Flatten.scala +++ b/src/main/scala/firrtl/transforms/Flatten.scala @@ -132,7 +132,14 @@ class Flatten extends Transform with DependencyAPIMigration { val (modNames, instNames) = collectAnns(state.circuit, myAnnotations) // take incoming annotation and produce annotations for InlineInstances, i.e. traverse circuit down to find all instances to inline val (newc, modsToInline) = duplicateSubCircuitsFromAnno(state.circuit, modNames, instNames) - inlineTransform.run(newc, modsToInline.toSet, Set.empty[ComponentName], state.annotations) + val flattenedState = inlineTransform.run(newc, modsToInline.toSet, Set.empty[ComponentName], state.annotations) + + val cleanedAnnos = flattenedState.annotations.filterNot { + case FlattenAnnotation(_) => true + case _ => false + } + + flattenedState.copy(annotations = cleanedAnnos) } } } |
