aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/transforms/OptimizationAnnotations.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/firrtl/transforms/OptimizationAnnotations.scala')
-rw-r--r--src/main/scala/firrtl/transforms/OptimizationAnnotations.scala11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/main/scala/firrtl/transforms/OptimizationAnnotations.scala b/src/main/scala/firrtl/transforms/OptimizationAnnotations.scala
index 23723a60..2336710a 100644
--- a/src/main/scala/firrtl/transforms/OptimizationAnnotations.scala
+++ b/src/main/scala/firrtl/transforms/OptimizationAnnotations.scala
@@ -5,6 +5,17 @@ package transforms
import firrtl.annotations._
import firrtl.passes.PassException
+/** Indicate that DCE should not be run */
+object NoDCEAnnotation {
+ val marker = "noDCE!"
+ val transform = classOf[DeadCodeElimination]
+ def apply(): Annotation = Annotation(CircuitTopName, transform, marker)
+ def unapply(a: Annotation): Boolean = a match {
+ case Annotation(_, targetXform, value) if targetXform == transform && value == marker => true
+ case _ => false
+ }
+}
+
/** A component that should be preserved
*
* DCE treats the component as a top-level sink of the circuit