-
vadorovsky authored
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>
41ba9666vadorovsky authoredThis 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>
Loading