aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJack Koenig2018-10-31 11:36:36 -0700
committerJack Koenig2018-10-31 15:22:26 -0700
commit72b69311072fd48b7c0d5c0b0b318b4dbe5da154 (patch)
treeeceb176d1f20cf6a575cea24fd9853ef89abd908 /src
parent297fbda180584cc3456145faecdc40418babeef1 (diff)
Speed up ExpandConnects by replacing foldLeft + List appends with flatMap
Diffstat (limited to 'src')
-rw-r--r--src/main/scala/firrtl/passes/Passes.scala12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/main/scala/firrtl/passes/Passes.scala b/src/main/scala/firrtl/passes/Passes.scala
index 3658d368..45413348 100644
--- a/src/main/scala/firrtl/passes/Passes.scala
+++ b/src/main/scala/firrtl/passes/Passes.scala
@@ -125,13 +125,13 @@ object ExpandConnects extends Pass {
case sx: DefMemory => genders(sx.name) = MALE; sx
case sx: DefNode => genders(sx.name) = MALE; sx
case sx: IsInvalid =>
- val invalids = (create_exps(sx.expr) foldLeft Seq[Statement]())(
- (invalids, expx) => gender(set_gender(expx)) match {
- case BIGENDER => invalids :+ IsInvalid(sx.info, expx)
- case FEMALE => invalids :+ IsInvalid(sx.info, expx)
- case _ => invalids
+ val invalids = create_exps(sx.expr).flatMap { case expx =>
+ gender(set_gender(expx)) match {
+ case BIGENDER => Some(IsInvalid(sx.info, expx))
+ case FEMALE => Some(IsInvalid(sx.info, expx))
+ case _ => None
}
- )
+ }
invalids.size match {
case 0 => EmptyStmt
case 1 => invalids.head