report_checks -unique_edges resolves #354
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
0429ac324b
commit
dda887bc6e
|
|
@ -415,7 +415,9 @@ PathEnumFaninVisitor::visitFromToPath(const Pin *,
|
||||||
{
|
{
|
||||||
// These paths fanin to before_div_ so we know to_vertex matches.
|
// These paths fanin to before_div_ so we know to_vertex matches.
|
||||||
if ((!unique_pins_ || from_vertex != prev_vertex_)
|
if ((!unique_pins_ || from_vertex != prev_vertex_)
|
||||||
&& (!unique_edges_ || from_rf != prev_arc_->fromEdge()->asRiseFall())
|
&& (!unique_edges_
|
||||||
|
|| from_vertex != prev_vertex_
|
||||||
|
|| from_rf != prev_arc_->fromEdge()->asRiseFall())
|
||||||
&& arc != prev_arc_
|
&& arc != prev_arc_
|
||||||
&& Tag::matchNoCrpr(to_tag, before_div_tag_)
|
&& Tag::matchNoCrpr(to_tag, before_div_tag_)
|
||||||
// Ignore paths that only differ by crpr from same vertex/edge.
|
// Ignore paths that only differ by crpr from same vertex/edge.
|
||||||
|
|
@ -440,10 +442,26 @@ PathEnumFaninVisitor::visitFromToPath(const Pin *,
|
||||||
if (crpr_active_)
|
if (crpr_active_)
|
||||||
visited_fanins_.emplace(from_vertex, arc);
|
visited_fanins_.emplace(from_vertex, arc);
|
||||||
}
|
}
|
||||||
else
|
else {
|
||||||
debugPrint(debug_, "path_enum", 3, " pruned %s %s",
|
if (debug_->check("path_enum", 3)) {
|
||||||
edge->to_string(this).c_str(),
|
bool unique_pins = !(!unique_pins_ || from_vertex != prev_vertex_);
|
||||||
arc->to_string().c_str());
|
bool unique_edges = !(!unique_edges_
|
||||||
|
|| from_rf != prev_arc_->fromEdge()->asRiseFall());
|
||||||
|
bool same_arc = !(arc != prev_arc_);
|
||||||
|
bool tag_march = !Tag::matchNoCrpr(to_tag, before_div_tag_);
|
||||||
|
bool crpr = !(!crpr_active_
|
||||||
|
|| visited_fanins_.find({from_vertex, arc})
|
||||||
|
== visited_fanins_.end());
|
||||||
|
debugPrint(debug_, "path_enum", 3, " pruned %s%s%s%s%s %s %s",
|
||||||
|
unique_pins ? "unique_pins " : "",
|
||||||
|
unique_edges ? "unique_edges " : "",
|
||||||
|
same_arc ? "same_arc " : "",
|
||||||
|
tag_march ? "tag_march " : "",
|
||||||
|
crpr ? "crpr " : "",
|
||||||
|
edge->to_string(this).c_str(),
|
||||||
|
arc->to_string().c_str());
|
||||||
|
}
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue