diff options
Diffstat (limited to 'src/main/scala/firrtl/transforms/DeadCodeElimination.scala')
| -rw-r--r-- | src/main/scala/firrtl/transforms/DeadCodeElimination.scala | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/main/scala/firrtl/transforms/DeadCodeElimination.scala b/src/main/scala/firrtl/transforms/DeadCodeElimination.scala index 308d68df..983f1048 100644 --- a/src/main/scala/firrtl/transforms/DeadCodeElimination.scala +++ b/src/main/scala/firrtl/transforms/DeadCodeElimination.scala @@ -337,8 +337,9 @@ class DeadCodeElimination extends Transform with ResolvedAnnotationPaths with Re Seq(classOf[DontTouchAnnotation], classOf[OptimizableExtModuleAnnotation]) def execute(state: CircuitState): CircuitState = { - val dontTouches: Seq[LogicNode] = state.annotations.collect { - case DontTouchAnnotation(component: ReferenceTarget) if component.isLocal => LogicNode(component) + val dontTouches: Seq[LogicNode] = state.annotations.flatMap { + case anno: HasDontTouches => anno.dontTouches.filter(_.isLocal).map(LogicNode(_)) + case o => Nil } val doTouchExtMods: Seq[String] = state.annotations.collect { case OptimizableExtModuleAnnotation(ModuleName(name, _)) => name |
