Skip to content

Document LLVM 22 intrinsic signature changes in upgrade-llvm skill#82

Merged
SeanTAllen merged 1 commit into
mainfrom
upgrade-llvm-intrinsic-signature-changes
May 25, 2026
Merged

Document LLVM 22 intrinsic signature changes in upgrade-llvm skill#82
SeanTAllen merged 1 commit into
mainfrom
upgrade-llvm-intrinsic-signature-changes

Conversation

@SeanTAllen
Copy link
Copy Markdown
Owner

Prompted by the LLVM 22.1.6 upgrade in ponylang/ponyc#5364.

The llvm.lifetime.start/llvm.lifetime.end intrinsics dropped their size argument in LLVM 22. ponyc's two-argument emission compiled clean but failed at module verification, caught only by the full-program tests, not the build. Adds an "Intrinsic signature changes" section capturing that class of migration and the fact that it won't show up at build time.

Also clarifies the deprecated-variants section: under -Werror, only C-APIs carrying LLVM_ATTRIBUTE_C_DEPRECATED force a change. In 22.1.6 that was just LLVMGetMDKindID; the array/string variants are doc-comment deprecated only, so the list shouldn't be migrated wholesale.

The LLVM 22 upgrade hit a codegen bug the build could not catch: the llvm.lifetime intrinsics dropped their size argument, and ponyc's two-argument emission only failed at module verification, surfaced by the test suite. Capture that pattern, plus the -Werror/attribute distinction that determines which deprecated C-APIs actually force a change.
@SeanTAllen SeanTAllen merged commit 98caf02 into main May 25, 2026
@SeanTAllen SeanTAllen deleted the upgrade-llvm-intrinsic-signature-changes branch May 25, 2026 21:10
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.

1 participant