Loading
Commits on Source 46
-
Peter Marheine authored
-
Peter Marheine authored
-
Peter Marheine authored
When cross-compiling, `cfg!(target_os)` and friends will be the configuration for the host rather than the target, since the build script runs on the host. Cargo provides the target's configuration via environment variables, so use those.
-
Peter Marheine authored
If we fail because there seems to be something wrong with library names, provide more output on what's expected and what we found. This should make cross-compilation related errors easier to spot, including Windows target-env mismatches as in #24 (which was user error but not easy to determine).
-
Peter Marheine authored
Be smarter about target-env See merge request taricorp/llvm-sys.rs!13
-
Peter Marheine authored
-
Peter Marheine authored
I'm not sure why I thought these didn't exist, since on examination upstream it seems the AsmPrinter has been implemented from very early in the RISC-V backend's life; assume the others were too.
-
Peter Marheine authored
-
Peter Marheine authored
-
leifhelm authored
-
Peter Marheine authored
orc2: Make struct fields public See merge request taricorp/llvm-sys.rs!14
-
Peter Marheine authored
-
leifhelm authored
-
Peter Marheine authored
orc2: Derive standard traits for enum types See merge request taricorp/llvm-sys.rs!16
-
Nikita Baksalyar authored
-
Peter Marheine authored
-
Peter Marheine authored
-
Tommi Pisto authored
-
Peter Marheine authored
Fixed LLVMOrcGenericIRModuleOperationFunction parameter order. See merge request taricorp/llvm-sys.rs!19
-
Peter Marheine authored
-
Zach Shipko authored
-
Peter Marheine authored
Add LLVMBuildPtrDiff2 See merge request taricorp/llvm-sys.rs!21
-
Peter Marheine authored
-
vad authored
Before this change, installing llvm-sys was sometimes failing with the "Could not determine LLVM version from llvm-config" error, which was occuring because of lack of straightforward error on non-existing llvm-config binary call. Fixes: #33
-
Peter Marheine authored
build: Return an error when the output of llvm-config is empty Closes #33 See merge request taricorp/llvm-sys.rs!22
-
Jille Timmermans authored
On Alpine Linux, old LLVM versions have binaries named llvm${major}-blah. -
Peter Marheine authored
Support for Alpine Linux llvm-config naming See merge request taricorp/llvm-sys.rs!24
-
vad 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>
-
Peter Marheine authored
In the C API that struct is public because it's embedded in the public llvm_blake3_hasher struct, but Rust allows us to make that type private.
-
Peter Marheine authored
-
Peter Marheine authored
On Arch Linux, we get the string '/usr/lib/libzstd.so.1.5.2' in llvm-config's output. The library name is just `zstd` so we need to trim the shared object version from the name as well as the `lib` prefix.
-
Peter Marheine authored
This only changes handling of system libraries so LLVM 15 works on Arch Linux.
-
Peter Marheine authored
The `ID` parameter was missing
-
Peter Marheine authored
-
Peter Marheine authored
This should fix #39, where library paths can sometimes appear on Mac like they do on other unix systems, but there are some quirks.
-
Peter Marheine authored
macOS: handle linking .dylib files by path Closes #39 See merge request taricorp/llvm-sys.rs!26
-
Peter Marheine authored
-
vad authored
This includes the following API changes: * Core: * New functions: * `LLVMGetVersion` * `LLVMTargetExtTypeInContext` * Removed functions: * `LLVMConstFNeg` * `LLVMConstGEP` * `LLVMConstInBoundsGEP` * `LLVMAddAlias` * `LLVMBuildInvoke` * `LLVMBuildLoad` * `LLVMBuildGEP` * `LLVMBuildInBoundsGEP` * `LLVMBuildStructGEP` * `LLVMBuildCall` * `LLVMBuildPtrDiff` * New type kind: * `LLVMTargetExtTypeKind` * New value kind: * `LLVMConstantTargetNoneValueKind` * Debug info: * New source languages known by DWARF: * `LLVMDWARFSourceLanguageKotlin` * `LLVMDWARFSourceLanguageZig` * `LLVMDWARFSourceLanguageCrystal` * `LLVMDWARFSourceLanguageC_plus_plus_17` * `LLVMDWARFSourceLanguageC_plus_plus_20` * `LLVMDWARFSourceLanguageC17` * `LLVMDWARFSourceLanguageFortran18` * `LLVMDWARFSourceLanguageAda2005` * `LLVMDWARFSourceLanguageAda2012` * New kind of metadata nodes: * `LLVMDIAssignIDMetadataKind` * Initializaton: * Removed functions: * `LLVMInitializeObjCARCOpts` * `LLVMInitializeAggressiveInstCombiner` * `LLVMInitializeInstrumentation` * Transforms: * Removed transforms: * `AggressiveInstCombine` * IPO: * Removed function: * `LLVMAddPruneEHPass` * OrcV2: * New function types: * `LLVMMemoryManagerCreateContextCallback` * `LLVMMemoryManagerNotifyTerminatingCallback` * New function: * `LLVMOrcCreateRTDyldObjectLinkingLayerWithMCJITMemoryManagerLikeCallbacks` Signed-off-by:Michal Rostecki <vadorovsky@gmail.com>
-
Peter Marheine authored
Update to LLVM 16 See merge request taricorp/llvm-sys.rs!28
-
Peter Marheine authored
This causes warnings when building and running examples, which aren't useful. Using MaybeUninit is safer overall, and while we're at it we can make the example a little easier to follow.
-
Peter Marheine authored
-
Alex Z authored
(cherry picked from commit 64b66ade4366050932be13daa8ff9831d2dd79b0) (cherry picked from commit 5bf37cb5eaa0fa47644e961b590f904fc8ef987e)
-
Peter Marheine authored
-
Peter Marheine authored
-
(cherry picked from commit a2c1146c3a7e99c2f500135ecc6078f9f14cf270) (cherry picked from commit c2c8e429cff4a09b058b37eddbf78d13138fbd6e) (cherry picked from commit 0e762772)
-
Peter Marheine authored