Sta::vertexSlack(endpoint) speedup
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
8f8f397610
commit
7539c7372d
|
|
@ -1074,6 +1074,7 @@ Search::findArrivals1(Level level)
|
||||||
Stats stats(debug_, report_);
|
Stats stats(debug_, report_);
|
||||||
int arrival_count = arrival_iter_->visitParallel(level, arrival_visitor_);
|
int arrival_count = arrival_iter_->visitParallel(level, arrival_visitor_);
|
||||||
deleteTagsPrev();
|
deleteTagsPrev();
|
||||||
|
if (arrival_count > 0)
|
||||||
deleteUnusedTagGroups();
|
deleteUnusedTagGroups();
|
||||||
stats.report("Find arrivals");
|
stats.report("Find arrivals");
|
||||||
if (arrival_iter_->empty()
|
if (arrival_iter_->empty()
|
||||||
|
|
|
||||||
|
|
@ -3196,6 +3196,11 @@ Sta::findRequired(Vertex *vertex)
|
||||||
{
|
{
|
||||||
searchPreamble();
|
searchPreamble();
|
||||||
search_->findAllArrivals();
|
search_->findAllArrivals();
|
||||||
|
if (search_->isEndpoint(vertex)
|
||||||
|
// Need to include downstream required times if there is fanout.
|
||||||
|
&& !hasFanout(vertex, search_->searchAdj(), graph_))
|
||||||
|
search_->seedRequired(vertex);
|
||||||
|
else {
|
||||||
search_->findRequireds(vertex->level());
|
search_->findRequireds(vertex->level());
|
||||||
if (variables_->crprEnabled()
|
if (variables_->crprEnabled()
|
||||||
&& search_->crprPathPruningEnabled()
|
&& search_->crprPathPruningEnabled()
|
||||||
|
|
@ -3216,6 +3221,7 @@ Sta::findRequired(Vertex *vertex)
|
||||||
search_->findRequireds(vertex->level());
|
search_->findRequireds(vertex->level());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Sta::disableFanoutCrprPruning(Vertex *vertex,
|
Sta::disableFanoutCrprPruning(Vertex *vertex,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue