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.
This PR attempts to add LLVM 19.1.0 support.
Added conditional compilation features.
The
llvm-19
,llvm-19-or-greater
, andllvm-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
, andshl
were removed.llvm-sys
reflects this, removing theLLVMICmp
,LLVMFCmp
, andLLVMShl
variants from theLLVMOpcode
enum.The corresponding variants on the
Constant
enum as well as the related structs and impls inllvm-ir
have been placed behind#[cfg(feature = "llvm-18-or-lower")]
.Added binary atomic operations:
llvm-sys
added variantsLLVMAtomicRMWBinOpUIncWrap
andLLVMAtomicRMWBinOpUDecWrap
to theLLVMAtomicRMWBinOp
enum.Variants
UIncWrap
andUDecWrap
have been added to theRMWBinOp
enum inllvm-ir
. TheirDisplay
outputs areuinc_wrap
andudec_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 theLLVMValueKind
enum. Thus, I have skipped it for now.LLVMIsAConstantPtrAuth
,LLVMGetConstantPtrAuthKey
,LLVMGetConstantPtrAuthPointer
,LLVMGetConstantPtrAuthDiscriminator
, andLLVMGetConstantPtrAuthAddrDiscriminator
may be worth looking at later.Changed package version
The package version of
llvm-ir
has been changed from0.11.1
to0.12.0
.