Update to LLVM 22.1.6#5364
Merged
Merged
Conversation
Member
Author
|
I'll be kicking off tier2, tier3, and weekly CI jobs on this branch to verify no issues with any. My assumption is they will all pass as this is a small upgrade for us, but, "we shall see". |
Member
Author
|
Tier 2: https://github.com/ponylang/ponyc/actions/runs/26419832587 passed with no issues. |
Member
Author
|
Tier 3: https://github.com/ponylang/ponyc/actions/runs/26424639378 Tier 3 is failing because the OpenBSD vm runs out of space. Working on addressing that so we can know it is good. The other BSDs all pass CI for this. Once the space issue was addressed, it passed: |
Member
Author
|
Weekly checks: https://github.com/ponylang/ponyc/actions/runs/26444668137 passed with no issue. |
Member
Author
|
modulo review, this is good to merge. |
LLVM 22 deprecated LLVMGetMDKindID and dropped the size argument from the llvm.lifetime.start/end intrinsics; adapt codegen to both, and add a codegen test asserting the lifetime intrinsics are emitted with a single argument. The larger LLVM 22 build overflowed the OpenBSD Tier 3 CI VM's /home (~10.8G), so build that job on a dedicated 50G data disk, mirroring the DragonFly job.
144ab76 to
85f3c33
Compare
jemc
approved these changes
May 27, 2026
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.
Updates the vendored LLVM from 21.1.8 to 22.1.6.
LLVM 22 forced two codegen changes.
LLVMGetMDKindIDis deprecated, so branch-weight metadata now goes throughLLVMGetMDKindIDInContext. The bigger one: thellvm.lifetime.startandllvm.lifetime.endintrinsics dropped their size argument and now take a single pointer. ponyc was still emitting the old two-argument form, which the LLVM 22 verifier rejects for any program with scoped locals, so codegen now emits the one-argument form. A new codegen test asserts the lifetime intrinsics are emitted with a single argument.Review turned up an unrelated pre-existing issue, an oversized argument array in
gencall_memmove, tracked separately in #5363.