From 370d5b499f9c02c50fbd62f3291a53fbe8aea9b3 Mon Sep 17 00:00:00 2001 From: Adam Izraelevitz Date: Tue, 25 Dec 2018 11:00:42 -0500 Subject: Performance fix of Uniquify for deep bundles (#980) --- src/test/scala/firrtlTests/UniquifySpec.scala | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/test') diff --git a/src/test/scala/firrtlTests/UniquifySpec.scala b/src/test/scala/firrtlTests/UniquifySpec.scala index 43d1e733..bf0586f3 100644 --- a/src/test/scala/firrtlTests/UniquifySpec.scala +++ b/src/test/scala/firrtlTests/UniquifySpec.scala @@ -283,4 +283,23 @@ class UniquifySpec extends FirrtlFlatSpec { executeTest(input, expected) } + + it should "quickly rename deep bundles" in { + def mkType(i: Int): String = { + if(i == 0) "UInt<8>" else s"{x: ${mkType(i - 1)}}" + } + + val depth = 500 + + val input = + s"""circuit Test: + | module Test : + | input in: ${mkType(depth)} + | output out: ${mkType(depth)} + | out <= in + |""".stripMargin + + val (ms, _) = Utils.time(compileToVerilog(input)) + (ms < 8000) shouldBe true + } } -- cgit v1.2.3