Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

downloads: upgrade LLVM 18.0.8 -> 19.1.0 #420

Merged
merged 2 commits into from
Dec 16, 2024
Merged

downloads: upgrade LLVM 18.0.8 -> 19.1.0 #420

merged 2 commits into from
Dec 16, 2024

Conversation

indygreg
Copy link
Collaborator

No description provided.

@indygreg indygreg force-pushed the gps/llvm-19 branch 2 times, most recently from 9c5748b to 62883a6 Compare December 15, 2024 19:20
LLVM 19 yields a compile error without these patches.

Strictly speaking we may only need the final one. However there
are conflicts unless we take all patches to `src/aarch64/sysv.S`.
So we just take the 3 of them.
@indygreg
Copy link
Collaborator Author

This looks to be passing CI. So asking for review.

@indygreg indygreg merged commit 2a73fbd into main Dec 16, 2024
278 of 280 checks passed
@charliermarsh
Copy link
Member

It looks like two builds failed here -- possible that those are new failures?

@charliermarsh
Copy link
Member

(Only asking because they're also failing on main and on my own PRs now :))

@indygreg
Copy link
Collaborator Author

Uh what. I merged on my phone and I only saw green. Feel free to revert I guess.

@indygreg
Copy link
Collaborator Author

I reproduced the failure locally and reverted.

This looks like upstream issue python/cpython#124948.

I was going to say it was strange it only reproduced on 3.12. But we currently only have BOLT enabled on 3.12. So looks like a general BOLT regression on LLVM 19.1.0.

@indygreg
Copy link
Collaborator Author

Well, not the same symbol as the upstream CPython issue. But same failure mode of unable to locate an address.

My best guess is BOLT isn't able to follow a rewrite performed by PGO or itself.

@indygreg indygreg mentioned this pull request Dec 31, 2024
zanieb pushed a commit that referenced this pull request Jan 2, 2025
This is a redo of #420, which was merged prematurely.

With the BOLT changes from #463 merged, LLVM 19 _just works_.

As part of this we also modernize the BOLT apply settings to follow the
recommendations at
https://llvm.org/devmtg/2024-03/slides/practical-use-of-bolt.pdf.

This includes enabling support for loading hot code from a huge page at
runtime. This should _just work_ and could result in perf wins via
improved iTLB hit rate, etc.
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.

2 participants