sync#2
Open
nanocoh wants to merge 1671 commits into
Open
Conversation
grt: bound soft-NDR overflow-loop restarts (#8466)
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
pdn: add check for instance halo to ensure it does not overlap rows
…ROAD into grt_cugr_logs
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
syn: link syn_lib into npn_test to resolve Synthesis::dontUse
Add "Macros to be placed" count to MPL design-data summary
Fixes #8610 Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
…_FOR_BAZEL_TESTS rm unused MANUAL_FOR_BAZEL_TESTS
Previously openroad just segfaulted on startup due to a tcmalloc incompatibility. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
grt: add verbose option to CUGR and silence it during incremental
Correct bazel's asan build to use the right malloc library
gpl: opt-in GPU acceleration via Kokkos
dpl: remove universal cell height assumption
Restores the previous semantics. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
…no-straps pdn: do not consider the strap width in the halo check.
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: osamahammad21 <osama@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
…acros Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
…cros Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
…igration Migrate to Bazel 9
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
…r-design-reroute RSZ: repair design reroute for slew fix
The tst Fixture unconditionally created a dbSta instance, so every test that used it linked OpenSTA + dbSta even when it only manipulated an odb database (e.g. the odb helper-based tests). OpenSTA/dbSta debug symbols dominate those binaries (~160 MB each). Split Fixture into a base tst::DbFixture (tst/db_fixture.h, odb-only: db manipulation, LEF tech loading, file lookup) and a derived tst::Fixture (tst/fixture.h) that adds the dbSta/OpenSTA instance, readLiberty, and the LEF library loaders that notify STA. The base lives in a new tst_base library (//src/tst:db_fixture in Bazel) that does not link STA. odb DB-only tests and SimpleDbFixture now derive from DbFixture and link tst_base; STA consumers (PDK fixtures, IntegratedFixture, rsz/dbSta/est tests) are unchanged. Mirrored in Bazel. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
…d-fields rcx: rm ununsed fields in dbCreateNetUtil
NesterovBase::getDensityGradient re-fetched three loop-invariant values on every inner bin iteration: getBinCntX() (two non-inlined .cpp calls), bg_.getBinsConst(), and gCell->getDensityScale(). Hoist them to locals before the loop and index a raw const Bin* base pointer. Arithmetic-neutral: identical loop nesting, operands, and accumulation order, so placement output is bit-identical. Verified the three values are not mutated inside the loop (binCntX_ member, bins_ not realloced, densityScale_ on the const gCell param). medium03 global_placement (DEF read excluded), 3 runs each on a shared 36-core host, -j8 Release: before median 199910 ms, after median 185648 ms (~7.1%, within run noise). QoR bit-identical: iter 486, overflow 0.0994, HPWL 1.162648e+06 unchanged. gpl ctest suite 65/65 green (log-compare enforces identical output). Signed-off-by: Saurav Singh <saurav.singh@fermions.co>
Debug info dominates the size of these binaries (template-heavy C++; TestAccessPoint was ~97% DWARF). Enable -gz=zlib for GNU/Clang in the Debug and RelWithDebInfo configs, at both compile and link, to compress the .debug_* sections. This is transparent to gdb/lldb/readelf/addr2line and a no-op for builds without -g (e.g. Release). TestAccessPoint drops 330 MB -> 89 MB (-73%). Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
The default bazel build is -c opt with no -g, so it carries no debug info. The asan and profile configs add -g (and keep symbols via --strip=never), so their binaries carry DWARF that benefits from compression, mirroring the CMake -gz change. Add -gz=zlib (compile + link) to the asan and profile configs. It is transparent to gdb/perf/addr2line. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
The tst_base fixture library links GTest::gtest, but that imported target only exists when find_package(GTest) runs, which is guarded by ENABLE_TESTS. add_subdirectory(tst) was unconditional, so a -no-tests build failed at generate time with 'Target tst_base links to GTest::gtest but the target was not found'. Guard add_subdirectory(tst) with ENABLE_TESTS. This is safe because every consumer of tst/tst_base/tst_integrated_fixture lives in a test/cpp directory that is itself gated by ENABLE_TESTS. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
…minimal-deps Trim odb test binary bloat: minimal deps, fixture split, debug compression
GlobalRouter::removeNet only erased the net from dirty_nets_ in the FastRoute (non-CUGR) branch. When use_cugr_ is true, a net destroyed during incremental routing stayed in dirty_nets_, so updateDirtyRoutes later passed the dangling dbNet to CUGR::updateNet, which dereferenced it via Design::updateNet (db_net->getSigType()). In release builds (NDEBUG) this use-after-free is silent, so grt.incremental_deleted_net.tcl passed. With assertions enabled (coverage / RELEASEWITHASSERTS builds) the stale sig type tripped dbSigType::isSupply()'s assert(false) and aborted. Move the dirty_nets_.erase to run for both routers. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
…dirty-net-destroy grt: erase destroyed net from dirty set in CUGR path
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
SteinerTreeBuilder stored a dbDatabase* that was never used. Remove the constructor parameter and the db_ member, and update the callers (OpenRoad::init and the gpl mbff unit test) to match. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
The dependabot bump to v3.1.0 (30efff6) regressed contributor detection. v3 OR-combines isFirstIssue and isFirstPullRequest on every event, and the PR check dropped author filtering. As a result, any contributor who has opened PRs but no plain issue in the repo is greeted as a first-time PR author (upstream actions/first-interaction#369). v1.3.0 branches on event type and matches PRs by author, so it does not misfire. Pin back to v1.3.0 and restore its kebab-case input names. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
…unused-db-param stt: drop unused dbDatabase* from SteinerTreeBuilder
…bCallBack-network_ rsz: rm unused OdbCallBack::network_
…rst-interaction-v1 ci: revert first-interaction to v1.3.0 (fix false first-PR greetings)
gpl: hoist loop-invariant accessors in getDensityGradient (bit-identical)
…ings Enable the external_include_paths toolchain feature so include paths into external/ (bzlmod/BCR deps) are passed as -isystem instead of -I. Clang suppresses diagnostics from system headers, so this silences warnings from ALL third-party headers pulled into our TUs via template instantiation (boost, Eigen, googletest, ...) at the source -- no per-warning, per-dep -Wno list to maintain. The existing '.*external/.*@-w' per_file_copt only covers compiling external *source* files, not their headers included by ours. The feature is global (target and exec config) and also demotes a from-source dep's own -iquote entries to -isystem. Two deps need adjusting so their own quoted includes keep precedence over glibc/system headers: - git (built as an exec tool for the lint tests): builtin/get-tar-commit-id.c includes git's own tar.h (struct ustar_header, TYPEFLAG_GLOBAL_HEADER), which must shadow glibc's <tar.h>. Patch GIT_COPTS to re-add the repo root as -iquote. Same class of fix as the existing bison/sed/gawk/m4 overrides. - qt-bazel: external_include_paths moves Qt's include dirs into compilation_context.external_includes, which the moc rule did not gather. Bump to 541ebf6d, which teaches moc to also collect external_includes. A full 'bazel build //...' passes; no other from-source dep (abc, yosys, or-tools, ...) needed changes. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
…IpChecker-sta_ dbsta: rm unused IpChecker::sta_
…ernal-include-paths bazel: pass external headers as -isystem to silence third-party warnings
This test is listed in src/dpl/test/CMakeLists.txt but was missing from the Bazel BUILD file, so it only ran under CMake. Add it to COMPULSORY_TESTS to restore CMake/Bazel parity. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
…-multi-height-power-align dpl: register multi_height_power_align regression test in Bazel
Make Bazel the default build system in etc/Build.sh: - Bazel is now the default; -cmake-build selects CMake instead. - -bazel is kept as a deprecated no-op (emits a warning). - Gate CMake-only setup (macOS brew deps, cmake/bison/flex/swig and compiler checks) behind the CMake path; add a bazelisk/bazel launcher pre-check for Bazel builds. - -compiler and -cpp20 no longer apply to Bazel: -compiler warns and is ignored, and -cpp20 is now a deprecated no-op for both build systems (C++20 is already the default). - Drop the unconditional --config=opt for Bazel (large link-time penalty); add -lto to opt into it. Default Bazel builds still compile with -c opt from .bazelrc. - Bazel builds now install via //:install, using -local/-prefix when given or install.sh's default location otherwise. CMake install behavior is unchanged (only on -local/-prefix). Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
- Make a relative -prefix path absolute so bazel run //:install (which resolves its argument from the runfiles dir) installs to the intended location. - Fix the missing-bazel error message to point at './etc/DependencyInstaller.sh -bazel' (with sudo only on Linux). Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
Signed-off-by: Henner Zeller <h.zeller@acm.org>
…bazel-default Build.sh: default to Bazel, keep CMake via -cmake-build
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
[Describe your changes here]
Type of Change
Impact
[How does this change the tool's behavior?]
Verification
./etc/Build.sh).Related Issues
[Link issues here]