From 8ad4ffcdd151952768b07658b1cc6af8bb538b28 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Wed, 8 Jul 2026 08:34:01 +0200 Subject: [PATCH] Cleanup --- libs/CMakeLists.txt | 1 - passes/opt/opt_dff.cc | 8 ++++---- tests/arch/fabulous/arith_map.v | 1 - 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt index 8d264a120..5ea08ef9d 100644 --- a/libs/CMakeLists.txt +++ b/libs/CMakeLists.txt @@ -50,7 +50,6 @@ block() install(TARGETS slang_driver RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(TARGETS slang_hier RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(TARGETS slang_reflect RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - install(TARGETS rewriter RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(TARGETS slang_tidy RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() endif() diff --git a/passes/opt/opt_dff.cc b/passes/opt/opt_dff.cc index fcb961125..49275bc7c 100644 --- a/passes/opt/opt_dff.cc +++ b/passes/opt/opt_dff.cc @@ -1032,7 +1032,7 @@ struct OptDffWorker uint16_t flags; bool operator==(const SigKey &o) const { - return flags == o.flags && clk == o.clk && ce == o.ce && srst == o.srst && arst == o.arst + return flags == o.flags && clk == o.clk && ce == o.ce && srst == o.srst && arst == o.arst && aload == o.aload && clr == o.clr && set == o.set && cell_type == o.cell_type; } @@ -1076,7 +1076,7 @@ struct OptDffWorker if (ff.has_arst && !is_def(ff.val_arst[i])) continue; // Class members are assumed equal in the current cycle and proven equal in the next, which needs - // a base case anchoring them to a common known value + // a base case anchoring them to a common known value bool def_init = is_def(ff.val_init[i]); if (!def_init && !ff.has_srst && !ff.has_arst) continue; @@ -1208,7 +1208,7 @@ struct OptDffWorker // Build the next-state function n_lit[idx] of every candidate bit by // folding the FF's control logic on top of the D input (-> next value) - + // Two bits are equivalent if their next states always agree whenever their // current states (and those of every other candidate pair) agree for (auto &cls : classes) { @@ -1249,7 +1249,7 @@ struct OptDffWorker // Assume the induction hypo (that every current class is internally equal in the present cycle), and try // to prove that the members of each class therefore also agree in the next cycle - + // A class survives only if no counterexample exists under that hypo, so combined with the common init/reset // value that every class shares, this makes the equality an inductive invariant -> bits are eq and safe to merge std::vector worklist; diff --git a/tests/arch/fabulous/arith_map.v b/tests/arch/fabulous/arith_map.v index b27729f08..0919beb11 100644 --- a/tests/arch/fabulous/arith_map.v +++ b/tests/arch/fabulous/arith_map.v @@ -62,4 +62,3 @@ assign X = AA ^ BB; endmodule `endif -