From 87d3f8200ab7e05e07bdf36fa518219b8bd08513 Mon Sep 17 00:00:00 2001 From: Albert Chen Date: Mon, 18 May 2020 10:47:41 -0700 Subject: Fix equivalence tests (#853) * - modify firrtlEquivalenceTest to use yosys equiv_simple/equiv_induct instead of miter - add RemoveValidIf pass to MinimumLowFirrtlOptimization * add EquivalenceTest to FirrtlSpec.scala, make classes in IntegrationSpec.scala abstract * change types of inputForm/outputForm to CircuitForm * change EquivalenceTest message * remove ICache equivalence tests * fix rebase errors * Add Ops scalatests to LEC suite * Only run compiler-path-comparison LEC tests on Ops design * Fixup issues with merge Co-authored-by: Albert Magyar --- src/test/scala/firrtlTests/IntegrationSpec.scala | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/test/scala/firrtlTests') diff --git a/src/test/scala/firrtlTests/IntegrationSpec.scala b/src/test/scala/firrtlTests/IntegrationSpec.scala index 352a5e52..b399923f 100644 --- a/src/test/scala/firrtlTests/IntegrationSpec.scala +++ b/src/test/scala/firrtlTests/IntegrationSpec.scala @@ -52,3 +52,17 @@ class RocketCoreCompilationTest extends CompilationTest("RocketCore", "/regress" class ICacheCompilationTest extends CompilationTest("ICache", "/regress") class FPUCompilationTest extends CompilationTest("FPU", "/regress") class HwachaSequencerCompilationTest extends CompilationTest("HwachaSequencer", "/regress") + +abstract class CommonSubexprEliminationEquivTest(name: String, dir: String) extends + EquivalenceTest(Seq(firrtl.passes.CommonSubexpressionElimination), name, dir) +abstract class DeadCodeEliminationEquivTest(name: String, dir: String) extends + EquivalenceTest(Seq(new firrtl.transforms.DeadCodeElimination), name, dir) +abstract class ConstantPropagationEquivTest(name: String, dir: String) extends + EquivalenceTest(Seq(new firrtl.transforms.ConstantPropagation), name, dir) +abstract class LowFirrtlOptimizationEquivTest(name: String, dir: String) extends + EquivalenceTest(Seq(new LowFirrtlOptimization), name, dir) + +class OpsCommonSubexprEliminationTest extends CommonSubexprEliminationEquivTest("Ops", "/regress") +class OpsDeadCodeEliminationTest extends DeadCodeEliminationEquivTest("Ops", "/regress") +class OpsConstantPropagationTest extends ConstantPropagationEquivTest("Ops", "/regress") +class OpsLowFirrtlOptimizationTest extends LowFirrtlOptimizationEquivTest("Ops", "/regress") -- cgit v1.2.3