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

LLVM 19.1.0 #65

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

Totobird-Creations
Copy link

This PR attempts to add LLVM 19.1.0 support.

Added conditional compilation features.

The llvm-19, llvm-19-or-greater, and llvm-19-or-lower features were added.

Removed constant expressions:

According to https://releases.llvm.org/19.1.0/docs/ReleaseNotes.html#changes-to-the-llvm-ir, the constant expressions icmp, fcmp, and shl were removed. llvm-sys reflects this, removing the LLVMICmp, LLVMFCmp, and LLVMShl variants from the LLVMOpcode enum.
The corresponding variants on the Constant enum as well as the related structs and impls in llvm-ir have been placed behind #[cfg(feature = "llvm-18-or-lower")].

Added binary atomic operations:

llvm-sys added variants LLVMAtomicRMWBinOpUIncWrap and LLVMAtomicRMWBinOpUDecWrap to the LLVMAtomicRMWBinOp enum.
Variants UIncWrap and UDecWrap have been added to the RMWBinOp enum in llvm-ir. Their Display outputs are uinc_wrap and udec_wrap, which can be found at https://releases.llvm.org/19.1.0/docs/LangRef.html#atomicrmw-instruction.

Pointer Authentication:

The LLVM 19.1.0 release notes mentions the addition of pointer authentication constants and pointer authentication operand bundles. However, llvm-sys doesn't seem to have added anything for it to the LLVMValueKind enum. Thus, I have skipped it for now. LLVMIsAConstantPtrAuth, LLVMGetConstantPtrAuthKey, LLVMGetConstantPtrAuthPointer, LLVMGetConstantPtrAuthDiscriminator, and LLVMGetConstantPtrAuthAddrDiscriminator may be worth looking at later.

Changed package version

The package version of llvm-ir has been changed from 0.11.1 to 0.12.0.

@Totobird-Creations
Copy link
Author

No idea how, but I seem to have completely missed PR 64. It hasn't been merged or closed yet, so I will leave this open for now, though it may not be needed.

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