diff --git a/include/circt/Dialect/Verif/VerifVisitors.h b/include/circt/Dialect/Verif/VerifVisitors.h index 77b098b2b9ae..c32a76f8e622 100644 --- a/include/circt/Dialect/Verif/VerifVisitors.h +++ b/include/circt/Dialect/Verif/VerifVisitors.h @@ -22,7 +22,7 @@ class Visitor { auto *thisCast = static_cast(this); return TypeSwitch(op) .template Case( + ClockedAssumeOp, ClockedCoverOp, ContractOp>( [&](auto op) -> ResultType { return thisCast->visitVerif(op, args...); }) @@ -55,6 +55,7 @@ class Visitor { HANDLE(ClockedAssertOp, Unhandled); HANDLE(ClockedAssumeOp, Unhandled); HANDLE(ClockedCoverOp, Unhandled); + HANDLE(ContractOp, Unhandled); #undef HANDLE }; diff --git a/lib/Conversion/HWToBTOR2/HWToBTOR2.cpp b/lib/Conversion/HWToBTOR2/HWToBTOR2.cpp index d6a0f30cc8ff..d05ff243e65e 100644 --- a/lib/Conversion/HWToBTOR2/HWToBTOR2.cpp +++ b/lib/Conversion/HWToBTOR2/HWToBTOR2.cpp @@ -52,6 +52,8 @@ struct ConvertHWToBTOR2Pass public hw::TypeOpVisitor, public verif::Visitor { public: + using verif::Visitor::visitVerif; + ConvertHWToBTOR2Pass(raw_ostream &os) : os(os) {} // Executes the pass void runOnOperation() override; @@ -843,14 +845,8 @@ struct ConvertHWToBTOR2Pass void visitVerif(verif::AssumeOp op) { visitAssumeLike(op); } void visitVerif(verif::ClockedAssumeOp op) { visitAssumeLike(op); } - // Cover is not supported in btor2 - void visitVerif(verif::CoverOp op) { - op->emitError("Cover is not supported in btor2!"); - return signalPassFailure(); - } - - void visitVerif(verif::ClockedCoverOp op) { - op->emitError("Cover is not supported in btor2!"); + void visitUnhandledVerif(Operation *op) { + op->emitError("not supported in btor2!"); return signalPassFailure(); }