Skip to content

Parse LLVM options into an explicit global LibraryOptionsContext - #164591

Open
zmodem wants to merge 1 commit into
rust-lang:mainfrom
zmodem:parseCommandLineOptions
Open

zmodem wants to merge 1 commit into
rust-lang:mainfrom
zmodem:parseCommandLineOptions

Conversation

@zmodem

@zmodem zmodem commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

View all comments

LLVM has been refactoring how it stores its internal (-mllvm) options recently, with the goal of getting rid of the global cl::opt objects.

After http://github.com/llvm/llvm-project/pull/233044 LTO passes no longer uses the global options, which would cause codegen-llvm/pgo-counter-bias.rs to fail since it relies on the -runtime-counter-relocation option to get passed to LTO.

Use the C API function LLVMParseCommandLineOptionsWithError which ensures the parsed options are
picked up by new LLVMContexts.

@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Oct 19, 2026
@rustbot

rustbot commented Oct 19, 2026

Copy link
Copy Markdown
Collaborator

r? @cuviper

rustbot has assigned @cuviper.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: @cuviper

@zmodem

zmodem commented Oct 19, 2026

Copy link
Copy Markdown
Contributor Author

@rustbot label llvm-main

@rustbot rustbot added the llvm-main Marks PRs that are making Rust work with LLVM main (this label is consumed by CI tooling) label Oct 19, 2026
@zmodem

zmodem commented Oct 19, 2026

Copy link
Copy Markdown
Contributor Author

r? @nikic

@rustbot rustbot assigned nikic and unassigned cuviper Oct 19, 2026
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@nikic

nikic commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

@MaskRay I'm curious how LibraryOptions is supposed to be adopted incrementally. Ideally, we would be parsing the options per-context -- but while not all options are per-context, the ones which are not would get parsed globally multiple times. That's not (thread) safe, right?

So does that mean that until the global options are entirely gone, we should basically keep using a global LibraryOptions, rather than a per-context (and thus per-thread) one? (That is, do what this PR does?)

@rust-bors

This comment has been minimized.

@durin42
durin42 force-pushed the parseCommandLineOptions branch from ff1387f to e44056b Compare October 28, 2026 15:51
@rustbot

This comment has been minimized.

@durin42

durin42 commented Oct 28, 2026

Copy link
Copy Markdown
Contributor

I rebased this patch so the LLVM/Rust @Head CI can keep passing.

@nikic nikic 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.

Now that llvm/llvm-project#234820 has landed, I wonder if some parts of this have become unnecessary?

I think things would mostly "just work" if we used the C API for option parsing?

View changes since this review

@rust-bors

This comment has been minimized.

@zmodem

zmodem commented Nov 2, 2026

Copy link
Copy Markdown
Contributor Author

I think things would mostly "just work" if we used the C API for option parsing?

Yes, I think so too. Let's close this.

@zmodem zmodem closed this Nov 2, 2026
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Nov 2, 2026
@zmodem

zmodem commented Nov 2, 2026

Copy link
Copy Markdown
Contributor Author

Hmm no, tests/codegen-llvm/pgo-counter-bias.rs still fails without this. I must have had the wrong branch checked out when I tested locally.

I'll start by rebasing this.

@zmodem zmodem reopened this Nov 2, 2026
@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Nov 2, 2026
@zmodem
zmodem force-pushed the parseCommandLineOptions branch from e44056b to ff1387f Compare November 2, 2026 11:23
@rustbot

This comment has been minimized.

chromium-full-mirror-sync-agent Bot pushed a commit to chromium-full-mirror/chromium_src_tools_clang that referenced this pull request Nov 5, 2026
…7044-gc3223914-1 / 8a9dd7abdf013ec10cfeaaa3685feba18ef1c90c-6 : 96a18bf5ffa2b24f9cf3d1c731a9eb121c1acad9-2

https://chromium.googlesource.com/external/github.com/llvm/llvm-project/+log/e063be79..c3223914

https://chromium.googlesource.com/external/github.com/rust-lang/rust/+log/8a9dd7abdf01..96a18bf5ffa2

Ran: tools/clang/scripts/upload_revision.py --no-git

Additional changes included with this roll:
- build.py: disable watchOS/tvOS/visionOS in BUILTINS_CMAKE_ARGS on
  macOS after LLVM 7b1ff3691852 (#234050).
- build_rust.py: cherry-pick rust-lang/rust#164591 for crbug.com/575030918.
- generate_system_modulemap.py: handle 'reflection' in _requires_met()
  after LLVM 6006957c522e (#211653).
- devtools_protocol_browsertest.cc: disable
  DisposeBrowserContextClosesFrozenTabsAcrossTabModelRemoval for
  crbug.com/580985658.

Bug: 576214311
Change-Id: I22101186e285d6f1cd3de6a41ac5886891a03634
Tricium: skip
Include-Ci-Only-Tests: true
Cq-Include-Trybots: chromium/try:android-cronet-riscv64-dbg
Cq-Include-Trybots: chromium/try:android-cronet-riscv64-rel
Cq-Include-Trybots: chromium/try:chromeos-amd64-generic-cfi-thin-lto-rel
Cq-Include-Trybots: chromium/try:fuchsia-arm64-cast-receiver-rel
Cq-Include-Trybots: chromium/try:ios-catalyst,win-asan,android-official
Cq-Include-Trybots: chromium/try:linux-cast-x64-rel
Cq-Include-Trybots: chromium/try:linux-chromeos-dbg
Cq-Include-Trybots: chromium/try:linux-swangle-try-x64,win-swangle-try-x86
Cq-Include-Trybots: chromium/try:linux-v4l2-codec-rel
Cq-Include-Trybots: chromium/try:linux-wayland-mutter-rel
Cq-Include-Trybots: chromium/try:linux-x64-libfuzzer-msan-rel-tests
Cq-Include-Trybots: chromium/try:linux_chromium_cfi_rel_ng
Cq-Include-Trybots: chromium/try:linux_chromium_chromeos_msan_rel_ng
Cq-Include-Trybots: chromium/try:linux_chromium_msan_rel_ng
Cq-Include-Trybots: chromium/try:mac-official,linux-official
Cq-Include-Trybots: chromium/try:mac13-arm64-rel,mac_chromium_asan_rel_ng
Cq-Include-Trybots: chromium/try:mac15-x64-rel-tests
Cq-Include-Trybots: chromium/try:win-official,win32-official
Cq-Include-Trybots: chrome/try:android-arm32-pgo,android-arm64-pgo
Cq-Include-Trybots: chrome/try:android-x64-rel-ready
Cq-Include-Trybots: chrome/try:chromeos-brya-chrome,chromeos-eve-chrome
Cq-Include-Trybots: chrome/try:chromeos-volteer-chrome
Cq-Include-Trybots: chrome/try:iphone-device,ipad-device
Cq-Include-Trybots: chrome/try:linux-chromeos-chrome
Cq-Include-Trybots: chrome/try:linux-pgo,win32-pgo,win64-pgo
Cq-Include-Trybots: chrome/try:win-chrome,win64-chrome,linux-chrome,mac-chrome
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8682176
Commit-Queue: Zequan Wu <[email protected]>
Reviewed-by: Nico Weber <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1734578}
NOKEYCHECK=True
GitOrigin-RevId: dda5e4e23b25032802763bef8e4833b85b084189
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Nov 6, 2026
…it-17044-gc3223914, sub 2)

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/dda5e4e23b25032802763bef8e4833b85b084189

commit dda5e4e23b25032802763bef8e4833b85b084189
Author: Zequan Wu <[email protected]>
Date:   Tue Nov 3 15:58:11 2026 -0800

    Roll clang+rust llvmorg-24-init-14453-ge063be79-1 : llvmorg-24-init-17044-gc3223914-1 / 8a9dd7abdf013ec10cfeaaa3685feba18ef1c90c-6 : 96a18bf5ffa2b24f9cf3d1c731a9eb121c1acad9-2

    https://chromium.googlesource.com/external/github.com/llvm/llvm-project/+log/e063be79..c3223914

    https://chromium.googlesource.com/external/github.com/rust-lang/rust/+log/8a9dd7abdf01..96a18bf5ffa2

    Ran: tools/clang/scripts/upload_revision.py --no-git

    Additional changes included with this roll:
    - build.py: disable watchOS/tvOS/visionOS in BUILTINS_CMAKE_ARGS on
      macOS after LLVM 7b1ff3691852 (#234050).
    - build_rust.py: cherry-pick rust-lang/rust#164591 for crbug.com/575030918.
    - generate_system_modulemap.py: handle 'reflection' in _requires_met()
      after LLVM 6006957c522e (#211653).
    - devtools_protocol_browsertest.cc: disable
      DisposeBrowserContextClosesFrozenTabsAcrossTabModelRemoval for
      crbug.com/580985658.

    Bug: 576214311
    Change-Id: I22101186e285d6f1cd3de6a41ac5886891a03634
    Tricium: skip
    Include-Ci-Only-Tests: true
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-dbg
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-rel
    Cq-Include-Trybots: chromium/try:chromeos-amd64-generic-cfi-thin-lto-rel
    Cq-Include-Trybots: chromium/try:fuchsia-arm64-cast-receiver-rel
    Cq-Include-Trybots: chromium/try:ios-catalyst,win-asan,android-official
    Cq-Include-Trybots: chromium/try:linux-cast-x64-rel
    Cq-Include-Trybots: chromium/try:linux-chromeos-dbg
    Cq-Include-Trybots: chromium/try:linux-swangle-try-x64,win-swangle-try-x86
    Cq-Include-Trybots: chromium/try:linux-v4l2-codec-rel
    Cq-Include-Trybots: chromium/try:linux-wayland-mutter-rel
    Cq-Include-Trybots: chromium/try:linux-x64-libfuzzer-msan-rel-tests
    Cq-Include-Trybots: chromium/try:linux_chromium_cfi_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_chromeos_msan_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_msan_rel_ng
    Cq-Include-Trybots: chromium/try:mac-official,linux-official
    Cq-Include-Trybots: chromium/try:mac13-arm64-rel,mac_chromium_asan_rel_ng
    Cq-Include-Trybots: chromium/try:mac15-x64-rel-tests
    Cq-Include-Trybots: chromium/try:win-official,win32-official
    Cq-Include-Trybots: chrome/try:android-arm32-pgo,android-arm64-pgo
    Cq-Include-Trybots: chrome/try:android-x64-rel-ready
    Cq-Include-Trybots: chrome/try:chromeos-brya-chrome,chromeos-eve-chrome
    Cq-Include-Trybots: chrome/try:chromeos-volteer-chrome
    Cq-Include-Trybots: chrome/try:iphone-device,ipad-device
    Cq-Include-Trybots: chrome/try:linux-chromeos-chrome
    Cq-Include-Trybots: chrome/try:linux-pgo,win32-pgo,win64-pgo
    Cq-Include-Trybots: chrome/try:win-chrome,win64-chrome,linux-chrome,mac-chrome
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8682176
    Commit-Queue: Zequan Wu <[email protected]>
    Reviewed-by: Nico Weber <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#1734578}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Nov 6, 2026
…it-17044-gc3223914, sub 2)

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/dda5e4e23b25032802763bef8e4833b85b084189

commit dda5e4e23b25032802763bef8e4833b85b084189
Author: Zequan Wu <[email protected]>
Date:   Tue Nov 3 15:58:11 2026 -0800

    Roll clang+rust llvmorg-24-init-14453-ge063be79-1 : llvmorg-24-init-17044-gc3223914-1 / 8a9dd7abdf013ec10cfeaaa3685feba18ef1c90c-6 : 96a18bf5ffa2b24f9cf3d1c731a9eb121c1acad9-2

    https://chromium.googlesource.com/external/github.com/llvm/llvm-project/+log/e063be79..c3223914

    https://chromium.googlesource.com/external/github.com/rust-lang/rust/+log/8a9dd7abdf01..96a18bf5ffa2

    Ran: tools/clang/scripts/upload_revision.py --no-git

    Additional changes included with this roll:
    - build.py: disable watchOS/tvOS/visionOS in BUILTINS_CMAKE_ARGS on
      macOS after LLVM 7b1ff3691852 (#234050).
    - build_rust.py: cherry-pick rust-lang/rust#164591 for crbug.com/575030918.
    - generate_system_modulemap.py: handle 'reflection' in _requires_met()
      after LLVM 6006957c522e (#211653).
    - devtools_protocol_browsertest.cc: disable
      DisposeBrowserContextClosesFrozenTabsAcrossTabModelRemoval for
      crbug.com/580985658.

    Bug: 576214311
    Change-Id: I22101186e285d6f1cd3de6a41ac5886891a03634
    Tricium: skip
    Include-Ci-Only-Tests: true
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-dbg
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-rel
    Cq-Include-Trybots: chromium/try:chromeos-amd64-generic-cfi-thin-lto-rel
    Cq-Include-Trybots: chromium/try:fuchsia-arm64-cast-receiver-rel
    Cq-Include-Trybots: chromium/try:ios-catalyst,win-asan,android-official
    Cq-Include-Trybots: chromium/try:linux-cast-x64-rel
    Cq-Include-Trybots: chromium/try:linux-chromeos-dbg
    Cq-Include-Trybots: chromium/try:linux-swangle-try-x64,win-swangle-try-x86
    Cq-Include-Trybots: chromium/try:linux-v4l2-codec-rel
    Cq-Include-Trybots: chromium/try:linux-wayland-mutter-rel
    Cq-Include-Trybots: chromium/try:linux-x64-libfuzzer-msan-rel-tests
    Cq-Include-Trybots: chromium/try:linux_chromium_cfi_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_chromeos_msan_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_msan_rel_ng
    Cq-Include-Trybots: chromium/try:mac-official,linux-official
    Cq-Include-Trybots: chromium/try:mac13-arm64-rel,mac_chromium_asan_rel_ng
    Cq-Include-Trybots: chromium/try:mac15-x64-rel-tests
    Cq-Include-Trybots: chromium/try:win-official,win32-official
    Cq-Include-Trybots: chrome/try:android-arm32-pgo,android-arm64-pgo
    Cq-Include-Trybots: chrome/try:android-x64-rel-ready
    Cq-Include-Trybots: chrome/try:chromeos-brya-chrome,chromeos-eve-chrome
    Cq-Include-Trybots: chrome/try:chromeos-volteer-chrome
    Cq-Include-Trybots: chrome/try:iphone-device,ipad-device
    Cq-Include-Trybots: chrome/try:linux-chromeos-chrome
    Cq-Include-Trybots: chrome/try:linux-pgo,win32-pgo,win64-pgo
    Cq-Include-Trybots: chrome/try:win-chrome,win64-chrome,linux-chrome,mac-chrome
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8682176
    Commit-Queue: Zequan Wu <[email protected]>
    Reviewed-by: Nico Weber <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#1734578}
@zmodem
zmodem force-pushed the parseCommandLineOptions branch from 626d888 to 8a70df1 Compare November 6, 2026 09:06
@rustbot

rustbot commented Nov 6, 2026

Copy link
Copy Markdown
Collaborator

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Nov 6, 2026
…it-17044-gc3223914, sub 2)

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/dda5e4e23b25032802763bef8e4833b85b084189

commit dda5e4e23b25032802763bef8e4833b85b084189
Author: Zequan Wu <[email protected]>
Date:   Tue Nov 3 15:58:11 2026 -0800

    Roll clang+rust llvmorg-24-init-14453-ge063be79-1 : llvmorg-24-init-17044-gc3223914-1 / 8a9dd7abdf013ec10cfeaaa3685feba18ef1c90c-6 : 96a18bf5ffa2b24f9cf3d1c731a9eb121c1acad9-2

    https://chromium.googlesource.com/external/github.com/llvm/llvm-project/+log/e063be79..c3223914

    https://chromium.googlesource.com/external/github.com/rust-lang/rust/+log/8a9dd7abdf01..96a18bf5ffa2

    Ran: tools/clang/scripts/upload_revision.py --no-git

    Additional changes included with this roll:
    - build.py: disable watchOS/tvOS/visionOS in BUILTINS_CMAKE_ARGS on
      macOS after LLVM 7b1ff3691852 (#234050).
    - build_rust.py: cherry-pick rust-lang/rust#164591 for crbug.com/575030918.
    - generate_system_modulemap.py: handle 'reflection' in _requires_met()
      after LLVM 6006957c522e (#211653).
    - devtools_protocol_browsertest.cc: disable
      DisposeBrowserContextClosesFrozenTabsAcrossTabModelRemoval for
      crbug.com/580985658.

    Bug: 576214311
    Change-Id: I22101186e285d6f1cd3de6a41ac5886891a03634
    Tricium: skip
    Include-Ci-Only-Tests: true
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-dbg
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-rel
    Cq-Include-Trybots: chromium/try:chromeos-amd64-generic-cfi-thin-lto-rel
    Cq-Include-Trybots: chromium/try:fuchsia-arm64-cast-receiver-rel
    Cq-Include-Trybots: chromium/try:ios-catalyst,win-asan,android-official
    Cq-Include-Trybots: chromium/try:linux-cast-x64-rel
    Cq-Include-Trybots: chromium/try:linux-chromeos-dbg
    Cq-Include-Trybots: chromium/try:linux-swangle-try-x64,win-swangle-try-x86
    Cq-Include-Trybots: chromium/try:linux-v4l2-codec-rel
    Cq-Include-Trybots: chromium/try:linux-wayland-mutter-rel
    Cq-Include-Trybots: chromium/try:linux-x64-libfuzzer-msan-rel-tests
    Cq-Include-Trybots: chromium/try:linux_chromium_cfi_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_chromeos_msan_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_msan_rel_ng
    Cq-Include-Trybots: chromium/try:mac-official,linux-official
    Cq-Include-Trybots: chromium/try:mac13-arm64-rel,mac_chromium_asan_rel_ng
    Cq-Include-Trybots: chromium/try:mac15-x64-rel-tests
    Cq-Include-Trybots: chromium/try:win-official,win32-official
    Cq-Include-Trybots: chrome/try:android-arm32-pgo,android-arm64-pgo
    Cq-Include-Trybots: chrome/try:android-x64-rel-ready
    Cq-Include-Trybots: chrome/try:chromeos-brya-chrome,chromeos-eve-chrome
    Cq-Include-Trybots: chrome/try:chromeos-volteer-chrome
    Cq-Include-Trybots: chrome/try:iphone-device,ipad-device
    Cq-Include-Trybots: chrome/try:linux-chromeos-chrome
    Cq-Include-Trybots: chrome/try:linux-pgo,win32-pgo,win64-pgo
    Cq-Include-Trybots: chrome/try:win-chrome,win64-chrome,linux-chrome,mac-chrome
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8682176
    Commit-Queue: Zequan Wu <[email protected]>
    Reviewed-by: Nico Weber <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#1734578}
@zmodem

zmodem commented Nov 6, 2026

Copy link
Copy Markdown
Contributor Author

Hmm no, with head llvm this fails because there's an extra

rustc -Cllvm-args="..." with: Did you mean '--nvvm-reflect-add'?

line in stderr. Not sure why that didn't happen with cl::parseCommandLineOptions.

(I did see this locally too, but I thought maybe my machine was unusual in having the nvptx backend enabled.)

@zmodem

zmodem commented Nov 6, 2026

Copy link
Copy Markdown
Contributor Author

Oh, that's not the problem. It was failing because

error: ui test did not emit an error

cl::parseCommandLineOptions would exit(1) on error. We can do that too.

cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Nov 6, 2026
…it-17044-gc3223914, sub 2)

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/dda5e4e23b25032802763bef8e4833b85b084189

commit dda5e4e23b25032802763bef8e4833b85b084189
Author: Zequan Wu <[email protected]>
Date:   Tue Nov 3 15:58:11 2026 -0800

    Roll clang+rust llvmorg-24-init-14453-ge063be79-1 : llvmorg-24-init-17044-gc3223914-1 / 8a9dd7abdf013ec10cfeaaa3685feba18ef1c90c-6 : 96a18bf5ffa2b24f9cf3d1c731a9eb121c1acad9-2

    https://chromium.googlesource.com/external/github.com/llvm/llvm-project/+log/e063be79..c3223914

    https://chromium.googlesource.com/external/github.com/rust-lang/rust/+log/8a9dd7abdf01..96a18bf5ffa2

    Ran: tools/clang/scripts/upload_revision.py --no-git

    Additional changes included with this roll:
    - build.py: disable watchOS/tvOS/visionOS in BUILTINS_CMAKE_ARGS on
      macOS after LLVM 7b1ff3691852 (#234050).
    - build_rust.py: cherry-pick rust-lang/rust#164591 for crbug.com/575030918.
    - generate_system_modulemap.py: handle 'reflection' in _requires_met()
      after LLVM 6006957c522e (#211653).
    - devtools_protocol_browsertest.cc: disable
      DisposeBrowserContextClosesFrozenTabsAcrossTabModelRemoval for
      crbug.com/580985658.

    Bug: 576214311
    Change-Id: I22101186e285d6f1cd3de6a41ac5886891a03634
    Tricium: skip
    Include-Ci-Only-Tests: true
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-dbg
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-rel
    Cq-Include-Trybots: chromium/try:chromeos-amd64-generic-cfi-thin-lto-rel
    Cq-Include-Trybots: chromium/try:fuchsia-arm64-cast-receiver-rel
    Cq-Include-Trybots: chromium/try:ios-catalyst,win-asan,android-official
    Cq-Include-Trybots: chromium/try:linux-cast-x64-rel
    Cq-Include-Trybots: chromium/try:linux-chromeos-dbg
    Cq-Include-Trybots: chromium/try:linux-swangle-try-x64,win-swangle-try-x86
    Cq-Include-Trybots: chromium/try:linux-v4l2-codec-rel
    Cq-Include-Trybots: chromium/try:linux-wayland-mutter-rel
    Cq-Include-Trybots: chromium/try:linux-x64-libfuzzer-msan-rel-tests
    Cq-Include-Trybots: chromium/try:linux_chromium_cfi_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_chromeos_msan_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_msan_rel_ng
    Cq-Include-Trybots: chromium/try:mac-official,linux-official
    Cq-Include-Trybots: chromium/try:mac13-arm64-rel,mac_chromium_asan_rel_ng
    Cq-Include-Trybots: chromium/try:mac15-x64-rel-tests
    Cq-Include-Trybots: chromium/try:win-official,win32-official
    Cq-Include-Trybots: chrome/try:android-arm32-pgo,android-arm64-pgo
    Cq-Include-Trybots: chrome/try:android-x64-rel-ready
    Cq-Include-Trybots: chrome/try:chromeos-brya-chrome,chromeos-eve-chrome
    Cq-Include-Trybots: chrome/try:chromeos-volteer-chrome
    Cq-Include-Trybots: chrome/try:iphone-device,ipad-device
    Cq-Include-Trybots: chrome/try:linux-chromeos-chrome
    Cq-Include-Trybots: chrome/try:linux-pgo,win32-pgo,win64-pgo
    Cq-Include-Trybots: chrome/try:win-chrome,win64-chrome,linux-chrome,mac-chrome
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8682176
    Commit-Queue: Zequan Wu <[email protected]>
    Reviewed-by: Nico Weber <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#1734578}
@zmodem
zmodem requested a review from nikic November 6, 2026 12:43

@nikic nikic 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.

LGTM, can you please squash?

View changes since this review

@nikic

nikic commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

Also the PR description could use an update.

It will ensure library options are picked up by new contexts,
and lets us handle errors explicitly.
@zmodem
zmodem force-pushed the parseCommandLineOptions branch from d7e8985 to 7b2a5cb Compare November 6, 2026 17:33
@zmodem

zmodem commented Nov 6, 2026

Copy link
Copy Markdown
Contributor Author

Updated the description.

cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Nov 6, 2026
…it-17044-gc3223914, sub 2)

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/dda5e4e23b25032802763bef8e4833b85b084189

commit dda5e4e23b25032802763bef8e4833b85b084189
Author: Zequan Wu <[email protected]>
Date:   Tue Nov 3 15:58:11 2026 -0800

    Roll clang+rust llvmorg-24-init-14453-ge063be79-1 : llvmorg-24-init-17044-gc3223914-1 / 8a9dd7abdf013ec10cfeaaa3685feba18ef1c90c-6 : 96a18bf5ffa2b24f9cf3d1c731a9eb121c1acad9-2

    https://chromium.googlesource.com/external/github.com/llvm/llvm-project/+log/e063be79..c3223914

    https://chromium.googlesource.com/external/github.com/rust-lang/rust/+log/8a9dd7abdf01..96a18bf5ffa2

    Ran: tools/clang/scripts/upload_revision.py --no-git

    Additional changes included with this roll:
    - build.py: disable watchOS/tvOS/visionOS in BUILTINS_CMAKE_ARGS on
      macOS after LLVM 7b1ff3691852 (#234050).
    - build_rust.py: cherry-pick rust-lang/rust#164591 for crbug.com/575030918.
    - generate_system_modulemap.py: handle 'reflection' in _requires_met()
      after LLVM 6006957c522e (#211653).
    - devtools_protocol_browsertest.cc: disable
      DisposeBrowserContextClosesFrozenTabsAcrossTabModelRemoval for
      crbug.com/580985658.

    Bug: 576214311
    Change-Id: I22101186e285d6f1cd3de6a41ac5886891a03634
    Tricium: skip
    Include-Ci-Only-Tests: true
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-dbg
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-rel
    Cq-Include-Trybots: chromium/try:chromeos-amd64-generic-cfi-thin-lto-rel
    Cq-Include-Trybots: chromium/try:fuchsia-arm64-cast-receiver-rel
    Cq-Include-Trybots: chromium/try:ios-catalyst,win-asan,android-official
    Cq-Include-Trybots: chromium/try:linux-cast-x64-rel
    Cq-Include-Trybots: chromium/try:linux-chromeos-dbg
    Cq-Include-Trybots: chromium/try:linux-swangle-try-x64,win-swangle-try-x86
    Cq-Include-Trybots: chromium/try:linux-v4l2-codec-rel
    Cq-Include-Trybots: chromium/try:linux-wayland-mutter-rel
    Cq-Include-Trybots: chromium/try:linux-x64-libfuzzer-msan-rel-tests
    Cq-Include-Trybots: chromium/try:linux_chromium_cfi_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_chromeos_msan_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_msan_rel_ng
    Cq-Include-Trybots: chromium/try:mac-official,linux-official
    Cq-Include-Trybots: chromium/try:mac13-arm64-rel,mac_chromium_asan_rel_ng
    Cq-Include-Trybots: chromium/try:mac15-x64-rel-tests
    Cq-Include-Trybots: chromium/try:win-official,win32-official
    Cq-Include-Trybots: chrome/try:android-arm32-pgo,android-arm64-pgo
    Cq-Include-Trybots: chrome/try:android-x64-rel-ready
    Cq-Include-Trybots: chrome/try:chromeos-brya-chrome,chromeos-eve-chrome
    Cq-Include-Trybots: chrome/try:chromeos-volteer-chrome
    Cq-Include-Trybots: chrome/try:iphone-device,ipad-device
    Cq-Include-Trybots: chrome/try:linux-chromeos-chrome
    Cq-Include-Trybots: chrome/try:linux-pgo,win32-pgo,win64-pgo
    Cq-Include-Trybots: chrome/try:win-chrome,win64-chrome,linux-chrome,mac-chrome
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8682176
    Commit-Queue: Zequan Wu <[email protected]>
    Reviewed-by: Nico Weber <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#1734578}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Nov 6, 2026
…it-17044-gc3223914, sub 2)

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/dda5e4e23b25032802763bef8e4833b85b084189

commit dda5e4e23b25032802763bef8e4833b85b084189
Author: Zequan Wu <[email protected]>
Date:   Tue Nov 3 15:58:11 2026 -0800

    Roll clang+rust llvmorg-24-init-14453-ge063be79-1 : llvmorg-24-init-17044-gc3223914-1 / 8a9dd7abdf013ec10cfeaaa3685feba18ef1c90c-6 : 96a18bf5ffa2b24f9cf3d1c731a9eb121c1acad9-2

    https://chromium.googlesource.com/external/github.com/llvm/llvm-project/+log/e063be79..c3223914

    https://chromium.googlesource.com/external/github.com/rust-lang/rust/+log/8a9dd7abdf01..96a18bf5ffa2

    Ran: tools/clang/scripts/upload_revision.py --no-git

    Additional changes included with this roll:
    - build.py: disable watchOS/tvOS/visionOS in BUILTINS_CMAKE_ARGS on
      macOS after LLVM 7b1ff3691852 (#234050).
    - build_rust.py: cherry-pick rust-lang/rust#164591 for crbug.com/575030918.
    - generate_system_modulemap.py: handle 'reflection' in _requires_met()
      after LLVM 6006957c522e (#211653).
    - devtools_protocol_browsertest.cc: disable
      DisposeBrowserContextClosesFrozenTabsAcrossTabModelRemoval for
      crbug.com/580985658.

    Bug: 576214311
    Change-Id: I22101186e285d6f1cd3de6a41ac5886891a03634
    Tricium: skip
    Include-Ci-Only-Tests: true
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-dbg
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-rel
    Cq-Include-Trybots: chromium/try:chromeos-amd64-generic-cfi-thin-lto-rel
    Cq-Include-Trybots: chromium/try:fuchsia-arm64-cast-receiver-rel
    Cq-Include-Trybots: chromium/try:ios-catalyst,win-asan,android-official
    Cq-Include-Trybots: chromium/try:linux-cast-x64-rel
    Cq-Include-Trybots: chromium/try:linux-chromeos-dbg
    Cq-Include-Trybots: chromium/try:linux-swangle-try-x64,win-swangle-try-x86
    Cq-Include-Trybots: chromium/try:linux-v4l2-codec-rel
    Cq-Include-Trybots: chromium/try:linux-wayland-mutter-rel
    Cq-Include-Trybots: chromium/try:linux-x64-libfuzzer-msan-rel-tests
    Cq-Include-Trybots: chromium/try:linux_chromium_cfi_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_chromeos_msan_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_msan_rel_ng
    Cq-Include-Trybots: chromium/try:mac-official,linux-official
    Cq-Include-Trybots: chromium/try:mac13-arm64-rel,mac_chromium_asan_rel_ng
    Cq-Include-Trybots: chromium/try:mac15-x64-rel-tests
    Cq-Include-Trybots: chromium/try:win-official,win32-official
    Cq-Include-Trybots: chrome/try:android-arm32-pgo,android-arm64-pgo
    Cq-Include-Trybots: chrome/try:android-x64-rel-ready
    Cq-Include-Trybots: chrome/try:chromeos-brya-chrome,chromeos-eve-chrome
    Cq-Include-Trybots: chrome/try:chromeos-volteer-chrome
    Cq-Include-Trybots: chrome/try:iphone-device,ipad-device
    Cq-Include-Trybots: chrome/try:linux-chromeos-chrome
    Cq-Include-Trybots: chrome/try:linux-pgo,win32-pgo,win64-pgo
    Cq-Include-Trybots: chrome/try:win-chrome,win64-chrome,linux-chrome,mac-chrome
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8682176
    Commit-Queue: Zequan Wu <[email protected]>
    Reviewed-by: Nico Weber <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#1734578}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Nov 6, 2026
…it-17044-gc3223914, sub 2)

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/dda5e4e23b25032802763bef8e4833b85b084189

commit dda5e4e23b25032802763bef8e4833b85b084189
Author: Zequan Wu <[email protected]>
Date:   Tue Nov 3 15:58:11 2026 -0800

    Roll clang+rust llvmorg-24-init-14453-ge063be79-1 : llvmorg-24-init-17044-gc3223914-1 / 8a9dd7abdf013ec10cfeaaa3685feba18ef1c90c-6 : 96a18bf5ffa2b24f9cf3d1c731a9eb121c1acad9-2

    https://chromium.googlesource.com/external/github.com/llvm/llvm-project/+log/e063be79..c3223914

    https://chromium.googlesource.com/external/github.com/rust-lang/rust/+log/8a9dd7abdf01..96a18bf5ffa2

    Ran: tools/clang/scripts/upload_revision.py --no-git

    Additional changes included with this roll:
    - build.py: disable watchOS/tvOS/visionOS in BUILTINS_CMAKE_ARGS on
      macOS after LLVM 7b1ff3691852 (#234050).
    - build_rust.py: cherry-pick rust-lang/rust#164591 for crbug.com/575030918.
    - generate_system_modulemap.py: handle 'reflection' in _requires_met()
      after LLVM 6006957c522e (#211653).
    - devtools_protocol_browsertest.cc: disable
      DisposeBrowserContextClosesFrozenTabsAcrossTabModelRemoval for
      crbug.com/580985658.

    Bug: 576214311
    Change-Id: I22101186e285d6f1cd3de6a41ac5886891a03634
    Tricium: skip
    Include-Ci-Only-Tests: true
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-dbg
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-rel
    Cq-Include-Trybots: chromium/try:chromeos-amd64-generic-cfi-thin-lto-rel
    Cq-Include-Trybots: chromium/try:fuchsia-arm64-cast-receiver-rel
    Cq-Include-Trybots: chromium/try:ios-catalyst,win-asan,android-official
    Cq-Include-Trybots: chromium/try:linux-cast-x64-rel
    Cq-Include-Trybots: chromium/try:linux-chromeos-dbg
    Cq-Include-Trybots: chromium/try:linux-swangle-try-x64,win-swangle-try-x86
    Cq-Include-Trybots: chromium/try:linux-v4l2-codec-rel
    Cq-Include-Trybots: chromium/try:linux-wayland-mutter-rel
    Cq-Include-Trybots: chromium/try:linux-x64-libfuzzer-msan-rel-tests
    Cq-Include-Trybots: chromium/try:linux_chromium_cfi_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_chromeos_msan_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_msan_rel_ng
    Cq-Include-Trybots: chromium/try:mac-official,linux-official
    Cq-Include-Trybots: chromium/try:mac13-arm64-rel,mac_chromium_asan_rel_ng
    Cq-Include-Trybots: chromium/try:mac15-x64-rel-tests
    Cq-Include-Trybots: chromium/try:win-official,win32-official
    Cq-Include-Trybots: chrome/try:android-arm32-pgo,android-arm64-pgo
    Cq-Include-Trybots: chrome/try:android-x64-rel-ready
    Cq-Include-Trybots: chrome/try:chromeos-brya-chrome,chromeos-eve-chrome
    Cq-Include-Trybots: chrome/try:chromeos-volteer-chrome
    Cq-Include-Trybots: chrome/try:iphone-device,ipad-device
    Cq-Include-Trybots: chrome/try:linux-chromeos-chrome
    Cq-Include-Trybots: chrome/try:linux-pgo,win32-pgo,win64-pgo
    Cq-Include-Trybots: chrome/try:win-chrome,win64-chrome,linux-chrome,mac-chrome
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8682176
    Commit-Queue: Zequan Wu <[email protected]>
    Reviewed-by: Nico Weber <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#1734578}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Nov 7, 2026
…it-17044-gc3223914, sub 2)

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/dda5e4e23b25032802763bef8e4833b85b084189

commit dda5e4e23b25032802763bef8e4833b85b084189
Author: Zequan Wu <[email protected]>
Date:   Tue Nov 3 15:58:11 2026 -0800

    Roll clang+rust llvmorg-24-init-14453-ge063be79-1 : llvmorg-24-init-17044-gc3223914-1 / 8a9dd7abdf013ec10cfeaaa3685feba18ef1c90c-6 : 96a18bf5ffa2b24f9cf3d1c731a9eb121c1acad9-2

    https://chromium.googlesource.com/external/github.com/llvm/llvm-project/+log/e063be79..c3223914

    https://chromium.googlesource.com/external/github.com/rust-lang/rust/+log/8a9dd7abdf01..96a18bf5ffa2

    Ran: tools/clang/scripts/upload_revision.py --no-git

    Additional changes included with this roll:
    - build.py: disable watchOS/tvOS/visionOS in BUILTINS_CMAKE_ARGS on
      macOS after LLVM 7b1ff3691852 (#234050).
    - build_rust.py: cherry-pick rust-lang/rust#164591 for crbug.com/575030918.
    - generate_system_modulemap.py: handle 'reflection' in _requires_met()
      after LLVM 6006957c522e (#211653).
    - devtools_protocol_browsertest.cc: disable
      DisposeBrowserContextClosesFrozenTabsAcrossTabModelRemoval for
      crbug.com/580985658.

    Bug: 576214311
    Change-Id: I22101186e285d6f1cd3de6a41ac5886891a03634
    Tricium: skip
    Include-Ci-Only-Tests: true
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-dbg
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-rel
    Cq-Include-Trybots: chromium/try:chromeos-amd64-generic-cfi-thin-lto-rel
    Cq-Include-Trybots: chromium/try:fuchsia-arm64-cast-receiver-rel
    Cq-Include-Trybots: chromium/try:ios-catalyst,win-asan,android-official
    Cq-Include-Trybots: chromium/try:linux-cast-x64-rel
    Cq-Include-Trybots: chromium/try:linux-chromeos-dbg
    Cq-Include-Trybots: chromium/try:linux-swangle-try-x64,win-swangle-try-x86
    Cq-Include-Trybots: chromium/try:linux-v4l2-codec-rel
    Cq-Include-Trybots: chromium/try:linux-wayland-mutter-rel
    Cq-Include-Trybots: chromium/try:linux-x64-libfuzzer-msan-rel-tests
    Cq-Include-Trybots: chromium/try:linux_chromium_cfi_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_chromeos_msan_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_msan_rel_ng
    Cq-Include-Trybots: chromium/try:mac-official,linux-official
    Cq-Include-Trybots: chromium/try:mac13-arm64-rel,mac_chromium_asan_rel_ng
    Cq-Include-Trybots: chromium/try:mac15-x64-rel-tests
    Cq-Include-Trybots: chromium/try:win-official,win32-official
    Cq-Include-Trybots: chrome/try:android-arm32-pgo,android-arm64-pgo
    Cq-Include-Trybots: chrome/try:android-x64-rel-ready
    Cq-Include-Trybots: chrome/try:chromeos-brya-chrome,chromeos-eve-chrome
    Cq-Include-Trybots: chrome/try:chromeos-volteer-chrome
    Cq-Include-Trybots: chrome/try:iphone-device,ipad-device
    Cq-Include-Trybots: chrome/try:linux-chromeos-chrome
    Cq-Include-Trybots: chrome/try:linux-pgo,win32-pgo,win64-pgo
    Cq-Include-Trybots: chrome/try:win-chrome,win64-chrome,linux-chrome,mac-chrome
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8682176
    Commit-Queue: Zequan Wu <[email protected]>
    Reviewed-by: Nico Weber <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#1734578}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Nov 7, 2026
…it-17044-gc3223914, sub 2)

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/dda5e4e23b25032802763bef8e4833b85b084189

commit dda5e4e23b25032802763bef8e4833b85b084189
Author: Zequan Wu <[email protected]>
Date:   Tue Nov 3 15:58:11 2026 -0800

    Roll clang+rust llvmorg-24-init-14453-ge063be79-1 : llvmorg-24-init-17044-gc3223914-1 / 8a9dd7abdf013ec10cfeaaa3685feba18ef1c90c-6 : 96a18bf5ffa2b24f9cf3d1c731a9eb121c1acad9-2

    https://chromium.googlesource.com/external/github.com/llvm/llvm-project/+log/e063be79..c3223914

    https://chromium.googlesource.com/external/github.com/rust-lang/rust/+log/8a9dd7abdf01..96a18bf5ffa2

    Ran: tools/clang/scripts/upload_revision.py --no-git

    Additional changes included with this roll:
    - build.py: disable watchOS/tvOS/visionOS in BUILTINS_CMAKE_ARGS on
      macOS after LLVM 7b1ff3691852 (#234050).
    - build_rust.py: cherry-pick rust-lang/rust#164591 for crbug.com/575030918.
    - generate_system_modulemap.py: handle 'reflection' in _requires_met()
      after LLVM 6006957c522e (#211653).
    - devtools_protocol_browsertest.cc: disable
      DisposeBrowserContextClosesFrozenTabsAcrossTabModelRemoval for
      crbug.com/580985658.

    Bug: 576214311
    Change-Id: I22101186e285d6f1cd3de6a41ac5886891a03634
    Tricium: skip
    Include-Ci-Only-Tests: true
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-dbg
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-rel
    Cq-Include-Trybots: chromium/try:chromeos-amd64-generic-cfi-thin-lto-rel
    Cq-Include-Trybots: chromium/try:fuchsia-arm64-cast-receiver-rel
    Cq-Include-Trybots: chromium/try:ios-catalyst,win-asan,android-official
    Cq-Include-Trybots: chromium/try:linux-cast-x64-rel
    Cq-Include-Trybots: chromium/try:linux-chromeos-dbg
    Cq-Include-Trybots: chromium/try:linux-swangle-try-x64,win-swangle-try-x86
    Cq-Include-Trybots: chromium/try:linux-v4l2-codec-rel
    Cq-Include-Trybots: chromium/try:linux-wayland-mutter-rel
    Cq-Include-Trybots: chromium/try:linux-x64-libfuzzer-msan-rel-tests
    Cq-Include-Trybots: chromium/try:linux_chromium_cfi_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_chromeos_msan_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_msan_rel_ng
    Cq-Include-Trybots: chromium/try:mac-official,linux-official
    Cq-Include-Trybots: chromium/try:mac13-arm64-rel,mac_chromium_asan_rel_ng
    Cq-Include-Trybots: chromium/try:mac15-x64-rel-tests
    Cq-Include-Trybots: chromium/try:win-official,win32-official
    Cq-Include-Trybots: chrome/try:android-arm32-pgo,android-arm64-pgo
    Cq-Include-Trybots: chrome/try:android-x64-rel-ready
    Cq-Include-Trybots: chrome/try:chromeos-brya-chrome,chromeos-eve-chrome
    Cq-Include-Trybots: chrome/try:chromeos-volteer-chrome
    Cq-Include-Trybots: chrome/try:iphone-device,ipad-device
    Cq-Include-Trybots: chrome/try:linux-chromeos-chrome
    Cq-Include-Trybots: chrome/try:linux-pgo,win32-pgo,win64-pgo
    Cq-Include-Trybots: chrome/try:win-chrome,win64-chrome,linux-chrome,mac-chrome
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8682176
    Commit-Queue: Zequan Wu <[email protected]>
    Reviewed-by: Nico Weber <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#1734578}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Nov 7, 2026
…it-17044-gc3223914, sub 2)

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/dda5e4e23b25032802763bef8e4833b85b084189

commit dda5e4e23b25032802763bef8e4833b85b084189
Author: Zequan Wu <[email protected]>
Date:   Tue Nov 3 15:58:11 2026 -0800

    Roll clang+rust llvmorg-24-init-14453-ge063be79-1 : llvmorg-24-init-17044-gc3223914-1 / 8a9dd7abdf013ec10cfeaaa3685feba18ef1c90c-6 : 96a18bf5ffa2b24f9cf3d1c731a9eb121c1acad9-2

    https://chromium.googlesource.com/external/github.com/llvm/llvm-project/+log/e063be79..c3223914

    https://chromium.googlesource.com/external/github.com/rust-lang/rust/+log/8a9dd7abdf01..96a18bf5ffa2

    Ran: tools/clang/scripts/upload_revision.py --no-git

    Additional changes included with this roll:
    - build.py: disable watchOS/tvOS/visionOS in BUILTINS_CMAKE_ARGS on
      macOS after LLVM 7b1ff3691852 (#234050).
    - build_rust.py: cherry-pick rust-lang/rust#164591 for crbug.com/575030918.
    - generate_system_modulemap.py: handle 'reflection' in _requires_met()
      after LLVM 6006957c522e (#211653).
    - devtools_protocol_browsertest.cc: disable
      DisposeBrowserContextClosesFrozenTabsAcrossTabModelRemoval for
      crbug.com/580985658.

    Bug: 576214311
    Change-Id: I22101186e285d6f1cd3de6a41ac5886891a03634
    Tricium: skip
    Include-Ci-Only-Tests: true
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-dbg
    Cq-Include-Trybots: chromium/try:android-cronet-riscv64-rel
    Cq-Include-Trybots: chromium/try:chromeos-amd64-generic-cfi-thin-lto-rel
    Cq-Include-Trybots: chromium/try:fuchsia-arm64-cast-receiver-rel
    Cq-Include-Trybots: chromium/try:ios-catalyst,win-asan,android-official
    Cq-Include-Trybots: chromium/try:linux-cast-x64-rel
    Cq-Include-Trybots: chromium/try:linux-chromeos-dbg
    Cq-Include-Trybots: chromium/try:linux-swangle-try-x64,win-swangle-try-x86
    Cq-Include-Trybots: chromium/try:linux-v4l2-codec-rel
    Cq-Include-Trybots: chromium/try:linux-wayland-mutter-rel
    Cq-Include-Trybots: chromium/try:linux-x64-libfuzzer-msan-rel-tests
    Cq-Include-Trybots: chromium/try:linux_chromium_cfi_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_chromeos_msan_rel_ng
    Cq-Include-Trybots: chromium/try:linux_chromium_msan_rel_ng
    Cq-Include-Trybots: chromium/try:mac-official,linux-official
    Cq-Include-Trybots: chromium/try:mac13-arm64-rel,mac_chromium_asan_rel_ng
    Cq-Include-Trybots: chromium/try:mac15-x64-rel-tests
    Cq-Include-Trybots: chromium/try:win-official,win32-official
    Cq-Include-Trybots: chrome/try:android-arm32-pgo,android-arm64-pgo
    Cq-Include-Trybots: chrome/try:android-x64-rel-ready
    Cq-Include-Trybots: chrome/try:chromeos-brya-chrome,chromeos-eve-chrome
    Cq-Include-Trybots: chrome/try:chromeos-volteer-chrome
    Cq-Include-Trybots: chrome/try:iphone-device,ipad-device
    Cq-Include-Trybots: chrome/try:linux-chromeos-chrome
    Cq-Include-Trybots: chrome/try:linux-pgo,win32-pgo,win64-pgo
    Cq-Include-Trybots: chrome/try:win-chrome,win64-chrome,linux-chrome,mac-chrome
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8682176
    Commit-Queue: Zequan Wu <[email protected]>
    Reviewed-by: Nico Weber <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#1734578}
@zmodem
zmodem requested a review from nikic November 7, 2026 16:49
@nikic

nikic commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

@bors r+ rollup

@rust-bors

rust-bors Bot commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 7b2a5cb has been approved by nikic

It is now in the queue for this repository.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 7, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Nov 7, 2026
…nikic

Parse LLVM options into an explicit global LibraryOptionsContext

LLVM has been refactoring how it stores its internal (-mllvm) options recently, with the goal of getting rid of the global cl::opt objects.

After http://github.com/llvm/llvm-project/pull/233044 LTO passes no longer uses the global options, which would cause codegen-llvm/pgo-counter-bias.rs to fail since it relies on the -runtime-counter-relocation option to get passed to LTO.

Use the C API function LLVMParseCommandLineOptionsWithError which ensures the parsed options are
picked up by new LLVMContexts.
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Nov 7, 2026
…nikic

Parse LLVM options into an explicit global LibraryOptionsContext

LLVM has been refactoring how it stores its internal (-mllvm) options recently, with the goal of getting rid of the global cl::opt objects.

After http://github.com/llvm/llvm-project/pull/233044 LTO passes no longer uses the global options, which would cause codegen-llvm/pgo-counter-bias.rs to fail since it relies on the -runtime-counter-relocation option to get passed to LTO.

Use the C API function LLVMParseCommandLineOptionsWithError which ensures the parsed options are
picked up by new LLVMContexts.

This branch has not been deployed

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

Labels

A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. llvm-main Marks PRs that are making Rust work with LLVM main (this label is consumed by CI tooling) S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants