inlining a call of clkPathPrev(Vertex *vertex, int arrival_index)
removing redundant conditions
returning the result of clkPathPrev(const PathVertex *path, PathVertex &tmp) only by reference
This loop is repeated over 500 million times in case of black_parrot design. The changes mentioned above give ~3.5% performance gain on grt stage.
I compared the times of 10 runs of grt stage only:
Issues or PRs should be filed with https://github.com/parallaxsw/OpenSTA if still relevant. This is effectively a fork (though not strictly for historical reasons).
This is done by:
clkPathPrev(Vertex *vertex, int arrival_index)
clkPathPrev(const PathVertex *path, PathVertex &tmp)
only by reference