From 72b69311072fd48b7c0d5c0b0b318b4dbe5da154 Mon Sep 17 00:00:00 2001 From: Jack Koenig Date: Wed, 31 Oct 2018 11:36:36 -0700 Subject: Speed up ExpandConnects by replacing foldLeft + List appends with flatMap --- src/main/scala/firrtl/passes/Passes.scala | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src') 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 -- cgit v1.2.3