Update to LLVM 17
This includes the following API changes:
- Core
- New functions:
LLVMArrayType2
LLVMGetArrayLength2
LLVMIsAValueAsMetadata
LLVMConstArray2
LLVMReplaceMDNodeOperandWith
LLVMGetNUW
LLVMSetNUW
LLVMGetNSW
LLVMSetNSW
LLVMGetExact
LLVMSetExact
- Deprecated functions:
LLVMArrayType
LLVMGetArrayLength
LLVMConstArray
- Removed functions:
LLVMContextSetOpaquePointers
LLVMConstSelect
- New functions:
- Debug info
- New language:
- Mojo
- New function:
LLVMGetDINodeTag
- New language:
- Transforms
- PassRegistry and pass initialization removed, as they were
the part of legacy Pass Manager. This results in complete
removal of the following modules:
instcombine
ipo
pass_manager_builder
scalar
util
vectorize
- PassBuilder
- New function:
LLVMPassBuilderOptionsSetInlinerThreshold
- New function:
- PassRegistry and pass initialization removed, as they were
the part of legacy Pass Manager. This results in complete
removal of the following modules: