cleanup comments
This commit is contained in:
parent
0aa46150c0
commit
b4e73cd6d8
|
|
@ -96,19 +96,9 @@ private:
|
||||||
|
|
||||||
bool V3UndrivenCapture::enableWriteSummary = true;
|
bool V3UndrivenCapture::enableWriteSummary = true;
|
||||||
|
|
||||||
//void V3UndrivenCapture::sortUniqueVars(std::vector<AstVar*>& vec) {
|
|
||||||
// std::sort(vec.begin(), vec.end());
|
|
||||||
// vec.erase(std::unique(vec.begin(), vec.end()), vec.end());
|
|
||||||
//}
|
|
||||||
|
|
||||||
V3UndrivenCapture::V3UndrivenCapture(AstNetlist* netlistp) {
|
V3UndrivenCapture::V3UndrivenCapture(AstNetlist* netlistp) {
|
||||||
gather(netlistp);
|
gather(netlistp);
|
||||||
|
|
||||||
// Normalize direct lists
|
|
||||||
//for (auto& kv : m_info) {
|
|
||||||
// sortUniqueVars(kv.second.directWrites);
|
|
||||||
//}
|
|
||||||
|
|
||||||
// Compute summaries for all tasks
|
// Compute summaries for all tasks
|
||||||
for (const auto& kv : m_info) (void)computeWriteSummary(kv.first);
|
for (const auto& kv : m_info) (void)computeWriteSummary(kv.first);
|
||||||
|
|
||||||
|
|
@ -156,28 +146,17 @@ const std::vector<AstVar*>& V3UndrivenCapture::computeWriteSummary(const AstNode
|
||||||
<< " returning directWrites size=" << info.directWrites.size());
|
<< " returning directWrites size=" << info.directWrites.size());
|
||||||
// Cycle detected. return directWrites only to guarantee termination.
|
// Cycle detected. return directWrites only to guarantee termination.
|
||||||
if (info.writeSummary.empty()) info.writeSummary = info.directWrites;
|
if (info.writeSummary.empty()) info.writeSummary = info.directWrites;
|
||||||
//sortUniqueVars(info.writeSummary);
|
|
||||||
return info.writeSummary;
|
return info.writeSummary;
|
||||||
}
|
}
|
||||||
|
|
||||||
info.state = State::VISITING;
|
info.state = State::VISITING;
|
||||||
|
|
||||||
// Start with direct writes
|
|
||||||
//info.writeSummary = info.directWrites;
|
|
||||||
|
|
||||||
// Need callees
|
|
||||||
//for (const AstNodeFTask* calleep : info.callees) {
|
|
||||||
// if (m_info.find(calleep) == m_info.end()) continue;
|
|
||||||
// const std::vector<AstVar*>& sub = computeWriteSummary(calleep);
|
|
||||||
// info.writeSummary.insert(info.writeSummary.end(), sub.begin(), sub.end());
|
|
||||||
//}
|
|
||||||
|
|
||||||
// Remove duplicates and sort because grabbing all of the callees can result in duplicates
|
|
||||||
//sortUniqueVars(info.writeSummary);
|
|
||||||
|
|
||||||
info.writeSummary.clear();
|
info.writeSummary.clear();
|
||||||
|
|
||||||
|
// Prevent duplicates across all sources that can contribute to a write summary (direct writes and call chains)
|
||||||
std::unordered_set<AstVar*> seen;
|
std::unordered_set<AstVar*> seen;
|
||||||
|
|
||||||
|
// Simple lambda for filtering duplicates
|
||||||
auto addVar = [&](AstVar* v) {
|
auto addVar = [&](AstVar* v) {
|
||||||
if (seen.insert(v).second) info.writeSummary.push_back(v);
|
if (seen.insert(v).second) info.writeSummary.push_back(v);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -75,11 +75,6 @@ private:
|
||||||
// otherwise this could explode.
|
// otherwise this could explode.
|
||||||
std::unordered_map<const AstNodeFTask*, FTaskInfo> m_info;
|
std::unordered_map<const AstNodeFTask*, FTaskInfo> m_info;
|
||||||
|
|
||||||
// Sort and remove duplicates from a vector of variables. This is called after a task/function
|
|
||||||
// write summary is computed. writeSummary can accumulate duplicates if a variable is written
|
|
||||||
// in multiple tasks/functions.
|
|
||||||
//static void sortUniqueVars(std::vector<AstVar*>& vec);
|
|
||||||
|
|
||||||
// Collect direct writes and call edges for all tasks/functions. Run one time when
|
// Collect direct writes and call edges for all tasks/functions. Run one time when
|
||||||
// UndrivenCapture is created. This runs the visitor over the tree.
|
// UndrivenCapture is created. This runs the visitor over the tree.
|
||||||
void gather(AstNetlist* netlistp);
|
void gather(AstNetlist* netlistp);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue