Skip to content

Commit 6e29fcb

Browse files
committed
findRequired(vertex) rm crpr disable
Signed-off-by: James Cherry <[email protected]>
1 parent 7539c73 commit 6e29fcb

File tree

5 files changed

+1
-55
lines changed

5 files changed

+1
-55
lines changed

graph/Graph.cc

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -594,7 +594,6 @@ Graph::deletePaths(Vertex *vertex)
594594
{
595595
vertex->setPaths(nullptr);
596596
vertex->tag_group_index_ = tag_group_index_max;
597-
vertex->crpr_path_pruning_disabled_ = false;
598597
}
599598

600599
////////////////////////////////////////////////////////////////
@@ -998,7 +997,6 @@ Vertex::init(Pin *pin,
998997
visited1_ = false;
999998
visited2_ = false;
1000999
bfs_in_queue_ = 0;
1001-
crpr_path_pruning_disabled_ = false;
10021000
}
10031001

10041002
Vertex::~Vertex()
@@ -1120,12 +1118,6 @@ Vertex::removeSlewAnnotated()
11201118
slew_annotated_ = 0;
11211119
}
11221120

1123-
void
1124-
Vertex::setCrprPathPruningDisabled(bool disabled)
1125-
{
1126-
crpr_path_pruning_disabled_ = disabled;
1127-
}
1128-
11291121
TagGroupIndex
11301122
Vertex::tagGroupIndex() const
11311123
{

include/sta/Graph.hh

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -304,8 +304,6 @@ public:
304304
bool bfsInQueue(BfsIndex index) const;
305305
void setBfsInQueue(BfsIndex index, bool value);
306306
bool isRegClk() const { return is_reg_clk_; }
307-
bool crprPathPruningDisabled() const { return crpr_path_pruning_disabled_;}
308-
void setCrprPathPruningDisabled(bool disabled);
309307

310308
// ObjectTable interface.
311309
ObjectIdx objectIdx() const { return object_idx_; }
@@ -353,7 +351,6 @@ protected:
353351
bool is_check_clk_:1;
354352
bool is_constrained_:1;
355353
bool has_downstream_clk_pin_:1;
356-
bool crpr_path_pruning_disabled_:1;
357354
bool visited1_:1;
358355
bool visited2_:1;
359356

include/sta/Sta.hh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1437,8 +1437,6 @@ protected:
14371437
Corner *corner,
14381438
const MinMax *min_max);
14391439
void powerPreamble();
1440-
void disableFanoutCrprPruning(Vertex *vertex,
1441-
int &fanou);
14421440
virtual void replaceCell(Instance *inst,
14431441
Cell *to_cell,
14441442
LibertyCell *to_lib_cell);

search/Search.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1182,7 +1182,6 @@ ArrivalVisitor::visit(Vertex *vertex)
11821182
visitFaninPaths(vertex);
11831183
if (crpr_active_
11841184
&& search_->crprPathPruningEnabled()
1185-
&& !vertex->crprPathPruningDisabled()
11861185
// No crpr for ideal clocks.
11871186
&& tag_bldr_->hasPropagatedClk()
11881187
&& !has_fanin_one_)

search/Sta.cc

Lines changed: 1 addition & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -3200,48 +3200,8 @@ Sta::findRequired(Vertex *vertex)
32003200
// Need to include downstream required times if there is fanout.
32013201
&& !hasFanout(vertex, search_->searchAdj(), graph_))
32023202
search_->seedRequired(vertex);
3203-
else {
3203+
else
32043204
search_->findRequireds(vertex->level());
3205-
if (variables_->crprEnabled()
3206-
&& search_->crprPathPruningEnabled()
3207-
&& !search_->crprApproxMissingRequireds()
3208-
// Clocks invariably have requireds that are pruned but it isn't
3209-
// worth finding arrivals and requireds all over again for
3210-
// the entire fanout of the clock.
3211-
&& !search_->isClock(vertex)) {
3212-
// Invalidate arrivals and requireds and disable
3213-
// path pruning on fanout vertices with DFS.
3214-
int fanout = 0;
3215-
disableFanoutCrprPruning(vertex, fanout);
3216-
debugPrint(debug_, "search", 1, "resurrect pruned required %s fanout %d",
3217-
vertex->to_string(this).c_str(),
3218-
fanout);
3219-
// Find fanout arrivals and requireds with pruning disabled.
3220-
search_->findArrivals();
3221-
search_->findRequireds(vertex->level());
3222-
}
3223-
}
3224-
}
3225-
3226-
void
3227-
Sta::disableFanoutCrprPruning(Vertex *vertex,
3228-
int &fanout)
3229-
{
3230-
if (!vertex->crprPathPruningDisabled()) {
3231-
search_->arrivalInvalid(vertex);
3232-
search_->requiredInvalid(vertex);
3233-
vertex->setCrprPathPruningDisabled(true);
3234-
fanout++;
3235-
SearchPred *pred = search_->searchAdj();
3236-
VertexOutEdgeIterator edge_iter(vertex, graph_);
3237-
while (edge_iter.hasNext()) {
3238-
Edge *edge = edge_iter.next();
3239-
Vertex *to_vertex = edge->to(graph_);
3240-
if (pred->searchThru(edge)
3241-
&& pred->searchTo(to_vertex))
3242-
disableFanoutCrprPruning(to_vertex, fanout);
3243-
}
3244-
}
32453205
}
32463206

32473207
Slack

0 commit comments

Comments
 (0)