diff options
| author | Schuyler Eldridge | 2020-06-25 16:10:25 -0400 |
|---|---|---|
| committer | GitHub | 2020-06-25 20:10:25 +0000 |
| commit | 87c5d034f2d32132eed01a6f43b567af9b34cbcd (patch) | |
| tree | e348b349e5da62fc76c3eb7dcbdfd256136e0262 /src | |
| parent | 672e2a9a4e8876580d97269d0e3d218a7c5ce491 (diff) | |
Batch renames in LowerTypes (#1718)
* Batch renames in LowerTypes
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
* Add benchmarking for LowerTypes
Add infrastructure of benchmarking Transforms (in addition to
existing infra for Passes). Also run System.gc between each timed
benchmark to improve stability.
Co-authored-by: Jack Koenig <koenig@sifive.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/scala/firrtl/passes/LowerTypes.scala | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/main/scala/firrtl/passes/LowerTypes.scala b/src/main/scala/firrtl/passes/LowerTypes.scala index ccfe5828..29792d17 100644 --- a/src/main/scala/firrtl/passes/LowerTypes.scala +++ b/src/main/scala/firrtl/passes/LowerTypes.scala @@ -55,16 +55,16 @@ object LowerTypes extends Transform with DependencyAPIMigration { val name = root + loweredName(e) renames.rename(root + e.serialize, name) Seq(name) - case (t: BundleType) => t.fields.flatMap { f => - val subNames = renameExps(renames, WSubField(e, f.name, f.tpe, times(flow(e), f.flip)), root) + case (t: BundleType) => + val subNames = t.fields.flatMap { f => + renameExps(renames, WSubField(e, f.name, f.tpe, times(flow(e), f.flip)), root) + } renames.rename(root + e.serialize, subNames) subNames - } - case (t: VectorType) => (0 until t.size).flatMap { i => - val subNames = renameExps(renames, WSubIndex(e, i, t.tpe,flow(e)), root) + case (t: VectorType) => + val subNames = (0 until t.size).flatMap { i => renameExps(renames, WSubIndex(e, i, t.tpe,flow(e)), root) } renames.rename(root + e.serialize, subNames) subNames - } } private def renameMemExps(renames: RenameMap, e: Expression, portAndField: Expression): Seq[String] = e.tpe match { @@ -224,9 +224,10 @@ object LowerTypes extends Transform with DependencyAPIMigration { val d = WRef(mem.name, sx.dataType) tail match { case None => - create_exps(mem.name, sx.dataType) foreach { x => - renames.rename(e.serialize, s"${loweredName(x)}.${port.serialize}.${field.serialize}") + val names = create_exps(mem.name, sx.dataType).map { x => + s"${loweredName(x)}.${port.serialize}.${field.serialize}" } + renames.rename(e.serialize, names) case Some(_) => renameMemExps(renames, d, mergeRef(port, field)) } |
