Skip to content

Sta latest 0609#370

Open
dsengupta0628 wants to merge 17 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:sta_latest_0609
Open

Sta latest 0609#370
dsengupta0628 wants to merge 17 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:sta_latest_0609

Conversation

@dsengupta0628

Copy link
Copy Markdown
Contributor

Merge from upstream 6/9. Had one commit of mine that is reverted too. Needs some test updation as a few function signatures changed. Same reason OpenROAD compilation fails- will land that in a separate PR

James Cherry and others added 12 commits May 28, 2026 09:31
Signed-off-by: James Cherry <cherry@CerezoBook.local>
Signed-off-by: James Cherry <cherry@CerezoBook.local>
Signed-off-by: James Cherry <cherry@CerezoBook.local>
Signed-off-by: James Cherry <cherry@CerezoBook.local>
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
Signed-off-by: James Cherry <cherry@CerezoBook.local>
Signed-off-by: James Cherry <cherry@CerezoBook.local>
* Use DynamicLatch in DispatchQueue to avoid main thread spinning

Replace the busy-yielding pending_task_count_ loop in DispatchQueue::finishTasks
with a blocking DynamicLatch. This avoids having the main thread consume CPU
cycles while waiting for dispatched tasks to complete.

The DynamicLatch implementation uses C++20 std::atomic::wait/notify_all for
efficient blocking and wakeup, with proper release-acquire semantics to ensure
task results are visible to the waiting thread.

* Reformat DynamicLatch to match DispatchQueue style

* Update attribution headers in DispatchQueue files to note modifications
Signed-off-by: James Cherry <cherry@CerezoBook.local>
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
@dsengupta0628 dsengupta0628 self-assigned this Jun 9, 2026
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 3 committers have signed the CLA.

✅ dsengupta0628
❌ James Cherry
❌ calewis


James Cherry seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces support for Ubuntu 24.04, updates macOS Homebrew TCL path detection, replaces spinning in DispatchQueue with a C++20 DynamicLatch, optimizes path group lookups, and adds custom precision formatting to reportArrivals. Feedback on these changes includes adding g++ to the new Dockerfile to prevent build failures, passing this instead of network_edit_ in SdcNetwork::makePort to avoid potential null pointer dereferences, sorting #include headers lexicographically in DispatchQueue.hh, and removing a redundant double semicolon in PathGroup.cc.

Comment thread Dockerfile.ubuntu24.04
git \
wget \
cmake \
gcc \

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The package list includes gcc but is missing g++ (or build-essential). Since OpenSTA is a C++ project, the build will fail during the CMake compilation phase if a C++ compiler is not installed. Please add g++ to the package list.

    gcc \\
    g++ \\

Comment thread network/SdcNetwork.cc
SdcNetwork::makePort(Cell *cell,
std::string_view name)
{
std::string escaped_name = escapeDividerBrackets(name, network_edit_);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Passing network_edit_ to escapeDividerBrackets is risky because network_edit_ can be nullptr if the adapted network is not editable. Since escapeDividerBrackets only needs the Network interface (to query pathDivider() and pathEscape()), you should pass this instead of network_edit_. This is also consistent with how escapeDividerBrackets is called in makeInstance and makeNet.

  std::string escaped_name = escapeDividerBrackets(name, this);

Comment on lines +11 to 12
#include <cstddef>
#include <condition_variable>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

According to the repository style guide, #include lines must be sorted lexicographically by the path inside <> or "". Alphabetically, <condition_variable> should come before <cstddef>.

Suggested change
#include <cstddef>
#include <condition_variable>
#include <condition_variable>\n#include <cstddef>
References
  1. Sort #include lines lexicographically by the path inside <> or "" (case-sensitive). (link)

Comment thread search/PathGroup.cc
? path_delay_group_name_
: group_path->name();
if (path_group_name == group_name)
return true;;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There is a redundant double semicolon ;; at the end of the return true statement. Please remove the extra semicolon.

        return true;

@dsengupta0628

Copy link
Copy Markdown
Contributor Author

Not addressing any of Gemini's concerns as these came from upstream and don't really seem like breaking anything.

@dsengupta0628

Copy link
Copy Markdown
Contributor Author

Corresponding OpenROAD PR The-OpenROAD-Project/OpenROAD#10626

dsengupta0628 and others added 5 commits June 9, 2026 20:55
* Address a few typos in docs

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>

* update help string for report_checks to reflect variation

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>

---------

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
Signed-off-by: James Cherry <cherry@CerezoBook.local>
@dsengupta0628

Copy link
Copy Markdown
Contributor Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants