From 427095ad97ac31e994fee3d083eb18f78e701004 Mon Sep 17 00:00:00 2001 From: Jack Koenig Date: Thu, 6 Jul 2017 18:16:33 -0700 Subject: Fix ConstProp bug where multiple names would swap with one Fixes issue in https://github.com/freechipsproject/rocket-chip/pull/848 --- .../firrtlTests/ConstantPropagationTests.scala | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/test') diff --git a/src/test/scala/firrtlTests/ConstantPropagationTests.scala b/src/test/scala/firrtlTests/ConstantPropagationTests.scala index 75c43cf2..380d53e5 100644 --- a/src/test/scala/firrtlTests/ConstantPropagationTests.scala +++ b/src/test/scala/firrtlTests/ConstantPropagationTests.scala @@ -448,6 +448,33 @@ class ConstantPropagationSpec extends FirrtlFlatSpec { node _T_1 = n z <= n n <= x +""" + (parse(exec(input))) should be (parse(check)) + } + + // ============================= + "ConstProp" should "only swap a given name with one other name" in { + val input = +"""circuit Top : + module Top : + input x : UInt<1> + input y : UInt<1> + output z : UInt<3> + node _T_1 = add(x, y) + node n = _T_1 + node m = _T_1 + z <= add(n, m) +""" + val check = +"""circuit Top : + module Top : + input x : UInt<1> + input y : UInt<1> + output z : UInt<3> + node n = add(x, y) + node _T_1 = n + node m = n + z <= add(n, n) """ (parse(exec(input))) should be (parse(check)) } -- cgit v1.2.3