From 0a8ccbd3c4f83c4a5e1e0493e3a51940cf68db96 Mon Sep 17 00:00:00 2001 From: dsengupta0628 Date: Wed, 4 Mar 2026 21:08:23 +0000 Subject: [PATCH] Revert "Fix more MT issues arising from pruneCrprArrival" This reverts pruneCrprArrival changes commit fa9d1b13c9bc104e363fb7df292a9b964a92d730. --- search/Search.cc | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/search/Search.cc b/search/Search.cc index 6f56b625..f8a9c51d 100644 --- a/search/Search.cc +++ b/search/Search.cc @@ -1449,16 +1449,9 @@ ArrivalVisitor::pruneCrprArrivals() Arrival arrival = tag_bldr_->arrival(path_index); // Latch D->Q path uses enable min so crpr clk path min/max // does not match the path min/max. - // Use crprClkPathRaw() rather than crprClkPath() to avoid going - // through Path::vertexPath(), which can transiently return nullptr - // during a concurrent setVertexArrivals() tag-group transition. - // The min/max is a property of the tag (tag_index_), which is - // stable for the lifetime of the ClkInfo object. - const Path *crpr_clk_path_no_crpr = clk_info_no_crpr->crprClkPathRaw(); - if (crpr_clk_path_no_crpr - && delayGreater(max_arrival_max_crpr, arrival, min_max, this) - && crpr_clk_path_no_crpr->minMax(this) - == clk_info->crprClkPathRaw()->minMax(this)) { + if (delayGreater(max_arrival_max_crpr, arrival, min_max, this) + && clk_info_no_crpr->crprClkPath(this)->minMax(this) + == clk_info->crprClkPath(this)->minMax(this)) { debugPrint(debug_, "search", 3, " pruned %s", tag->to_string(this).c_str()); path_itr = path_index_map.erase(path_itr);