Skip to content

Commit

Permalink
[TVMScript] Avoid visiting repetition tensor in SetCommonPrefix Visit…
Browse files Browse the repository at this point in the history
…or (#15083)

* [TVMScript] Avoid visiting repetition tensor in SetCommonPrefix Visitor

* Switch vector to unordered_set
  • Loading branch information
cccxinli committed Jun 17, 2023
1 parent dcf1b1a commit 77c75d1
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions src/script/printer/ir_docsifier.cc
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,13 @@ void IRDocsifierNode::SetCommonPrefix(const ObjectRef& root,
if (obj == nullptr) {
return;
}
if (visited_.count(obj)) {
if (is_var(GetRef<ObjectRef>(obj))) {
HandleVar(obj);
}
return;
}
visited_.insert(obj);
stack_.push_back(obj);
if (obj->IsInstance<ArrayNode>()) {
const ArrayNode* array = static_cast<const ArrayNode*>(obj);
Expand Down Expand Up @@ -134,6 +141,7 @@ void IRDocsifierNode::SetCommonPrefix(const ObjectRef& root,

ReflectionVTable* vtable_ = ReflectionVTable::Global();
std::vector<const Object*> stack_;
std::unordered_set<const Object*> visited_;

public:
runtime::TypedPackedFunc<bool(ObjectRef)> is_var;
Expand Down

0 comments on commit 77c75d1

Please sign in to comment.