path enum small speedups
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
8f0a5e7451
commit
4781e5b692
|
|
@ -555,13 +555,13 @@ PathEnum::makeDivertedPath(Path *path,
|
|||
prev_copy->setPrevPath(copy);
|
||||
copies.push_back(copy);
|
||||
|
||||
if (Path::equal(p, after_div, this))
|
||||
if (p == after_div)
|
||||
after_div_copy = copy;
|
||||
if (first)
|
||||
div_path = copy;
|
||||
else if (network_->isLatchData(p->pin(this)))
|
||||
break;
|
||||
if (Path::equal(p, before_div, this)) {
|
||||
if (p == before_div) {
|
||||
// Replaced on next pass.
|
||||
copy->setPrevPath(after_div);
|
||||
copy->setPrevEdgeArc(div_edge, div_arc, this);
|
||||
|
|
@ -603,12 +603,14 @@ PathEnum::updatePathHeadDelays(PathSeq &paths,
|
|||
delayAsString(arrival, this));
|
||||
path->setArrival(arrival);
|
||||
prev_arrival = arrival;
|
||||
const Tag *tag = path->tag(this);
|
||||
const ClkInfo *clk_info = tag->clkInfo();
|
||||
if (sdc_->crprActive()
|
||||
&& clk_info != prev_clk_info
|
||||
// D->Q paths use the EN->Q clk info so no need to update.
|
||||
&& arc->role() != TimingRole::latchDtoQ()) {
|
||||
// When crpr is enabled the diverion may be from another crpr clk pin,
|
||||
// so update the tags to use the corresponding ClkInfo.
|
||||
Tag *tag = path->tag(this);
|
||||
Tag *updated_tag = search_->findTag(path->transition(this),
|
||||
path_ap,
|
||||
prev_clk_info,
|
||||
|
|
|
|||
Loading…
Reference in New Issue