|
|
@@ -79,6 +79,16 @@ Status MergePass::Run(NodePtr &node) { |
|
|
|
return FAILED; |
|
|
|
} |
|
|
|
} |
|
|
|
auto in_node = in_data_nodes.at(0); |
|
|
|
bool memcpy_optimize_flag = (in_node != nullptr) && |
|
|
|
((in_node->GetType() == MEMCPYASYNC) || (in_node->GetType() == MEMCPYADDRASYNC)) && |
|
|
|
(in_node->GetInDataNodes().size() == 1); |
|
|
|
if (memcpy_optimize_flag) { |
|
|
|
if (IsolateAndDeleteNode(in_node, {0}) != SUCCESS) { |
|
|
|
GELOGE(FAILED, "Isolate and delete node %s failed.", in_node->GetName().c_str()); |
|
|
|
return FAILED; |
|
|
|
} |
|
|
|
} |
|
|
|
return IsolateAndDeleteNode(node, merge_io_map); |
|
|
|
} |
|
|
|
default: { |
|
|
|