diff options
| author | Jack Koenig | 2018-10-31 11:54:12 -0700 |
|---|---|---|
| committer | Jack Koenig | 2018-10-31 15:22:26 -0700 |
| commit | e687c99ba343fe2856ae047f3720195b62a49786 (patch) | |
| tree | 1370761a78cb77fcb5154ba10a8073c37faccf6e /src/main | |
| parent | c13c59e82955a82022bd5ca50600b58ead7bf9b1 (diff) | |
Speed up ExpandWhens by replacing foldLeft + List appends with flatMap
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/scala/firrtl/passes/ExpandWhens.scala | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/main/scala/firrtl/passes/ExpandWhens.scala b/src/main/scala/firrtl/passes/ExpandWhens.scala index 3665590f..964b8494 100644 --- a/src/main/scala/firrtl/passes/ExpandWhens.scala +++ b/src/main/scala/firrtl/passes/ExpandWhens.scala @@ -206,12 +206,12 @@ object ExpandWhens extends Pass { private def getFemaleRefs(n: String, t: Type, g: Gender): Seq[Expression] = { def getGender(t: Type, i: Int, g: Gender): Gender = times(g, get_flip(t, i, Default)) val exps = create_exps(WRef(n, t, ExpKind, g)) - (exps.zipWithIndex foldLeft Seq[Expression]()){ - case (expsx, (exp, j)) => exp.tpe match { - case AnalogType(w) => expsx + exps.zipWithIndex.flatMap { case (exp, j) => + exp.tpe match { + case AnalogType(w) => None case _ => getGender(t, j, g) match { - case (BIGENDER | FEMALE) => expsx :+ exp - case _ => expsx + case (BIGENDER | FEMALE) => Some(exp) + case _ => None } } } |
