Vertex::deletePaths()

This commit is contained in:
James Cherry 2020-04-20 10:07:14 -07:00
parent f4d833f1b5
commit 7e12a99f9b
4 changed files with 16 additions and 15 deletions

View File

@ -1174,6 +1174,16 @@ Vertex::setHasRequireds(bool has_req)
has_requireds_ = has_req;
}
void
Vertex::deletePaths()
{
arrivals_ = arrival_null;
prev_paths_ = prev_path_null;
tag_group_index_ = tag_group_index_max;
has_requireds_ = false;
crpr_path_pruning_disabled_ = false;
}
LogicValue
Vertex::simValue() const
{

View File

@ -275,7 +275,6 @@ public:
LevelColor color() const { return static_cast<LevelColor>(color_); }
void setColor(LevelColor color);
ArrivalId arrivals() { return arrivals_; }
void setArrivals(ArrivalId id);
PrevPathId prevPaths() const { return prev_paths_; }
void setPrevPaths(PrevPathId id);
// Requireds optionally follow arrivals in the same array.
@ -325,6 +324,8 @@ public:
// ObjectTable interface.
ObjectIdx objectIdx() const { return object_idx_; }
void setObjectIdx(ObjectIdx idx);
// private to Search.cc
void deletePaths();
static int transitionCount() { return 2; } // rise/fall
@ -332,6 +333,7 @@ protected:
void init(Pin *pin,
bool is_bidirect_drvr,
bool is_reg_clk);
void setArrivals(ArrivalId id);
Pin *pin_;
ArrivalId arrivals_;

View File

@ -482,7 +482,6 @@ protected:
const PathAnalysisPt *path_ap);
void deletePaths();
void deletePaths(Vertex *vertex);
void deletePaths1(Vertex *vertex);
TagGroup *findTagGroup(TagGroupBldr *group_bldr);
void deleteFilterTags();
void deleteFilterTagGroups();

View File

@ -397,7 +397,7 @@ Search::deletePaths()
VertexIterator vertex_iter(graph_);
while (vertex_iter.hasNext()) {
Vertex *vertex = vertex_iter.next();
deletePaths1(vertex);
vertex->deletePaths();
}
graph_->clearArrivals();
graph_->clearPrevPaths();
@ -405,23 +405,13 @@ Search::deletePaths()
}
}
void
Search::deletePaths1(Vertex *vertex)
{
vertex->setArrivals(arrival_null);
vertex->setPrevPaths(prev_path_null);
vertex->setTagGroupIndex(tag_group_index_max);
vertex->setHasRequireds(false);
vertex->setCrprPathPruningDisabled(false);
}
void
Search::deletePaths(Vertex *vertex)
{
tnsNotifyBefore(vertex);
if (worst_slacks_)
worst_slacks_->worstSlackNotifyBefore(vertex);
deletePaths1(vertex);
vertex->deletePaths();
}
////////////////////////////////////////////////////////////////
@ -720,7 +710,7 @@ void
Search::arrivalInvalidDelete(Vertex *vertex)
{
arrivalInvalid(vertex);
deletePaths1(vertex);
vertex->deletePaths();
}
void