diff --git a/search/Latches.cc b/search/Latches.cc index f8d5b68e..73fc8929 100644 --- a/search/Latches.cc +++ b/search/Latches.cc @@ -359,7 +359,7 @@ Latches::latchOutArrival(const Path *data_path, arc_delay = search_->deratedDelay(data_vertex, d_q_arc, d_q_edge, false, min_max, dcalc_ap, sdc); q_arrival = delaySum(data_path->arrival(), arc_delay, this); - // Copy the data tag but remove the drprClkPath. + // Copy the data tag but remove the crprClkPath. // Levelization does not traverse latch D->Q edges, so in some cases // level(Q) < level(D) // Note that @@ -368,7 +368,7 @@ Latches::latchOutArrival(const Path *data_path, // level(crprClkPath(data)) == level(Q) // or some other downstream vertex. // This can lead to data races when finding arrivals at the same level - // use multiple threads. + // with multiple threads. // Kill the crprClklPath to be safe. const ClkInfo *data_clk_info = data_path->clkInfo(this); const ClkInfo *q_clk_info = diff --git a/search/PathEnum.cc b/search/PathEnum.cc index 7c65f26e..7abd4a80 100644 --- a/search/PathEnum.cc +++ b/search/PathEnum.cc @@ -381,7 +381,8 @@ PathEnumFaninVisitor::visitEdge(const Pin *from_pin, Path *from_path = from_iter.next(); const Mode *mode = from_path->mode(this); const Sdc *sdc = mode->sdc(); - if (pred_->searchFrom(from_vertex, mode) && pred_->searchThru(edge, mode) + if (pred_->searchFrom(from_vertex, mode) + && pred_->searchThru(edge, mode) && pred_->searchTo(to_vertex, mode) // Fanin paths are broken by path delay internal pin startpoints. && !sdc->isPathDelayInternalFromBreak(to_pin)) { diff --git a/search/Search.cc b/search/Search.cc index 8e78f358..28277d3e 100644 --- a/search/Search.cc +++ b/search/Search.cc @@ -95,9 +95,9 @@ EvalPred::searchThru(Edge *edge, { const TimingRole *role = edge->role(); return SearchPred0::searchThru(edge, mode) - && (sta_->variables()->dynamicLoopBreaking() || !edge->isDisabledLoop()) - && (search_thru_latches_ || role->isLatchDtoQ() - || sta_->latches()->latchDtoQState(edge, mode) == LatchEnableState::open); + && (sta_->variables()->dynamicLoopBreaking() || !edge->isDisabledLoop()) + && (search_thru_latches_ || role->isLatchDtoQ() + || sta_->latches()->latchDtoQState(edge, mode) == LatchEnableState::open); } bool