(vl-module-stmtrewrite x unroll-limit) → new-x
Function:
(defun vl-module-stmtrewrite (x unroll-limit) (declare (xargs :guard (and (vl-module-p x) (natp unroll-limit)))) (let ((__function__ 'vl-module-stmtrewrite)) (declare (ignorable __function__)) (b* (((vl-module x) x) ((when (vl-module->hands-offp x)) x) (genblob (vl-module->genblob x)) ((mv warnings new-genblob) (vl-genblob-stmtrewrite genblob unroll-limit x.warnings)) (x-warn (change-vl-module x :warnings warnings))) (vl-genblob->module new-genblob x-warn))))
Theorem:
(defthm vl-module-p-of-vl-module-stmtrewrite (implies (and (force (vl-module-p x)) (force (natp unroll-limit))) (b* ((new-x (vl-module-stmtrewrite x unroll-limit))) (vl-module-p new-x))) :rule-classes :rewrite)