From c13c59e82955a82022bd5ca50600b58ead7bf9b1 Mon Sep 17 00:00:00 2001 From: Jack Koenig Date: Wed, 31 Oct 2018 11:37:09 -0700 Subject: Speed up create_exps by replacing foldLeft + List appends with flatMap --- src/main/scala/firrtl/Utils.scala | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/main/scala/firrtl/Utils.scala b/src/main/scala/firrtl/Utils.scala index 2d1b0b74..53e8c157 100644 --- a/src/main/scala/firrtl/Utils.scala +++ b/src/main/scala/firrtl/Utils.scala @@ -256,10 +256,9 @@ object Utils extends LazyLogging { case ex: ValidIf => create_exps(ex.value) map (e1 => ValidIf(ex.cond, e1, e1.tpe)) case ex => ex.tpe match { case (_: GroundType) => Seq(ex) - case (t: BundleType) => (t.fields foldLeft Seq[Expression]())((exps, f) => - exps ++ create_exps(WSubField(ex, f.name, f.tpe,times(gender(ex), f.flip)))) - case (t: VectorType) => (0 until t.size foldLeft Seq[Expression]())((exps, i) => - exps ++ create_exps(WSubIndex(ex, i, t.tpe,gender(ex)))) + case t: BundleType => + t.fields.flatMap(f => create_exps(WSubField(ex, f.name, f.tpe,times(gender(ex), f.flip)))) + case t: VectorType => (0 until t.size).flatMap(i => create_exps(WSubIndex(ex, i, t.tpe,gender(ex)))) } } -- cgit v1.2.3