diff options
| author | Jim Lawson | 2019-04-29 14:31:36 -0700 |
|---|---|---|
| committer | Jim Lawson | 2019-04-29 14:31:36 -0700 |
| commit | 9960f3d143c5f95491ea70e4f2410cbcc0c41004 (patch) | |
| tree | 8f7db2d59bc5edc740f9adf4b965df7d5c8ad66b /src/main/scala/firrtl/transforms | |
| parent | a7cf6ff3416a11088d811a435ba71fd36b191fb4 (diff) | |
Update NoCircuitDedupAnnotation so it's available from firrtl.stage.FirrtlMain
Diffstat (limited to 'src/main/scala/firrtl/transforms')
| -rw-r--r-- | src/main/scala/firrtl/transforms/Dedup.scala | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/main/scala/firrtl/transforms/Dedup.scala b/src/main/scala/firrtl/transforms/Dedup.scala index 609b5935..1db1e1ed 100644 --- a/src/main/scala/firrtl/transforms/Dedup.scala +++ b/src/main/scala/firrtl/transforms/Dedup.scala @@ -6,10 +6,10 @@ package transforms import firrtl.ir._ import firrtl.Mappers._ import firrtl.analyses.InstanceGraph -import firrtl.annotations.TargetToken.{Instance, OfModule, Ref} import firrtl.annotations._ import firrtl.passes.{InferTypes, MemPortUtils} import firrtl.Utils.throwInternalError +import firrtl.options.{HasShellOptions, ShellOption} // Datastructures import scala.collection.mutable @@ -20,7 +20,19 @@ case class NoDedupAnnotation(target: ModuleName) extends SingleTargetAnnotation[ def duplicate(n: ModuleName): NoDedupAnnotation = NoDedupAnnotation(n) } -case object NoCircuitDedupAnnotation extends NoTargetAnnotation +/** If this [[firrtl.annotations.Annotation Annotation]] exists in an [[firrtl.AnnotationSeq AnnotationSeq]], + * then the [[firrtl.transforms.DedupModules]] transform will *NOT* be run on the circuit. + * - set with '--no-dedup' + */ +case object NoCircuitDedupAnnotation extends NoTargetAnnotation with HasShellOptions { + + val options = Seq( + new ShellOption[Unit]( + longOption = "no-dedup", + toAnnotationSeq = _ => Seq(NoCircuitDedupAnnotation), + helpText = "Do NOT dedup modules" ) ) + +} /** Only use on legal Firrtl. * |
