GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — [3.14] GH-136895: Update JIT builds to use LLVM 21 (GH-140329) by mcepl · Pull Request #146420 · python/cpython

Conversation

@mcepl

@mcepl mcepl commented Mar 25, 2026 •
edited by bedevere-app Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Backport of GH-140329 to 3.14, with the addition of:

  • JIT: harden LLVM 20 upgrade with defensive improvements
  • Enable x86_64 trampoline support on all x86_64 platforms, not just
    macOS. While currently only macOS emits X86_64_RELOC_BRANCH
    relocations, this ensures the trampoline infrastructure is ready if
    future LLVM changes produce out-of-range calls on other x86_64
    platforms.

  • Add error handling to extract_tarball() in get_external.py so that
    corrupted or incomplete downloads produce a clear error message
    instead of an opaque traceback.

  • Replace hardcoded LLVM version check in get_externals.bat with
    a prefix-based 'llvm-' match using findstr, so future LLVM version
    bumps only require changing the version string in one place.

Also, bump the JIT toolchain from LLVM 20 to LLVM 21 (21.1.8). Updated across
CI workflows, build scripts, documentation, and the externals tag.

  • Issue: Update JIT builds to use LLVM 20 #136895

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@mcepl
mcepl requested review from a team, AA-Turner, brandtbucher, ezio-melotti, hugovk, savannahostrowski and webknjaz as code owners March 25, 2026 13:44
@bedevere-app bedevere-app Bot mentioned this pull request Mar 25, 2026
Update JIT builds to use LLVM 20 #136895
Closed
@bedevere-app bedevere-app Bot added the awaiting review label Mar 25, 2026
@bedevere-app bedevere-app Bot mentioned this pull request Mar 25, 2026
GH-136895: Update JIT builds to use LLVM 20 #140329
Merged
@mcepl mcepl mentioned this pull request Mar 25, 2026
[3.14] GH-136895: Update JIT builds to use LLVM 21 (GH-140329) #146419
Closed
mcepl added 2 commits March 25, 2026 15:14
@mcepl
[3.14] pythonGH-136895: Update JIT builds to use LLVM 20 (pythonGH-14…
3db83aa
…0329)
@mcepl
JIT: harden LLVM 20 upgrade with defensive improvements
4a2251e
- Enable x86_64 trampoline support on all x86_64 platforms, not just
  macOS. While currently only macOS emits X86_64_RELOC_BRANCH
  relocations, this ensures the trampoline infrastructure is ready if
  future LLVM changes produce out-of-range calls on other x86_64
  platforms.

- Add error handling to extract_tarball() in get_external.py so that
  corrupted or incomplete downloads produce a clear error message
  instead of an opaque traceback.

- Replace hardcoded LLVM version check in get_externals.bat with a
  prefix-based 'llvm-' match using findstr, so future LLVM version
  bumps only require changing the version string in one place.
@mcepl
mcepl force-pushed the 3.14-llvm21-compat branch from b6c50f4 to 539f0f1 Compare March 25, 2026 14:14
@Fidget-Spinner

Fidget-Spinner commented Mar 25, 2026

Copy link
Copy Markdown
Member

I don't think we can do this. Changing a build dependency in a patch release of 3.14 is very strange and usually not allowed.

savannahostrowski reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@mcepl
pythonGH-136895: Update JIT builds to use LLVM 21
5477f5b
Bump the JIT toolchain from LLVM 20 to LLVM 21 (21.1.8). Updated
across CI workflows, build scripts, documentation, and the externals
tag.
@mcepl
mcepl force-pushed the 3.14-llvm21-compat branch from 539f0f1 to 5477f5b Compare March 25, 2026 23:30
@mcepl
Fixed Tools/jit/_llvm.py
f5c1c6f
@Fidget-Spinner

Fidget-Spinner commented Mar 26, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

I don't think we can do this. Changing a build dependency in a patch release of 3.14 is very strange and usually not allowed.

Really sorry. Unless there's strong reasons to do so (e.g. security), this isn't possible I think.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Fidget-Spinner Fidget-Spinner closed this Mar 26, 2026
@mcepl

mcepl commented Mar 27, 2026

Copy link
Copy Markdown
Contributor Author

I don't think we can do this. Changing a build dependency in a patch release of 3.14 is very strange and usually not allowed.

Oh well, point taken. Could I at least ask for the review of the patch (partciularly

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@mcepl
mcepl deleted the 3.14-llvm21-compat branch March 27, 2026 07:38
@chris-eibl

chris-eibl commented Mar 27, 2026

Copy link
Copy Markdown
Member

Could I at least ask for the review of the patch

If you care about Windows, I'd consider including #142052.
But as @Fidget-Spinner said, updating LLVM in 3.14 is too big of a change.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@mcepl

mcepl commented Mar 27, 2026 via email

Copy link
Copy Markdown
Contributor Author
On Fri Mar 27, 2026 at 8:47 AM CET, Chris Eibl wrote: If you care about Windows, I'd consider including #142052.
I am a maintainer of Python for SUSE; no, I don’t care about Windows at all, I was trying to fix those GitHub Actions just so that this PR would be acceptable.
chris-eibl reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

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

Reviewers

@brandtbucher brandtbucher Awaiting requested review from brandtbucher brandtbucher is a code owner
@savannahostrowski savannahostrowski Awaiting requested review from savannahostrowski
@ezio-melotti ezio-melotti Awaiting requested review from ezio-melotti ezio-melotti is a code owner
@hugovk hugovk Awaiting requested review from hugovk hugovk is a code owner
@AA-Turner AA-Turner Awaiting requested review from AA-Turner AA-Turner is a code owner
@webknjaz webknjaz Awaiting requested review from webknjaz webknjaz is a code owner

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

awaiting review

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@mcepl @Fidget-Spinner @chris-eibl
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.