order to fix mutual reference in whiletags/v1.0.0
| @@ -565,6 +565,7 @@ void AscendControlParser::RecurseCall(NotNull<KernelGraphPtr> kg, NotNull<CNodeP | |||||
| cur_node->set_inputs(new_inputs); | cur_node->set_inputs(new_inputs); | ||||
| cur_node->set_abstract(nullptr); | cur_node->set_abstract(nullptr); | ||||
| AnfAlgo::SetNodeAttr(kAttrChildGraph, MakeValue<std::vector<KernelGraphPtr>>({call_kg}), cur_node.get()); | AnfAlgo::SetNodeAttr(kAttrChildGraph, MakeValue<std::vector<KernelGraphPtr>>({call_kg}), cur_node.get()); | ||||
| kg->RemoveNodeFromGraph(origin_inputs[kCNodeCallArg]); | |||||
| origin_inputs.assign(origin_inputs.begin() + kCNodeCallArg + 1, origin_inputs.end()); | origin_inputs.assign(origin_inputs.begin() + kCNodeCallArg + 1, origin_inputs.end()); | ||||
| AttachOriginalInputsToGraph(kg, origin_inputs); | AttachOriginalInputsToGraph(kg, origin_inputs); | ||||
| MS_LOG(INFO) << "Succeed processing call func " << cur_node->DebugString(); | MS_LOG(INFO) << "Succeed processing call func " << cur_node->DebugString(); | ||||
| @@ -1188,6 +1188,19 @@ void KernelGraph::UpdateChildGraphOrder() { | |||||
| child_graph_order_ = child_graph_order; | child_graph_order_ = child_graph_order; | ||||
| } | } | ||||
| void KernelGraph::RemoveNodeFromGraph(const AnfNodePtr &node) { | |||||
| if (backend_front_anf_map_.find(node) != backend_front_anf_map_.end()) { | |||||
| auto front_node = backend_front_anf_map_[node]; | |||||
| (void)backend_front_anf_map_.erase(node); | |||||
| (void)front_backend_anf_map_.erase(front_node); | |||||
| } | |||||
| if (node->isa<ValueNode>()) { | |||||
| if (graph_value_nodes_.find(node->cast<ValueNodePtr>()) != graph_value_nodes_.end()) { | |||||
| (void)graph_value_nodes_.erase(node->cast<ValueNodePtr>()); | |||||
| } | |||||
| } | |||||
| } | |||||
| std::string KernelGraph::ToString() const { return std::string("kernel_graph_").append(std::to_string(graph_id_)); } | std::string KernelGraph::ToString() const { return std::string("kernel_graph_").append(std::to_string(graph_id_)); } | ||||
| KernelGraph::~KernelGraph() { | KernelGraph::~KernelGraph() { | ||||
| @@ -174,6 +174,7 @@ class KernelGraph : public FuncGraph { | |||||
| return nullptr; | return nullptr; | ||||
| } | } | ||||
| } | } | ||||
| void RemoveNodeFromGraph(const AnfNodePtr &node); | |||||
| private: | private: | ||||
| // remove value node form graph | // remove value node form graph | ||||