11#include "mlir/Pass/Pass.h" 
   15#define GEN_PASS_DEF_STRIPCONTRACTSPASS 
   16#include "circt/Dialect/Verif/Passes.h.inc" 
   25struct StripContractsPass
 
   26    : 
public verif::impl::StripContractsPassBase<StripContractsPass> {
 
   27  void runOnOperation()
 override {
 
   28    getOperation()->walk([](ContractOp op) {
 
   29      op->replaceUsesWithIf(op.getInputs(), [&](OpOperand &operand) {
 
   30        return operand.getOwner() != op;
 
   34      for (
auto operand : op->getOperands())
 
   35        if (operand.getDefiningOp() == op)
 
   36          for (
auto *user : operand.getUsers())
 
   39      op->dropAllReferences();
 
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.