Skip to content

Update to LLVM 15

vadorovsky requested to merge vadorovsky/llvm-sys.rs:llvm-15 into main

This includes the following API changes:

  • New BLAKE3 API:
    • Structs:
      • llvm_blake3_chunk_state
      • llvm_blake3_hasher.
    • Functions:
      • llvm_blake3_version
      • llvm_blake3_hasher_init
      • llvm_blake3_hasher_init_keyed
      • llvm_blake3_hasher_init_derive_key
      • llvm_blake3_hasher_init_derive_key_raw
      • llvm_blake3_hasher_update
      • llvm_blake3_hasher_finalize
      • llvm_blake3_hasher_finalize_seek
      • llvm_blake3_hasher_reset
  • New functionns for interaction with opaque pointers:
    • LLVMContextSetOpaquePointers
    • LLVMPointerTypeIsOpaque
    • LLVMPointerTypeInContext
  • Change of signature of LLVMOpInfoCallback function type:
    • New arguments OpSize and InstSize.
    • Removal of Size argument.
  • New RMW atomic operations:
    • LLVMAtomicRMWBinOpFMax
    • LLVMAtomicRMWBinOpFMin
  • New LLVM binary type:
    • LLVMBinaryTypeOffload - offloading fatbinary.
  • New JIT symbol generic flag:
    • LLVMJITSymbolGenericFlagsNone
  • Renaming of LLVMJITCSymbolMapPair to LLVMOrcCSymbolMapPair.
  • New struct and type for JITDylib search order:
    • LLVMOrcCJITDylibSearchOrderElement
    • LLVMOrcCJITDylibSearchOrder
  • New ORC function types:
    • LLVMOrcDisposeCAPIDefinitionGeneratorFunction
    • LLVMOrcExecutionSessionLookupHandleResultFunction
  • New ORC functions:
    • LLVMOrcExecutionSessionLookup
    • LLVMOrcLookupStateContinueLookup
  • Change of signature of LLVMOrcCreateCustomCAPIDefinitionGenerator:
    • New Dispose argument.
  • Removal of coroutines header, which included functions:
    • LLVMAddCoroEarlyPass
    • LLVMAddCoroSplitPass
    • LLVMAddCoroElidePass
    • LLVMAddCoroCleanupPass
    • LLVMPassManagerBuilderAddCoroutinePassesToExtensionPoints
  • Removal of IPO functions:
    • LLVMAddArgumentPromotionPass
    • LLVMPassManagerBuilderPopulateLTOPassManager
  • Removal of one calar function:
    • LLVMAddLoopUnswitchPass
  • New LLVMGetCastOpcode function to aid users of LLVMBuildCast in resolving the best cast operation given a source value and destination type. This function is a direct wrapper of CastInst::getCastOpcode.
  • New LLVMGetAggregateElement function as a wrapper for Constant::getAggregateElement, which can be used to fetch an element of a constant struct, array or vector, independently of the underlying representation. The LLVMGetElementAsConstant function is deprecated in favor of the new function, which works on all constant aggregates, rather than only instances of ConstantDataSequential.
  • Removal of the following functions for creating constant expressions, because the underlying constant expressions are nno longer supported. Instead, an instruction should be created using the LLVMBuildXYZ APIs, which will constant fold the operands if possible and create an instruction otherwise:
    • LLVMConstExtractValue
    • LLVMConstInsertValue
    • LLVMConstUDiv
    • LLVMConstExactUDiv
    • LLVMConstSDiv
    • LLVMConstExactSDiv
    • LLVMConstURem
    • LLVMConstSRem
    • LLVMConstFAdd
    • LLVMConstFSub
    • LLVMConstFMul
    • LLVMConstFDiv
    • LLVMConstFRem
  • New LLVMDeleteInstruction function which allows deleting instructions that are not inserted into a basic block.

Signed-off-by: Michal Rostecki vadorovsky@gmail.com

Edited by vadorovsky

Merge request reports