aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJack Koenig2020-05-12 23:03:57 -0700
committerJack Koenig2020-05-13 18:36:57 -0700
commit36227e961a1fa0626249d71edd8b6c829a79a2ee (patch)
treed1e7911747467def7d62f0339604eb43974736f4 /src
parentf4e4ee0e7586797b6a100062e072143977d04fef (diff)
Remove expensive .distinct in Dedup
Diffstat (limited to 'src')
-rw-r--r--src/main/scala/firrtl/transforms/Dedup.scala6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/main/scala/firrtl/transforms/Dedup.scala b/src/main/scala/firrtl/transforms/Dedup.scala
index d7769820..f9e9db48 100644
--- a/src/main/scala/firrtl/transforms/Dedup.scala
+++ b/src/main/scala/firrtl/transforms/Dedup.scala
@@ -74,7 +74,11 @@ class DedupModules extends Transform with DependencyAPIMigration with PreservesA
val dedupMap = DedupModules.deduplicate(c, noDedups.toSet, annos, renameMap)
// Use old module list to preserve ordering
- val dedupedModules = c.modules.map(m => dedupMap(m.name)).distinct
+ // Lookup what a module deduped to, if its a duplicate, remove it
+ val dedupedModules = c.modules.flatMap { m =>
+ val mx = dedupMap(m.name)
+ if (mx.name == m.name) Some(mx) else None
+ }
val cname = CircuitName(c.main)
val map = dedupMap.map { case (from, to) =>