Skip to content

yosys@0.64#8862

Merged
UebelAndre merged 3 commits into
bazelbuild:mainfrom
oharboe:yosys-0.64
May 26, 2026
Merged

yosys@0.64#8862
UebelAndre merged 3 commits into
bazelbuild:mainfrom
oharboe:yosys-0.64

Conversation

@oharboe

@oharboe oharboe commented May 13, 2026

Copy link
Copy Markdown
Contributor

Adds yosys 0.64 to BCR.

Overlay changes vs 0.62.bcr.2 required for v0.64 source layout:

  • VERSION = "0.64" in overlay/BUILD.bazel.
  • passes/opt/opt_clean.cc is split upstream into the directory
    passes/opt/opt_clean/. The pass_opt cc_library now lists the
    per-file split (cells_all.cc, cells_temp.cc, inits.cc,
    opt_clean.cc, wires.cc) and exposes opt_clean.h +
    keep_cache.h via textual_hdrs.
  • New kernel header kernel/newcelltypes.h added to kernel's hdrs.
  • New passes/equiv/equiv.h (introduced in v0.63) added to pass_equiv
    textual_hdrs (carried forward from the yosys@0.63 PR).
  • Inner and outer MODULE.bazel version bumped to 0.64.

Patches:

  • tcl9_mp_to_ubin.patch — verbatim from 0.62.bcr.2, applies clean.
  • use_cxxopt_module.patch — context line refresh. v0.64 adds
    #include <chrono> after #include <iostream>, so the trailing
    context of the existing hunk was updated (otherwise applies with
    --fuzz 2, which BCR's --fuzz 0 validation rejects).

source.json refreshed: v0.64 tarball integrity + new sha256 for
BUILD.bazel, overlay/MODULE.bazel, and use_cxxopt_module.patch.

Local verification: bazelisk run @yosys//:yosys -- -V against this
fork branch as a custom registry prints Yosys 0.64.

tools/bcr_validation.py --check yosys@0.64 passes all checks.

Stacks on top of #8861 (yosys@0.63) — metadata.json edit may need
rebase once #8861 lands.

Upstream release notes:
https://github.com/YosysHQ/yosys/releases/tag/v0.64

Adds yosys 0.64 to BCR.

Overlay changes vs 0.62.bcr.2 needed for v0.64 source layout:

- `VERSION = "0.64"` in `overlay/BUILD.bazel`.
- `passes/opt/opt_clean.cc` split upstream into the directory
  `passes/opt/opt_clean/` — list `cells_all.cc`, `cells_temp.cc`,
  `inits.cc`, `opt_clean.cc`, `wires.cc` instead, and add
  `opt_clean.h` + `keep_cache.h` to `pass_opt` textual_hdrs.
- Add `kernel/newcelltypes.h` to the kernel cc_library's hdrs.
- Both inner and outer `MODULE.bazel` version bumped to 0.64.

Patch changes:

- `tcl9_mp_to_ubin.patch` — applies clean (verbatim from 0.62.bcr.2).
- `use_cxxopt_module.patch` — context line refresh: v0.64 adds
  `#include <chrono>` immediately after `#include <iostream>`, so the
  hunk's bottom context needed to be updated (otherwise applies with
  `--fuzz 2`, which BCR validation rejects).

source.json refreshed: v0.64 tarball integrity, new BUILD.bazel /
MODULE.bazel / use_cxxopt patch sha256s.

`tools/bcr_validation.py --check yosys@0.64` passes all checks.

Upstream release notes:
https://github.com/YosysHQ/yosys/releases/tag/v0.64

Signed-off-by: Øyvind Harboe <oyvind@ascenium.com>
@bazel-io

Copy link
Copy Markdown
Member

Hello @UebelAndre, modules you maintain (yosys) have been updated in this PR.
Please review the changes. You can view a diff against the previous version in the "Generate module diff" check.

@oharboe oharboe mentioned this pull request May 13, 2026
Add threading_includes.patch to unconditionally include <mutex>,
<condition_variable>, and <thread> in kernel/threading.h. v0.64's
work-steal queue (ConcurrentWorkQueue::wait_for_work, line ~635)
uses std::unique_lock unconditionally, but the headers are gated
behind #ifdef YOSYS_ENABLE_THREADS. On non-threaded builds (BCR
overlay does not define YOSYS_ENABLE_THREADS), gcc 13+ rejects this
with:

    'std::unique_lock' is not a member of 'std' [-Wtemplate-body]

Reproduced locally on bazel 8.x with system gcc; BCR presubmit on
ubuntu 22.04 / 24.04 / debian13 / arm64 confirmed the same.
ubuntu20.04 (gcc 9) was lenient enough to compile despite the
missing include, hence the partial CI pass.

Signed-off-by: Øyvind Harboe <oyvind@ascenium.com>
oharboe added a commit to oharboe/bazel-central-registry that referenced this pull request May 13, 2026
v0.65 carries v0.64's work-steal queue with the same unconditional
std::unique_lock use outside YOSYS_ENABLE_THREADS. Mirror PR bazelbuild#8862's
threading_includes.patch fix here so non-threaded gcc 13+ builds
compile.

Signed-off-by: Øyvind Harboe <oyvind@ascenium.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
@oharboe

oharboe commented May 18, 2026

Copy link
Copy Markdown
Contributor Author

@UebelAndre Do you need anything else from me? Thanks!

@oharboe

oharboe commented May 26, 2026

Copy link
Copy Markdown
Contributor Author

@MrAMS Is this something you could review?

@MrAMS

MrAMS commented May 26, 2026

Copy link
Copy Markdown
Contributor

@MrAMS Is this something you could review?

Unfortunately, I'm not a maintainer of this module. 😢

@UebelAndre UebelAndre left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Sorry for the delay, looks good!

@UebelAndre UebelAndre merged commit 1d03b6b into bazelbuild:main May 26, 2026
35 checks passed
@oharboe

oharboe commented May 26, 2026

Copy link
Copy Markdown
Contributor Author

Sorry for the delay, looks good!

😌

There are a couple more versions for abc and yosys, could you look at those too?

oharboe added a commit to oharboe/bazel-central-registry that referenced this pull request May 26, 2026
Adds yosys 0.65 to BCR.

Overlay changes vs 0.64 for v0.65 source layout:

- `VERSION = "0.65"` in `overlay/BUILD.bazel`.
- New kernel header `kernel/wallace_tree.h` added to kernel `hdrs`.
- New `passes/techmap/arith_tree.cc` added to `pass_techmap` srcs.
- New `passes/techmap/liberty_cache.h` added to `pass_techmap` hdrs.
- Inner and outer `MODULE.bazel` version bumped to 0.65.

Patches:

- `tcl9_mp_to_ubin.patch` — applies clean (verbatim from 0.64).
- `use_cxxopt_module.patch` — applies clean (verbatim from 0.64).

source.json refreshed: v0.65 tarball integrity + new sha256s for
BUILD.bazel and overlay/MODULE.bazel.

`tools/bcr_validation.py --check yosys@0.65` passes all checks.

Stacks on top of bazelbuild#8862 (yosys@0.64) — metadata.json edit may need
rebase once bazelbuild#8861/bazelbuild#8862 land.

Upstream release notes:
https://github.com/YosysHQ/yosys/releases/tag/v0.65

Signed-off-by: Øyvind Harboe <oyvind@ascenium.com>
oharboe added a commit to oharboe/bazel-central-registry that referenced this pull request May 26, 2026
v0.65 carries v0.64's work-steal queue with the same unconditional
std::unique_lock use outside YOSYS_ENABLE_THREADS. Mirror PR bazelbuild#8862's
threading_includes.patch fix here so non-threaded gcc 13+ builds
compile.

Signed-off-by: Øyvind Harboe <oyvind@ascenium.com>
oharboe added a commit to The-OpenROAD-Project/bazel-orfs that referenced this pull request May 26, 2026
yosys 0.64 (bazelbuild/bazel-central-registry#8862) has landed in
official BCR. No fork-registry fallback is needed; Bazel's default
registry (BCR) covers all module versions referenced here.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
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.

4 participants