Skip to content

Commit 8deea6f

Browse files
dev-minjaeclaude
andcommitted
Merge branch 'master' into gpl-gpu-fft
Bring the PR branch up to date with master to clear the merge conflict. Three gpl files conflicted, all adjacent additions with no logical overlap: - src/gpl/BUILD: keep both new srcs entries (clockBase + densityGradient) - src/gpl/src/nesterovBase.cpp: keep both new includes - src/gpl/src/nesterovPlace.cpp: keep both post-loop calls -- master's removeVirtualCts and the GPU host net-box mirror (mirror after the CTS removal so any host consumer sees the final state). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Minjae Kim <develop.minjae@gmail.com>
2 parents 7b60252 + caad1d9 commit 8deea6f

895 files changed

Lines changed: 1371436 additions & 1279481 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.bazelrc

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
common --enable_bzlmod
2-
# sv-lang 10.0.bcr.2 (slang at f04e8156 with the foreign_cc cmake -xc++
3-
# fix) is pending upstream as a PR against bazelbuild/bazel-central-
4-
# registry: https://github.com/bazelbuild/bazel-central-registry/pull/8987
5-
# Remove this registry line once the version lands on BCR.
6-
common --registry=https://raw.githubusercontent.com/oharboe/bazel-central-registry/1beaf797951046d93a2f656d4238c954a21833e5/
7-
common --registry=https://bcr.bazel.build/
2+
3+
# abc is driven programmatically by OpenROAD, so skip the interactive
4+
# readline dependency exposed by abc@0.64-yosyshq.bcr.2.
5+
common --@abc//:use_readline=false
86
build --workspace_status_command=tools/workspace_status.sh
97

108
# Release builds embed real git version info; dev builds use cache-safe placeholders.
@@ -46,6 +44,16 @@ build --cxxopt=-fexceptions --host_cxxopt=-fexceptions
4644
build --copt "-Wall" --host_copt "-Wall"
4745
build --copt "-Wextra" --host_copt "-Wextra"
4846

47+
# Treat specific warnings as errors
48+
build --copt "-Werror=array-bounds" --host_copt "-Werror=array-bounds"
49+
build --copt "-Werror=dangling" --host_copt "-Werror=dangling"
50+
build --copt "-Werror=dangling-assignment" --host_copt "-Werror=dangling-assignment"
51+
build --copt "-Werror=dangling-assignment-gsl" --host_copt "-Werror=dangling-assignment-gsl"
52+
build --copt "-Werror=dangling-field" --host_copt "-Werror=dangling-field"
53+
build --copt "-Werror=dangling-gsl" --host_copt "-Werror=dangling-gsl"
54+
build --copt "-Werror=fortify-source" --host_copt "-Werror=fortify-source"
55+
build --copt "-Werror=return-stack-address" --host_copt "-Werror=return-stack-address"
56+
4957
# ... and disable the warnings we're not interested in.
5058
build --copt "-Wno-sign-compare" --host_copt "-Wno-sign-compare"
5159
build --copt "-Wno-unused-parameter" --host_copt "-Wno-unused-parameter"
@@ -69,7 +77,6 @@ build --copt "-Wno-cast-function-type-mismatch" --host_copt "-Wno-cast-function
6977
build --copt "-Wno-unused-but-set-variable" --host_copt "-Wno-unused-but-set-variable"
7078
build --cxxopt "-Wno-deprecated-copy" --host_cxxopt "-Wno-deprecated-copy"
7179
build --cxxopt "-Wno-deprecated-copy-with-user-provided-copy" --host_cxxopt "-Wno-deprecated-copy-with-user-provided-copy"
72-
build --cxxopt "-Wno-dangling" --host_cxxopt "-Wno-dangling"
7380

7481
# For 3rd party code: Disable warnings entirely.
7582
# They are not actionable and just create noise.

.readthedocs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ build:
1515
- libasound2
1616
- graphviz
1717
tools:
18-
python: "3.7"
18+
python: "3.10"
1919
nodejs: "16"
2020
jobs:
2121
post_install:

BUILD.bazel

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ OPENROAD_COPTS = [
143143

144144
OPENROAD_DEFINES = [
145145
"BUILD_TYPE=\\\"$(COMPILATION_MODE)\\\"",
146+
"BAZEL_BUILD",
146147
"GPU=false",
147148
"BUILD_PYTHON=false",
148149
"ABC_NAMESPACE=abc",
@@ -178,7 +179,6 @@ cc_library(
178179
# headers to consumers, so direct binary deps are what each Main.cc
179180
# include needs to see.
180181
OPENROAD_MAIN_DEPS = [
181-
":openroad_version",
182182
":ord",
183183
":tcl_readline_setup",
184184
"//bazel:tcl_library_init",
@@ -188,7 +188,6 @@ OPENROAD_MAIN_DEPS = [
188188
"//src/web",
189189
"@abseil-cpp//absl/base:no_destructor",
190190
"@boost.stacktrace",
191-
"@rules_cc//cc/runfiles", # sets BAZEL_CURRENT_REPOSITORY
192191
"@tcl_lang//:tcl",
193192
]
194193

@@ -549,10 +548,14 @@ build_test(
549548
sh_test(
550549
name = "lint_tcl_test",
551550
srcs = ["//bazel:tcl_lint_test.sh"],
552-
args = ["$(rootpath //bazel:tclint)"],
551+
args = [
552+
"$(rootpath //bazel:tclint)",
553+
"$(rootpath @git)",
554+
],
553555
data = [
554556
"tclint.toml",
555557
"//bazel:tclint",
558+
"@git",
556559
],
557560
tags = ["local"],
558561
)
@@ -563,10 +566,14 @@ sh_test(
563566
sh_test(
564567
name = "fmt_tcl_test",
565568
srcs = ["//bazel:tcl_fmt_test.sh"],
566-
args = ["$(rootpath //bazel:tclfmt)"],
569+
args = [
570+
"$(rootpath //bazel:tclfmt)",
571+
"$(rootpath @git)",
572+
],
567573
data = [
568574
"tclint.toml",
569575
"//bazel:tclfmt",
576+
"@git",
570577
],
571578
tags = ["local"],
572579
)
@@ -590,10 +597,14 @@ sh_binary(
590597
sh_test(
591598
name = "lint_bzl_test",
592599
srcs = ["//bazel:bzl_lint_test.sh"],
593-
args = ["$(rootpath @buildifier_prebuilt//:buildifier)"],
600+
args = [
601+
"$(rootpath @buildifier_prebuilt//:buildifier)",
602+
"$(rootpath @git)",
603+
],
594604
data = [
595605
"MODULE.bazel",
596606
"@buildifier_prebuilt//:buildifier",
607+
"@git",
597608
],
598609
tags = ["local"],
599610
)
@@ -604,10 +615,14 @@ sh_test(
604615
sh_test(
605616
name = "fmt_bzl_test",
606617
srcs = ["//bazel:bzl_fmt_test.sh"],
607-
args = ["$(rootpath @buildifier_prebuilt//:buildifier)"],
618+
args = [
619+
"$(rootpath @buildifier_prebuilt//:buildifier)",
620+
"$(rootpath @git)",
621+
],
608622
data = [
609623
"MODULE.bazel",
610624
"@buildifier_prebuilt//:buildifier",
625+
"@git",
611626
],
612627
tags = ["local"],
613628
)

CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ set(CMAKE_CXX_EXTENSIONS OFF)
8181

8282
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
8383

84+
set_property(DIRECTORY PROPERTY TEST_DISCOVERY_TIMEOUT 60)
85+
8486
# Get version string in OPENROAD_VERSION
8587
if(NOT OPENROAD_VERSION)
8688
include(GetGitRevisionDescription)

MODULE.bazel

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,23 @@ module(
77

88
# --- Regular dependencies (propagated to downstream consumers via MVS) ---
99

10-
bazel_dep(name = "abc", version = "0.64-yosyshq.bcr.1")
10+
bazel_dep(name = "abc", version = "0.64-yosyshq.bcr.2")
11+
12+
# Patch abc's non-readline prompt path to flush stdout and exit on EOF.
13+
# Without this, yosys's coprocess driver (which waits for the "abc NN> "
14+
# prompt over a pipe) deadlocks when abc is built with use_readline=false.
15+
# Drop this override once the fix is in a published BCR abc release.
16+
single_version_override(
17+
module_name = "abc",
18+
patch_strip = 1,
19+
patches = [
20+
"//bazel/abc-patches:0001-mainUtils-flush-prompt-and-handle-eof-without-readline.patch",
21+
],
22+
)
23+
1124
bazel_dep(name = "abseil-cpp", version = "20260107.1")
1225
bazel_dep(name = "bazel_skylib", version = "1.7.1")
13-
bazel_dep(name = "coin-or-lemon", version = "1.3.1")
26+
bazel_dep(name = "coin-or-lemon", version = "1.3.1.bcr.1")
1427
bazel_dep(name = "platforms", version = "1.0.0")
1528
bazel_dep(name = "rules_bison", version = "0.3.1")
1629
bazel_dep(name = "rules_cc", version = "0.2.18")
@@ -63,11 +76,12 @@ bazel_dep(name = "boost.utility", version = BOOST_VERSION)
6376
bazel_dep(name = "cudd", version = "3.0.0.bcr.2")
6477
bazel_dep(name = "eigen", version = "3.4.0.bcr.3")
6578
bazel_dep(name = "fmt", version = "11.2.0.bcr.1")
79+
bazel_dep(name = "git", version = "2.54.0")
6680
bazel_dep(name = "googletest", version = "1.17.0.bcr.2")
6781
bazel_dep(name = "openmp", version = "21.1.5.bcr.1")
6882
bazel_dep(name = "or-tools", version = "9.15")
6983
bazel_dep(name = "spdlog", version = "1.15.1")
70-
bazel_dep(name = "sv-lang", version = "10.0.bcr.2")
84+
bazel_dep(name = "sv-lang", version = "10.0.1-20260316-f04e8156")
7185
bazel_dep(name = "tcl_lang", version = "9.0.2.bcr.1")
7286
bazel_dep(name = "tcmalloc", version = "0.0.0-20250927-12f2552")
7387
bazel_dep(name = "yaml-cpp", version = "0.9.0")
@@ -144,18 +158,7 @@ archive_override(
144158
)
145159

146160
bazel_dep(name = "yosys", version = "0.62.bcr.2", dev_dependency = True)
147-
148-
# yosys-slang is not on BCR. Pin to a commit on povik/yosys-slang master
149-
# that has the upstream Bazel build (povik/yosys-slang#310) and the
150-
# slang.so visibility fix (povik/yosys-slang#311). Submodules pull in
151-
# vendored slang and fmt sources.
152-
bazel_dep(name = "yosys-slang", dev_dependency = True)
153-
git_override(
154-
module_name = "yosys-slang",
155-
commit = "7753ea70431d85929292b90c33b32f6dbdb3b048",
156-
init_submodules = True,
157-
remote = "https://github.com/povik/yosys-slang.git",
158-
)
161+
bazel_dep(name = "yosys-slang", version = "0.0.0", dev_dependency = True)
159162

160163
# --- Extensions ---
161164

@@ -252,3 +255,12 @@ single_version_override(
252255
patches = ["//bazel:boost_context_disable_parse_headers.patch"],
253256
version = BOOST_VERSION,
254257
)
258+
259+
# scip 9.2.3's tinycthread uses bare C11 <threads.h> names. Backport
260+
# scipopt/scip@cc917e07 (TNY_ prefix) until a fixed release lands in BCR.
261+
single_version_override(
262+
module_name = "scip",
263+
patch_strip = 1,
264+
patches = ["//bazel:scip_tinycthread_tny_prefix.patch"],
265+
version = "9.2.3",
266+
)

0 commit comments

Comments
 (0)