diff options
| author | Jack Koenig | 2018-10-31 11:36:36 -0700 |
|---|---|---|
| committer | Jack Koenig | 2018-10-31 15:22:26 -0700 |
| commit | 72b69311072fd48b7c0d5c0b0b318b4dbe5da154 (patch) | |
| tree | eceb176d1f20cf6a575cea24fd9853ef89abd908 /src | |
| parent | 297fbda180584cc3456145faecdc40418babeef1 (diff) | |
Speed up ExpandConnects by replacing foldLeft + List appends with flatMap
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/scala/firrtl/passes/Passes.scala | 12 |
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 |
