@@ -745,11 +745,10 @@ Array<Range> Substitute(const Array<Range>& region, const Map<Var, PrimExpr>& vm
745745}
746746
747747void PreOrderVisit (const ObjectRef& stmt_or_expr,
748- const std::function<bool (const ObjectRef&)>& fvisit, bool visit_init_block ) {
748+ const std::function<bool (const ObjectRef&)>& fvisit) {
749749 class PreOrderVisitor : public StmtExprVisitor {
750750 public:
751- explicit PreOrderVisitor (const std::function<bool (const ObjectRef&)>& f, bool visit_init_block)
752- : f_(f), visit_init_block_(visit_init_block) {}
751+ explicit PreOrderVisitor (const std::function<bool (const ObjectRef&)>& f) : f_(f) {}
753752
754753 private:
755754 void VisitExpr (const PrimExpr& expr) final {
@@ -772,35 +771,11 @@ void PreOrderVisit(const ObjectRef& stmt_or_expr,
772771 }
773772 }
774773
775- void VisitStmt_ (const BlockNode* op) final {
776- auto fvisit_buffer_region = [this ](const BufferRegion& s) {
777- for (const auto & range : s->region ) {
778- this ->VisitExpr (range->min );
779- this ->VisitExpr (range->extent );
780- }
781- };
782- VisitArray (op->iter_vars , [this ](const IterVar& iter_var) {
783- this ->VisitExpr (iter_var->dom ->min );
784- this ->VisitExpr (iter_var->dom ->extent );
785- });
786- VisitArray (op->reads , fvisit_buffer_region);
787- VisitArray (op->writes , fvisit_buffer_region);
788- VisitArray (op->match_buffers ,
789- [fvisit_buffer_region](const MatchBufferRegion& match_buffer_region) {
790- fvisit_buffer_region (match_buffer_region->source );
791- });
792- if (visit_init_block_ && op->init .defined ()) {
793- this ->VisitStmt (op->init .value ());
794- }
795- this ->VisitStmt (op->body );
796- }
797-
798774 const std::function<bool (const ObjectRef&)>& f_;
799- bool visit_init_block_;
800775 std::unordered_set<const Object*> visited_;
801776 };
802777
803- PreOrderVisitor visitor (fvisit, visit_init_block );
778+ PreOrderVisitor visitor (fvisit);
804779 if (const auto * stmt = stmt_or_expr.as <StmtNode>()) {
805780 visitor (GetRef<Stmt>(stmt));
806781 } else if (const auto * expr = stmt_or_expr.as <PrimExprNode>()) {
0 commit comments