|
|
|
@@ -538,11 +538,16 @@ void KernelGraph::UpdateControlDependRelations(const std::vector<AnfNodePtr> &de |
|
|
|
MS_EXCEPTION_IF_NULL(depend_node); |
|
|
|
std::vector<AnfNodePtr> prior_nodes = {prior_node}; |
|
|
|
std::vector<AnfNodePtr> depend_nodes = {depend_node}; |
|
|
|
MS_LOG(INFO) << "Prior node[" << prior_node->DebugString() << "], depend node[" << depend_node->DebugString(); |
|
|
|
if (prior_node->isa<Parameter>()) { |
|
|
|
int depend_mode = 0; |
|
|
|
if (AnfAlgo::HasNodeAttr(kControlDependMode, cnode)) { |
|
|
|
depend_mode = AnfAlgo::GetNodeAttr<int>(cnode, kControlDependMode); |
|
|
|
} |
|
|
|
MS_LOG(INFO) << "Prior node[" << prior_node->DebugString() << "], depend node[" << depend_node->DebugString() |
|
|
|
<< "], depend_mode :" << depend_mode << "."; |
|
|
|
if (prior_node->isa<Parameter>() && depend_mode == 1) { |
|
|
|
prior_nodes = GetOutputNodes(prior_node); |
|
|
|
} |
|
|
|
if (depend_node->isa<Parameter>()) { |
|
|
|
if (depend_node->isa<Parameter>() && depend_mode == 1) { |
|
|
|
depend_nodes = GetOutputNodes(depend_node); |
|
|
|
} |
|
|
|
for (auto &first_node : prior_nodes) { |
|
|
|
|