SWDEV-317974 - Fixed missing dependent node issue
Change-Id: Ia143c9ef93c465a5be67238d7f802c274da751bc
[ROCm/clr commit: 7fe2a6e62f]
This commit is contained in:
کامیت شده توسط
Sarbojit Sarkar
والد
2ee642823d
کامیت
fe0a0d66a7
@@ -146,12 +146,20 @@ struct hipGraphNode {
|
|||||||
edges_.push_back(entry);
|
edges_.push_back(entry);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/// Update level, for existing edges
|
||||||
|
void UpdateEdgeLevel() {
|
||||||
|
for (auto edge : edges_) {
|
||||||
|
edge->SetLevel(std::max(edge->GetLevel(), GetLevel() + 1));
|
||||||
|
edge->UpdateEdgeLevel();
|
||||||
|
}
|
||||||
|
}
|
||||||
/// Add edge, update parent node outdegree, child node indegree, level and dependency
|
/// Add edge, update parent node outdegree, child node indegree, level and dependency
|
||||||
void AddEdge(const Node& childNode) {
|
void AddEdge(const Node& childNode) {
|
||||||
edges_.push_back(childNode);
|
edges_.push_back(childNode);
|
||||||
outDegree_++;
|
outDegree_++;
|
||||||
childNode->SetInDegree(childNode->GetInDegree() + 1);
|
childNode->SetInDegree(childNode->GetInDegree() + 1);
|
||||||
childNode->SetLevel(std::max(childNode->GetLevel(), GetLevel() + 1));
|
childNode->SetLevel(std::max(childNode->GetLevel(), GetLevel() + 1));
|
||||||
|
childNode->UpdateEdgeLevel();
|
||||||
childNode->AddDependency(this);
|
childNode->AddDependency(this);
|
||||||
}
|
}
|
||||||
/// Remove edge, update parent node outdegree, child node indegree, level and dependency
|
/// Remove edge, update parent node outdegree, child node indegree, level and dependency
|
||||||
|
|||||||
مرجع در شماره جدید
Block a user