MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / restore_opr_prop

Method restore_opr_prop

src/core/impl/graph/topo_sort.cpp:554–571  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

552}
553
554void TopoSorter::restore_opr_prop() {
555 // iter in reverse order to handle the case when an (opr, var) pair is
556 // modified multiple times
557 for (auto&& i : reverse_adaptor(m_modified_dep_map_log)) {
558 OperatorNodeBase* opr;
559 VarNode* var;
560 OprNodeProp::DepType dep;
561 std::tie(opr, var, dep) = i;
562
563 auto&& dep_map = const_cast<OprNodeProp::DepMap&>(opr->node_prop().dep_map());
564
565 if (dep == OprNodeProp::DepType{})
566 dep_map.erase(var);
567 else
568 dep_map[var] = dep;
569 }
570 m_modified_dep_map_log.clear();
571}
572
573// vim: syntax=cpp.doxygen foldmethod=marker foldmarker=f{{{,f}}}

Callers 5

~CompSeqMethod · 0.80
compile_prepareMethod · 0.80
applyMethod · 0.80

Calls 3

reverse_adaptorFunction · 0.85
eraseMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected