From ecc774eaf0bc2ef2b570b66fafb26692a361c5d3 Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Wed, 4 Nov 2026 15:21:35 -0800 Subject: [PATCH 1/3] Update managed bindings to LLVM 23.1.5 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- Directory.Build.props | 2 +- Directory.Packages.props | 4 +- .../Directory.Build.props | 2 +- sources/GenerateLLVM-LICENSE.txt | 2 +- sources/GenerateLLVM.rsp | 6 +- sources/GenerateLLVMSharp.rsp | 2 + .../Extensions/LLVM.Manual.cs | 2 +- .../Extensions/LLVMValueRef.cs | 17 +- sources/LLVMSharp.Interop/LLVM.cs | 2 +- .../LLVMSharp.Interop/Manual/LLVMComdat.cs | 2 +- .../Manual/LLVMDiagnosticHandler.cs | 2 +- .../Manual/LLVMFatalErrorHandler.cs | 2 +- .../Manual/LLVMJITCSymbolMapPair.cs | 2 +- ...emoryManagerAllocateCodeSectionCallback.cs | 2 +- ...emoryManagerAllocateDataSectionCallback.cs | 2 +- .../LLVMMemoryManagerDestroyCallback.cs | 2 +- ...LLVMMemoryManagerFinalizeMemoryCallback.cs | 2 +- .../Manual/LLVMOpInfoCallback.cs | 2 +- .../Manual/LLVMOpaqueAttributeRef.cs | 2 +- .../Manual/LLVMOpaqueBasicBlock.cs | 2 +- .../Manual/LLVMOpaqueBinary.cs | 2 +- .../Manual/LLVMOpaqueBuilder.cs | 2 +- .../Manual/LLVMOpaqueContext.cs | 2 +- .../Manual/LLVMOpaqueDIBuilder.cs | 2 +- .../Manual/LLVMOpaqueDbgRecord.cs | 2 +- .../Manual/LLVMOpaqueDiagnosticInfo.cs | 2 +- .../Manual/LLVMOpaqueError.cs | 2 +- .../Manual/LLVMOpaqueExecutionEngine.cs | 2 +- .../Manual/LLVMOpaqueGenericValue.cs | 2 +- .../Manual/LLVMOpaqueJITEventListener.cs | 2 +- .../Manual/LLVMOpaqueLTOCodeGenerator.cs | 2 +- .../Manual/LLVMOpaqueLTOInput.cs | 2 +- .../Manual/LLVMOpaqueLTOModule.cs | 2 +- .../Manual/LLVMOpaqueMCJITMemoryManager.cs | 2 +- .../Manual/LLVMOpaqueMemoryBuffer.cs | 2 +- .../Manual/LLVMOpaqueMetadata.cs | 2 +- .../Manual/LLVMOpaqueModule.cs | 2 +- .../Manual/LLVMOpaqueModuleFlagEntry.cs | 2 +- .../Manual/LLVMOpaqueModuleProvider.cs | 2 +- .../Manual/LLVMOpaqueNamedMDNode.cs | 2 +- .../Manual/LLVMOpaqueObjectFile.cs | 2 +- .../Manual/LLVMOpaqueOperandBundle.cs | 2 +- .../Manual/LLVMOpaquePass.cs | 2 +- .../Manual/LLVMOpaquePassBuilderOptions.cs | 2 +- .../Manual/LLVMOpaquePassManager.cs | 2 +- .../Manual/LLVMOpaquePassRegistry.cs | 2 +- .../Manual/LLVMOpaqueRelocationIterator.cs | 2 +- .../Manual/LLVMOpaqueSectionIterator.cs | 2 +- .../Manual/LLVMOpaqueSymbolIterator.cs | 2 +- .../Manual/LLVMOpaqueTargetData.cs | 2 +- .../LLVMOpaqueTargetLibraryInfotData.cs | 2 +- .../Manual/LLVMOpaqueTargetMachine.cs | 2 +- .../Manual/LLVMOpaqueTargetMachineOptions.cs | 2 +- .../Manual/LLVMOpaqueThinLTOCodeGenerator.cs | 2 +- .../Manual/LLVMOpaqueType.cs | 2 +- .../LLVMSharp.Interop/Manual/LLVMOpaqueUse.cs | 2 +- .../Manual/LLVMOpaqueValue.cs | 2 +- ...efinitionGeneratorTryToGenerateFunction.cs | 2 +- .../Manual/LLVMOrcErrorReporterFunction.cs | 2 +- ...LLVMOrcGenericIRModuleOperationFunction.cs | 2 +- ...LVMOrcIRTransformLayerTransformFunction.cs | 2 +- ...uilderObjectLinkingLayerCreatorFunction.cs | 2 +- ...VMOrcMaterializationUnitDestroyFunction.cs | 2 +- ...VMOrcMaterializationUnitDiscardFunction.cs | 2 +- ...cMaterializationUnitMaterializeFunction.cs | 2 +- ...rcObjectTransformLayerTransformFunction.cs | 2 +- .../LLVMOrcOpaqueDefinitionGenerator.cs | 2 +- .../Manual/LLVMOrcOpaqueDumpObjects.cs | 2 +- .../Manual/LLVMOrcOpaqueExecutionSession.cs | 2 +- .../Manual/LLVMOrcOpaqueIRTransformLayer.cs | 2 +- .../LLVMOrcOpaqueIndirectStubsManager.cs | 2 +- .../Manual/LLVMOrcOpaqueJITDylib.cs | 2 +- .../LLVMOrcOpaqueJITTargetMachineBuilder.cs | 2 +- .../Manual/LLVMOrcOpaqueLLJIT.cs | 2 +- .../Manual/LLVMOrcOpaqueLLJITBuilder.cs | 2 +- .../LLVMOrcOpaqueLazyCallThroughManager.cs | 2 +- .../Manual/LLVMOrcOpaqueLookupState.cs | 2 +- ...MOrcOpaqueMaterializationResponsibility.cs | 2 +- .../LLVMOrcOpaqueMaterializationUnit.cs | 2 +- .../Manual/LLVMOrcOpaqueObjectLayer.cs | 2 +- .../LLVMOrcOpaqueObjectTransformLayer.cs | 2 +- .../Manual/LLVMOrcOpaqueResourceTracker.cs | 2 +- .../Manual/LLVMOrcOpaqueSymbolStringPool.cs | 2 +- .../LLVMOrcOpaqueSymbolStringPoolEntry.cs | 2 +- .../Manual/LLVMOrcOpaqueThreadSafeContext.cs | 2 +- .../Manual/LLVMOrcOpaqueThreadSafeModule.cs | 2 +- .../Manual/LLVMOrcSymbolPredicate.cs | 2 +- .../Manual/LLVMRemarkOpaqueArg.cs | 2 +- .../Manual/LLVMRemarkOpaqueDebugLoc.cs | 2 +- .../Manual/LLVMRemarkOpaqueEntry.cs | 2 +- .../Manual/LLVMRemarkOpaqueParser.cs | 2 +- .../Manual/LLVMRemarkOpaqueString.cs | 2 +- .../Manual/LLVMSharpOpaqueHandles.cs | 23 ++ .../Manual/LLVMSymbolLookupCallback.cs | 2 +- .../LLVMSharp.Interop/Manual/LLVMTarget.cs | 2 +- .../Manual/LLVMValueMetadataEntry.cs | 2 +- .../Manual/LLVMYieldCallback.cs | 2 +- .../Manual/lto_diagnostic_handler_t.cs | 2 +- sources/LLVMSharp.Interop/llvm/LLVM.cs | 59 +++- .../llvm/LLVMAtomicOrdering.cs | 2 +- .../llvm/LLVMAtomicRMWBinOp.cs | 4 +- .../llvm/LLVMAttributeIndex.cs | 2 +- .../LLVMSharp.Interop/llvm/LLVMBinaryType.cs | 2 +- .../llvm/LLVMByteOrdering.cs | 2 +- .../LLVMSharp.Interop/llvm/LLVMCallConv.cs | 2 +- .../llvm/LLVMChecksumKind.cs | 2 +- .../llvm/LLVMCodeGenFileType.cs | 2 +- .../llvm/LLVMCodeGenOptLevel.cs | 2 +- .../LLVMSharp.Interop/llvm/LLVMCodeModel.cs | 2 +- .../llvm/LLVMComdatSelectionKind.cs | 2 +- sources/LLVMSharp.Interop/llvm/LLVMDIFlags.cs | 2 +- .../llvm/LLVMDLLStorageClass.cs | 2 +- .../llvm/LLVMDWARFEmissionKind.cs | 2 +- .../llvm/LLVMDWARFMacinfoRecordType.cs | 2 +- .../llvm/LLVMDWARFSourceLanguage.cs | 2 +- .../llvm/LLVMDbgRecordKind.cs | 2 +- .../llvm/LLVMDenormalModeKind.cs | 14 + .../llvm/LLVMDiagnosticSeverity.cs | 2 +- .../llvm/LLVMFastMathFlags.cs | 2 +- .../llvm/LLVMGEPNoWrapFlags.cs | 2 +- .../llvm/LLVMGlobalISelAbortMode.cs | 2 +- .../llvm/LLVMInlineAsmDialect.cs | 2 +- .../llvm/LLVMIntPredicate.cs | 2 +- .../llvm/LLVMJITEvaluatedSymbol.cs | 2 +- .../llvm/LLVMJITSymbolFlags.cs | 2 +- .../llvm/LLVMJITSymbolGenericFlags.cs | 10 +- sources/LLVMSharp.Interop/llvm/LLVMLinkage.cs | 2 +- .../LLVMSharp.Interop/llvm/LLVMLinkerMode.cs | 2 +- .../llvm/LLVMMCJITCompilerOptions.cs | 2 +- .../llvm/LLVMMetadataKind.cs | 2 +- .../llvm/LLVMModuleFlagBehavior.cs | 2 +- sources/LLVMSharp.Interop/llvm/LLVMOpInfo1.cs | 2 +- .../llvm/LLVMOpInfoSymbol1.cs | 2 +- sources/LLVMSharp.Interop/llvm/LLVMOpcode.cs | 5 +- .../llvm/LLVMOrcCDependenceMapPair.cs | 2 +- .../LLVMOrcCJITDylibSearchOrderElement.cs | 2 +- .../llvm/LLVMOrcCLookupSetElement.cs | 2 +- .../llvm/LLVMOrcCSymbolAliasMapEntry.cs | 2 +- .../llvm/LLVMOrcCSymbolAliasMapPair.cs | 2 +- .../llvm/LLVMOrcCSymbolDependenceGroup.cs | 2 +- .../llvm/LLVMOrcCSymbolFlagsMapPair.cs | 2 +- .../llvm/LLVMOrcCSymbolMapPair.cs | 2 +- .../llvm/LLVMOrcCSymbolsList.cs | 2 +- .../llvm/LLVMOrcJITDylibLookupFlags.cs | 2 +- .../llvm/LLVMOrcLookupKind.cs | 2 +- .../llvm/LLVMOrcSymbolLookupFlags.cs | 2 +- .../llvm/LLVMRealPredicate.cs | 2 +- .../LLVMSharp.Interop/llvm/LLVMRelocMode.cs | 2 +- .../LLVMSharp.Interop/llvm/LLVMRemarkType.cs | 2 +- .../llvm/LLVMTailCallKind.cs | 2 +- .../llvm/LLVMThreadLocalMode.cs | 2 +- .../LLVMSharp.Interop/llvm/LLVMTypeKind.cs | 3 +- .../LLVMSharp.Interop/llvm/LLVMUnnamedAddr.cs | 2 +- .../LLVMSharp.Interop/llvm/LLVMValueKind.cs | 3 +- .../llvm/LLVMVerifierFailureAction.cs | 2 +- .../LLVMSharp.Interop/llvm/LLVMVisibility.cs | 2 +- .../LLVMSharp.Interop/llvm/LTOObjectBuffer.cs | 2 +- .../llvm/llvm_blake3_chunk_state.cs | 2 +- .../llvm/llvm_blake3_hasher.cs | 2 +- .../llvm/lto_codegen_diagnostic_severity_t.cs | 2 +- .../llvm/lto_codegen_model.cs | 2 +- .../LLVMSharp.Interop/llvm/lto_debug_model.cs | 2 +- .../llvm/lto_symbol_attributes.cs | 2 +- .../LLVMSharp.Interop/llvmsharp/llvmsharp.cs | 264 +++++++++++++++++- .../Users/Instructions/Instruction.TermOps.cs | 25 +- tests/LLVMSharp.UnitTests/ManagedApi.cs | 9 +- 167 files changed, 556 insertions(+), 196 deletions(-) create mode 100644 sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueHandles.cs create mode 100644 sources/LLVMSharp.Interop/llvm/LLVMDenormalModeKind.cs diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 12397c9d..49e87da4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -99,7 +99,7 @@ jobs: os: [ macos ] steps: - uses: actions/checkout@v4 - # libLLVM 22.1.8 was linked against this Homebrew Z3 ABI. + # The published macOS libLLVM package uses this Homebrew Z3 ABI. - name: Install libLLVM Z3 dependency env: HOMEBREW_NO_AUTO_UPDATE: 1 diff --git a/Directory.Build.props b/Directory.Build.props index 212b827f..4697c2b4 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -47,7 +47,7 @@ 20.1.2 LLVMSharp LLVMSharp - 22.1.8.0 + 23.1.5.0 rc1 pr diff --git a/Directory.Packages.props b/Directory.Packages.props index 4edc7b9d..553d10c5 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -12,8 +12,8 @@ - - + + diff --git a/samples/KaleidoscopeTutorial/Directory.Build.props b/samples/KaleidoscopeTutorial/Directory.Build.props index 15a29ea8..1fe112fb 100644 --- a/samples/KaleidoscopeTutorial/Directory.Build.props +++ b/samples/KaleidoscopeTutorial/Directory.Build.props @@ -18,7 +18,7 @@ - + diff --git a/sources/GenerateLLVM-LICENSE.txt b/sources/GenerateLLVM-LICENSE.txt index 582b804c..dfbed2aa 100644 --- a/sources/GenerateLLVM-LICENSE.txt +++ b/sources/GenerateLLVM-LICENSE.txt @@ -1,4 +1,4 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. diff --git a/sources/GenerateLLVM.rsp b/sources/GenerateLLVM.rsp index 044f03ec..9c564c2c 100644 --- a/sources/GenerateLLVM.rsp +++ b/sources/GenerateLLVM.rsp @@ -95,9 +95,9 @@ llvm_blake3_version=@blake3_version LLVM_BLAKE3_VERSION_STRING=@BLAKE3_VERSION_STRING LLVMOpaqueValueMetadataEntry=LLVMValueMetadataEntry LLVMOpaqueModuleFlagEntry=LLVMModuleFlagEntry -__AnonymousEnum_Core_L473_C1=@LLVMAttributeIndex -__AnonymousEnum_Core_L497_C1=@LLVMFastMathFlags -__AnonymousEnum_Core_L520_C1=@LLVMGEPNoWrapFlags +__AnonymousEnum_Core_L483_C1=@LLVMAttributeIndex +__AnonymousEnum_Core_L507_C1=@LLVMFastMathFlags +__AnonymousEnum_Core_L530_C1=@LLVMGEPNoWrapFlags __AnonymousEnum_DebugInfo_L164_C1=@LLVMMetadataKind --test-output ./tests/LLVMSharp.UnitTests/Interop diff --git a/sources/GenerateLLVMSharp.rsp b/sources/GenerateLLVMSharp.rsp index 443d5e92..a844ac79 100644 --- a/sources/GenerateLLVMSharp.rsp +++ b/sources/GenerateLLVMSharp.rsp @@ -23,6 +23,8 @@ multi-file preview-codegen trimmable-vtbls unix-types +--exclude +LLVM_FOR_EACH_METADATA_SUBCLASS --define-macro _SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING LLVMSharp_EXPORTS diff --git a/sources/LLVMSharp.Interop/Extensions/LLVM.Manual.cs b/sources/LLVMSharp.Interop/Extensions/LLVM.Manual.cs index b182d3a5..874bea69 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVM.Manual.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVM.Manual.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMValueRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMValueRef.cs index c47f2af2..311bf300 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMValueRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMValueRef.cs @@ -127,7 +127,7 @@ public readonly LLVMValueRef Condition { get { - return (IsABranchInst != null) ? LLVM.GetCondition(this) : default; + return (IsACondBrInst != null) ? LLVM.GetCondition(this) : default; } set @@ -505,7 +505,14 @@ public readonly uint InstructionCallConv public readonly LLVMValueRef IsABlockAddress => LLVM.IsABlockAddress(this); - public readonly LLVMValueRef IsABranchInst => LLVM.IsABranchInst(this); + public readonly LLVMValueRef IsABranchInst + { + get + { + var unconditionalBranch = IsAUncondBrInst; + return (unconditionalBranch != null) ? unconditionalBranch : IsACondBrInst; + } + } public readonly LLVMValueRef IsACallBrInst => LLVM.IsACallBrInst(this); @@ -525,6 +532,8 @@ public readonly uint InstructionCallConv public readonly LLVMValueRef IsACmpInst => LLVM.IsACmpInst(this); + public readonly LLVMValueRef IsACondBrInst => LLVM.IsACondBrInst(this); + public readonly LLVMValueRef IsAConstant => LLVM.IsAConstant(this); public readonly LLVMValueRef IsAConstantAggregateZero => LLVM.IsAConstantAggregateZero(this); @@ -661,6 +670,8 @@ public readonly uint InstructionCallConv public readonly LLVMValueRef IsAUndefValue => LLVM.IsAUndefValue(this); + public readonly LLVMValueRef IsAUncondBrInst => LLVM.IsAUncondBrInst(this); + public readonly LLVMValueRef IsAUnreachableInst => LLVM.IsAUnreachableInst(this); public readonly LLVMValueRef IsAUser => LLVM.IsAUser(this); @@ -701,7 +712,7 @@ public readonly bool IsCleanup } } - public readonly bool IsConditional => (IsABranchInst != null) && LLVM.IsConditional(this) != 0; + public readonly bool IsConditional => IsACondBrInst != null; public readonly bool IsConstant => (Handle != IntPtr.Zero) && LLVM.IsConstant(this) != 0; diff --git a/sources/LLVMSharp.Interop/LLVM.cs b/sources/LLVMSharp.Interop/LLVM.cs index a9b319ed..95ba87d6 100644 --- a/sources/LLVMSharp.Interop/LLVM.cs +++ b/sources/LLVMSharp.Interop/LLVM.cs @@ -15,7 +15,7 @@ public static unsafe partial class LLVM { public static event DllImportResolver? ResolveLibrary; - public const int MajorVersion = 22; + public const int MajorVersion = 23; public const int MinorVersion = 1; static LLVM() diff --git a/sources/LLVMSharp.Interop/Manual/LLVMComdat.cs b/sources/LLVMSharp.Interop/Manual/LLVMComdat.cs index 474ba5a8..fdf61f4b 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMComdat.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMComdat.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMDiagnosticHandler.cs b/sources/LLVMSharp.Interop/Manual/LLVMDiagnosticHandler.cs index 11607290..a5aa787e 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMDiagnosticHandler.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMDiagnosticHandler.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMFatalErrorHandler.cs b/sources/LLVMSharp.Interop/Manual/LLVMFatalErrorHandler.cs index 376533b8..d0d2146d 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMFatalErrorHandler.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMFatalErrorHandler.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMJITCSymbolMapPair.cs b/sources/LLVMSharp.Interop/Manual/LLVMJITCSymbolMapPair.cs index d8b7a24d..e81c9bca 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMJITCSymbolMapPair.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMJITCSymbolMapPair.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateCodeSectionCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateCodeSectionCallback.cs index e6f25f0c..baaaf918 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateCodeSectionCallback.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateCodeSectionCallback.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateDataSectionCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateDataSectionCallback.cs index ff470280..16fc98a3 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateDataSectionCallback.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateDataSectionCallback.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerDestroyCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerDestroyCallback.cs index 8aa64eea..e7dfb722 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerDestroyCallback.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerDestroyCallback.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerFinalizeMemoryCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerFinalizeMemoryCallback.cs index 50e9a133..ff50ecc4 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerFinalizeMemoryCallback.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerFinalizeMemoryCallback.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpInfoCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpInfoCallback.cs index f3d074ef..449acc9c 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpInfoCallback.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpInfoCallback.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueAttributeRef.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueAttributeRef.cs index b76f78a1..c715c876 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueAttributeRef.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueAttributeRef.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBasicBlock.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBasicBlock.cs index 533cd7f1..623a0a7a 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBasicBlock.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBasicBlock.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBinary.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBinary.cs index 24ece9cf..9fe42408 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBinary.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBinary.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBuilder.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBuilder.cs index 0833cf17..1ab9e302 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBuilder.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBuilder.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueContext.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueContext.cs index 1a36391a..de5bad8a 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueContext.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueContext.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDIBuilder.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDIBuilder.cs index 08b0da9d..1629d436 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDIBuilder.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDIBuilder.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDbgRecord.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDbgRecord.cs index 0224cd03..fb2236fd 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDbgRecord.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDbgRecord.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDiagnosticInfo.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDiagnosticInfo.cs index d2b83186..891bc129 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDiagnosticInfo.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDiagnosticInfo.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueError.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueError.cs index 5d1f112a..046d95e0 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueError.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueError.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueExecutionEngine.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueExecutionEngine.cs index 0d9589e6..db096754 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueExecutionEngine.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueExecutionEngine.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueGenericValue.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueGenericValue.cs index bf0af399..d904a7ce 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueGenericValue.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueGenericValue.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueJITEventListener.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueJITEventListener.cs index 730cdb7d..d947da50 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueJITEventListener.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueJITEventListener.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOCodeGenerator.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOCodeGenerator.cs index aacecb0e..7f4e1036 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOCodeGenerator.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOCodeGenerator.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOInput.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOInput.cs index a5c028d3..1b4ba469 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOInput.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOInput.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOModule.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOModule.cs index 1992a2a9..6085f65a 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOModule.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOModule.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMCJITMemoryManager.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMCJITMemoryManager.cs index fa45cf80..b3dbdb2b 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMCJITMemoryManager.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMCJITMemoryManager.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMemoryBuffer.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMemoryBuffer.cs index 2bc7218e..b48b9377 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMemoryBuffer.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMemoryBuffer.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMetadata.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMetadata.cs index dbd1cb1d..281be77f 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMetadata.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMetadata.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModule.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModule.cs index 5140f4a9..013a41dc 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModule.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModule.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleFlagEntry.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleFlagEntry.cs index bc302a17..89629514 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleFlagEntry.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleFlagEntry.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleProvider.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleProvider.cs index 7914096b..3bb38ae0 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleProvider.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleProvider.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueNamedMDNode.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueNamedMDNode.cs index 6cf2a05c..8a006e79 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueNamedMDNode.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueNamedMDNode.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueObjectFile.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueObjectFile.cs index 5a3b084d..5bb7c9e2 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueObjectFile.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueObjectFile.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueOperandBundle.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueOperandBundle.cs index 5edeb569..10d60376 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueOperandBundle.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueOperandBundle.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaquePass.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePass.cs index 4501febc..ca86a0d5 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaquePass.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePass.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassBuilderOptions.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassBuilderOptions.cs index e065280f..8b935457 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassBuilderOptions.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassBuilderOptions.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassManager.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassManager.cs index 62d7dd85..26736919 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassManager.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassManager.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassRegistry.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassRegistry.cs index d758c43d..c80a587b 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassRegistry.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassRegistry.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueRelocationIterator.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueRelocationIterator.cs index 44714cb2..ae54406b 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueRelocationIterator.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueRelocationIterator.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSectionIterator.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSectionIterator.cs index d2c52f59..5e4db2f4 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSectionIterator.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSectionIterator.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSymbolIterator.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSymbolIterator.cs index af64d026..85611626 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSymbolIterator.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSymbolIterator.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetData.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetData.cs index ab7f9c78..0e41c2ac 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetData.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetData.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetLibraryInfotData.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetLibraryInfotData.cs index e7ced040..e648df0a 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetLibraryInfotData.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetLibraryInfotData.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetMachine.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetMachine.cs index 4aaa0545..ea46ff72 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetMachine.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetMachine.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetMachineOptions.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetMachineOptions.cs index 205d54a5..557d056c 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetMachineOptions.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetMachineOptions.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueThinLTOCodeGenerator.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueThinLTOCodeGenerator.cs index 8409842d..25c5e060 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueThinLTOCodeGenerator.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueThinLTOCodeGenerator.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueType.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueType.cs index 4ffd2a2f..342d67e6 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueType.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueType.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueUse.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueUse.cs index 425732f8..6ebbc1b5 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueUse.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueUse.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueValue.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueValue.cs index 15f8cef4..62d0fe05 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueValue.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueValue.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction.cs index 727b623c..e5cdb3d0 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcErrorReporterFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcErrorReporterFunction.cs index f746f271..eb65029e 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcErrorReporterFunction.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcErrorReporterFunction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcGenericIRModuleOperationFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcGenericIRModuleOperationFunction.cs index 574752bd..82dfaf54 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcGenericIRModuleOperationFunction.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcGenericIRModuleOperationFunction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcIRTransformLayerTransformFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcIRTransformLayerTransformFunction.cs index 57c3fec5..3343fdd1 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcIRTransformLayerTransformFunction.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcIRTransformLayerTransformFunction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction.cs index 9bc2d0a8..4eaaabae 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDestroyFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDestroyFunction.cs index 903b6d51..003901b3 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDestroyFunction.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDestroyFunction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDiscardFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDiscardFunction.cs index 49aa0bc6..e5cc12f6 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDiscardFunction.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDiscardFunction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitMaterializeFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitMaterializeFunction.cs index 2a893696..0e43810d 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitMaterializeFunction.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitMaterializeFunction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcObjectTransformLayerTransformFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcObjectTransformLayerTransformFunction.cs index 33d8581b..d4f95cd6 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcObjectTransformLayerTransformFunction.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcObjectTransformLayerTransformFunction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDefinitionGenerator.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDefinitionGenerator.cs index bd721635..edef82b1 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDefinitionGenerator.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDefinitionGenerator.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDumpObjects.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDumpObjects.cs index df5257ea..309cfd5f 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDumpObjects.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDumpObjects.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueExecutionSession.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueExecutionSession.cs index ac5a9e1b..c3d771eb 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueExecutionSession.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueExecutionSession.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIRTransformLayer.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIRTransformLayer.cs index 864e3e4f..7f02e3e4 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIRTransformLayer.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIRTransformLayer.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIndirectStubsManager.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIndirectStubsManager.cs index 8e21d0db..bca40f1d 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIndirectStubsManager.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIndirectStubsManager.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITDylib.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITDylib.cs index e31e5334..5c9212b1 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITDylib.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITDylib.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITTargetMachineBuilder.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITTargetMachineBuilder.cs index d594e136..dceea870 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITTargetMachineBuilder.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITTargetMachineBuilder.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJIT.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJIT.cs index 06c88dc4..403ebb83 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJIT.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJIT.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJITBuilder.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJITBuilder.cs index 49bdd3b8..f0ed99f6 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJITBuilder.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJITBuilder.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLazyCallThroughManager.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLazyCallThroughManager.cs index 82702c58..003d3d51 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLazyCallThroughManager.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLazyCallThroughManager.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLookupState.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLookupState.cs index 1aa77d30..55c89dab 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLookupState.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLookupState.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationResponsibility.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationResponsibility.cs index c2d6fe64..91b63736 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationResponsibility.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationResponsibility.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationUnit.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationUnit.cs index 53d2ff33..e2b0bb18 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationUnit.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationUnit.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectLayer.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectLayer.cs index 772622f7..09106258 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectLayer.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectLayer.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectTransformLayer.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectTransformLayer.cs index f58997c4..f90b1246 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectTransformLayer.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectTransformLayer.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueResourceTracker.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueResourceTracker.cs index 69727894..e21c2051 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueResourceTracker.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueResourceTracker.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPool.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPool.cs index f316eb4c..896153eb 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPool.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPool.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPoolEntry.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPoolEntry.cs index b424858d..407a7c62 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPoolEntry.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPoolEntry.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeContext.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeContext.cs index 0a8f0d3a..474d7693 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeContext.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeContext.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeModule.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeModule.cs index d35bb327..a5e42a08 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeModule.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeModule.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcSymbolPredicate.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcSymbolPredicate.cs index f5da40dd..c3704da8 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMOrcSymbolPredicate.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcSymbolPredicate.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueArg.cs b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueArg.cs index 8dbc27dc..d54da524 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueArg.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueArg.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueDebugLoc.cs b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueDebugLoc.cs index b1d905d0..beb77fc4 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueDebugLoc.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueDebugLoc.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueEntry.cs b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueEntry.cs index d0b3b299..be8c91ee 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueEntry.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueEntry.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueParser.cs b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueParser.cs index a46897cc..00726f9c 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueParser.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueParser.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueString.cs b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueString.cs index 4a205901..e667398e 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueString.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueString.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueHandles.cs b/sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueHandles.cs new file mode 100644 index 00000000..d178b610 --- /dev/null +++ b/sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueHandles.cs @@ -0,0 +1,23 @@ +// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +namespace LLVMSharp.Interop; + +public partial struct LLVMSharpOpaqueDominatorTree +{ +} + +public partial struct LLVMSharpOpaqueLoop +{ +} + +public partial struct LLVMSharpOpaqueLoopInfo +{ +} + +public partial struct LLVMSharpOpaquePostDominatorTree +{ +} + +public partial struct LLVMSharpOpaqueTargetTransformInfo +{ +} diff --git a/sources/LLVMSharp.Interop/Manual/LLVMSymbolLookupCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMSymbolLookupCallback.cs index 4e7d8319..3102b21a 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMSymbolLookupCallback.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMSymbolLookupCallback.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMTarget.cs b/sources/LLVMSharp.Interop/Manual/LLVMTarget.cs index c032ac09..2e7617e5 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMTarget.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMTarget.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMValueMetadataEntry.cs b/sources/LLVMSharp.Interop/Manual/LLVMValueMetadataEntry.cs index e3646223..4886a956 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMValueMetadataEntry.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMValueMetadataEntry.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMYieldCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMYieldCallback.cs index 3722815d..f36bdb8f 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMYieldCallback.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMYieldCallback.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/Manual/lto_diagnostic_handler_t.cs b/sources/LLVMSharp.Interop/Manual/lto_diagnostic_handler_t.cs index 01a66468..8928b564 100644 --- a/sources/LLVMSharp.Interop/Manual/lto_diagnostic_handler_t.cs +++ b/sources/LLVMSharp.Interop/Manual/lto_diagnostic_handler_t.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/llvm/LLVM.cs b/sources/LLVMSharp.Interop/llvm/LLVM.cs index 0121f97b..8dd6703e 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVM.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVM.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System; @@ -233,6 +233,10 @@ public static unsafe partial class LLVM [return: NativeTypeName("LLVMAttributeRef")] public static extern LLVMOpaqueAttributeRef* CreateConstantRangeAttribute([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C, [NativeTypeName("unsigned int")] uint KindID, [NativeTypeName("unsigned int")] uint NumBits, [NativeTypeName("const uint64_t[]")] ulong* LowerWords, [NativeTypeName("const uint64_t[]")] ulong* UpperWords); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMCreateDenormalFPEnvAttribute", ExactSpelling = true)] + [return: NativeTypeName("LLVMAttributeRef")] + public static extern LLVMOpaqueAttributeRef* CreateDenormalFPEnvAttribute([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C, LLVMDenormalModeKind DefaultModeOutput, LLVMDenormalModeKind DefaultModeInput, LLVMDenormalModeKind FloatModeOutput, LLVMDenormalModeKind FloatModeInput); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMCreateStringAttribute", ExactSpelling = true)] [return: NativeTypeName("LLVMAttributeRef")] public static extern LLVMOpaqueAttributeRef* CreateStringAttribute([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C, [NativeTypeName("const char *")] sbyte* K, [NativeTypeName("unsigned int")] uint KLength, [NativeTypeName("const char *")] sbyte* V, [NativeTypeName("unsigned int")] uint VLength); @@ -507,6 +511,14 @@ public static unsafe partial class LLVM [return: NativeTypeName("char *")] public static extern sbyte* PrintTypeToString([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* Val); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMByteTypeInContext", ExactSpelling = true)] + [return: NativeTypeName("LLVMTypeRef")] + public static extern LLVMOpaqueType* ByteTypeInContext([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C, [NativeTypeName("unsigned int")] uint NumBits); + + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetByteTypeWidth", ExactSpelling = true)] + [return: NativeTypeName("unsigned int")] + public static extern uint GetByteTypeWidth([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ByteTy); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMInt1TypeInContext", ExactSpelling = true)] [return: NativeTypeName("LLVMTypeRef")] public static extern LLVMOpaqueType* Int1TypeInContext([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C); @@ -929,6 +941,10 @@ public static unsafe partial class LLVM [return: NativeTypeName("LLVMValueRef")] public static extern LLVMOpaqueValue* IsAConstantInt([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIsAConstantByte", ExactSpelling = true)] + [return: NativeTypeName("LLVMValueRef")] + public static extern LLVMOpaqueValue* IsAConstantByte([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIsAConstantPointerNull", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] public static extern LLVMOpaqueValue* IsAConstantPointerNull([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val); @@ -1081,9 +1097,13 @@ public static unsafe partial class LLVM [return: NativeTypeName("LLVMValueRef")] public static extern LLVMOpaqueValue* IsAStoreInst([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val); - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIsABranchInst", ExactSpelling = true)] + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIsAUncondBrInst", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* IsABranchInst([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val); + public static extern LLVMOpaqueValue* IsAUncondBrInst([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val); + + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIsACondBrInst", ExactSpelling = true)] + [return: NativeTypeName("LLVMValueRef")] + public static extern LLVMOpaqueValue* IsACondBrInst([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIsAIndirectBrInst", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] @@ -1229,6 +1249,11 @@ public static unsafe partial class LLVM [return: NativeTypeName("LLVMValueRef")] public static extern LLVMOpaqueValue* IsAFenceInst([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIsABranchInst", ExactSpelling = true)] + [return: NativeTypeName("LLVMValueRef")] + [Obsolete("Use LLVMIsAUncondBrInst/LLVMIsACondBrInst instead")] + public static extern LLVMOpaqueValue* IsABranchInst([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIsAMDNode", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] public static extern LLVMOpaqueValue* IsAMDNode([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val); @@ -1318,6 +1343,18 @@ public static unsafe partial class LLVM [return: NativeTypeName("LLVMValueRef")] public static extern LLVMOpaqueValue* ConstIntOfStringAndSize([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* IntTy, [NativeTypeName("const char *")] sbyte* Text, [NativeTypeName("unsigned int")] uint SLen, [NativeTypeName("uint8_t")] byte Radix); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstByte", ExactSpelling = true)] + [return: NativeTypeName("LLVMValueRef")] + public static extern LLVMOpaqueValue* ConstByte([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ByteTy, [NativeTypeName("unsigned long long")] ulong N); + + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstByteOfArbitraryPrecision", ExactSpelling = true)] + [return: NativeTypeName("LLVMValueRef")] + public static extern LLVMOpaqueValue* ConstByteOfArbitraryPrecision([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ByteTy, [NativeTypeName("unsigned int")] uint NumWords, [NativeTypeName("const uint64_t[]")] ulong* Words); + + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstByteOfStringAndSize", ExactSpelling = true)] + [return: NativeTypeName("LLVMValueRef")] + public static extern LLVMOpaqueValue* ConstByteOfStringAndSize([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ByteTy, [NativeTypeName("const char *")] sbyte* Text, [NativeTypeName("size_t")] nuint SLen, [NativeTypeName("uint8_t")] byte Radix); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstReal", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] public static extern LLVMOpaqueValue* ConstReal([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* RealTy, double N); @@ -1342,6 +1379,14 @@ public static unsafe partial class LLVM [return: NativeTypeName("long long")] public static extern long ConstIntGetSExtValue([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstByteGetZExtValue", ExactSpelling = true)] + [return: NativeTypeName("unsigned long long")] + public static extern ulong ConstByteGetZExtValue([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal); + + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstByteGetSExtValue", ExactSpelling = true)] + [return: NativeTypeName("long long")] + public static extern long ConstByteGetSExtValue([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstRealGetDouble", ExactSpelling = true)] public static extern double ConstRealGetDouble([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMBool *")] int* losesInfo); @@ -1746,11 +1791,11 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetIntrinsicDeclaration", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* GetIntrinsicDeclaration([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* Mod, [NativeTypeName("unsigned int")] uint ID, [NativeTypeName("LLVMTypeRef *")] LLVMOpaqueType** ParamTypes, [NativeTypeName("size_t")] nuint ParamCount); + public static extern LLVMOpaqueValue* GetIntrinsicDeclaration([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* Mod, [NativeTypeName("unsigned int")] uint ID, [NativeTypeName("LLVMTypeRef *")] LLVMOpaqueType** OverloadTypes, [NativeTypeName("size_t")] nuint OverloadCount); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIntrinsicGetType", ExactSpelling = true)] [return: NativeTypeName("LLVMTypeRef")] - public static extern LLVMOpaqueType* IntrinsicGetType([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* Ctx, [NativeTypeName("unsigned int")] uint ID, [NativeTypeName("LLVMTypeRef *")] LLVMOpaqueType** ParamTypes, [NativeTypeName("size_t")] nuint ParamCount); + public static extern LLVMOpaqueType* IntrinsicGetType([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* Ctx, [NativeTypeName("unsigned int")] uint ID, [NativeTypeName("LLVMTypeRef *")] LLVMOpaqueType** OverloadTypes, [NativeTypeName("size_t")] nuint OverloadCount); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIntrinsicGetName", ExactSpelling = true)] [return: NativeTypeName("const char *")] @@ -1758,11 +1803,11 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIntrinsicCopyOverloadedName", ExactSpelling = true)] [return: NativeTypeName("char *")] - public static extern sbyte* IntrinsicCopyOverloadedName([NativeTypeName("unsigned int")] uint ID, [NativeTypeName("LLVMTypeRef *")] LLVMOpaqueType** ParamTypes, [NativeTypeName("size_t")] nuint ParamCount, [NativeTypeName("size_t *")] nuint* NameLength); + public static extern sbyte* IntrinsicCopyOverloadedName([NativeTypeName("unsigned int")] uint ID, [NativeTypeName("LLVMTypeRef *")] LLVMOpaqueType** OverloadTypes, [NativeTypeName("size_t")] nuint OverloadCount, [NativeTypeName("size_t *")] nuint* NameLength); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIntrinsicCopyOverloadedName2", ExactSpelling = true)] [return: NativeTypeName("char *")] - public static extern sbyte* IntrinsicCopyOverloadedName2([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* Mod, [NativeTypeName("unsigned int")] uint ID, [NativeTypeName("LLVMTypeRef *")] LLVMOpaqueType** ParamTypes, [NativeTypeName("size_t")] nuint ParamCount, [NativeTypeName("size_t *")] nuint* NameLength); + public static extern sbyte* IntrinsicCopyOverloadedName2([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* Mod, [NativeTypeName("unsigned int")] uint ID, [NativeTypeName("LLVMTypeRef *")] LLVMOpaqueType** OverloadTypes, [NativeTypeName("size_t")] nuint OverloadCount, [NativeTypeName("size_t *")] nuint* NameLength); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIntrinsicIsOverloaded", ExactSpelling = true)] [return: NativeTypeName("LLVMBool")] diff --git a/sources/LLVMSharp.Interop/llvm/LLVMAtomicOrdering.cs b/sources/LLVMSharp.Interop/llvm/LLVMAtomicOrdering.cs index 1519de25..ddeb8add 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMAtomicOrdering.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMAtomicOrdering.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMAtomicRMWBinOp.cs b/sources/LLVMSharp.Interop/llvm/LLVMAtomicRMWBinOp.cs index a3c48f7a..8bcdcb14 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMAtomicRMWBinOp.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMAtomicRMWBinOp.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; @@ -28,4 +28,6 @@ public enum LLVMAtomicRMWBinOp LLVMAtomicRMWBinOpUSubSat, LLVMAtomicRMWBinOpFMaximum, LLVMAtomicRMWBinOpFMinimum, + LLVMAtomicRMWBinOpFMaximumNum, + LLVMAtomicRMWBinOpFMinimumNum, } diff --git a/sources/LLVMSharp.Interop/llvm/LLVMAttributeIndex.cs b/sources/LLVMSharp.Interop/llvm/LLVMAttributeIndex.cs index 069b90a7..9d7ca083 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMAttributeIndex.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMAttributeIndex.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMBinaryType.cs b/sources/LLVMSharp.Interop/llvm/LLVMBinaryType.cs index 80ccb627..ec7bacc5 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMBinaryType.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMBinaryType.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMByteOrdering.cs b/sources/LLVMSharp.Interop/llvm/LLVMByteOrdering.cs index 1a25f0c6..0a8ee5cb 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMByteOrdering.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMByteOrdering.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMCallConv.cs b/sources/LLVMSharp.Interop/llvm/LLVMCallConv.cs index 9540b55e..fd86d41d 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMCallConv.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMCallConv.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMChecksumKind.cs b/sources/LLVMSharp.Interop/llvm/LLVMChecksumKind.cs index 996c2844..a203ddb9 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMChecksumKind.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMChecksumKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMCodeGenFileType.cs b/sources/LLVMSharp.Interop/llvm/LLVMCodeGenFileType.cs index 17900c72..298c240b 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMCodeGenFileType.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMCodeGenFileType.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMCodeGenOptLevel.cs b/sources/LLVMSharp.Interop/llvm/LLVMCodeGenOptLevel.cs index a01931d9..63ab01f0 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMCodeGenOptLevel.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMCodeGenOptLevel.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMCodeModel.cs b/sources/LLVMSharp.Interop/llvm/LLVMCodeModel.cs index 9df6a28c..7f8bbc9a 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMCodeModel.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMCodeModel.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMComdatSelectionKind.cs b/sources/LLVMSharp.Interop/llvm/LLVMComdatSelectionKind.cs index d8186d6f..9e08e109 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMComdatSelectionKind.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMComdatSelectionKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMDIFlags.cs b/sources/LLVMSharp.Interop/llvm/LLVMDIFlags.cs index 9fa8e46c..4e2206c3 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMDIFlags.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMDIFlags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMDLLStorageClass.cs b/sources/LLVMSharp.Interop/llvm/LLVMDLLStorageClass.cs index fea9be68..479d3cc1 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMDLLStorageClass.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMDLLStorageClass.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMDWARFEmissionKind.cs b/sources/LLVMSharp.Interop/llvm/LLVMDWARFEmissionKind.cs index 97a3a54a..b5ddf1b6 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMDWARFEmissionKind.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMDWARFEmissionKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMDWARFMacinfoRecordType.cs b/sources/LLVMSharp.Interop/llvm/LLVMDWARFMacinfoRecordType.cs index 571f78dd..841ffe7e 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMDWARFMacinfoRecordType.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMDWARFMacinfoRecordType.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMDWARFSourceLanguage.cs b/sources/LLVMSharp.Interop/llvm/LLVMDWARFSourceLanguage.cs index e1a50bdd..42cda4e6 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMDWARFSourceLanguage.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMDWARFSourceLanguage.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMDbgRecordKind.cs b/sources/LLVMSharp.Interop/llvm/LLVMDbgRecordKind.cs index 801fe6d8..252a327c 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMDbgRecordKind.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMDbgRecordKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMDenormalModeKind.cs b/sources/LLVMSharp.Interop/llvm/LLVMDenormalModeKind.cs new file mode 100644 index 00000000..219972cd --- /dev/null +++ b/sources/LLVMSharp.Interop/llvm/LLVMDenormalModeKind.cs @@ -0,0 +1,14 @@ +// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c +// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. + +namespace LLVMSharp.Interop; + +public enum LLVMDenormalModeKind +{ + LLVMDenormalModeKindIEEE = 0, + LLVMDenormalModeKindPreserveSign = 1, + LLVMDenormalModeKindPositiveZero = 2, + LLVMDenormalModeKindDynamic = 3, +} diff --git a/sources/LLVMSharp.Interop/llvm/LLVMDiagnosticSeverity.cs b/sources/LLVMSharp.Interop/llvm/LLVMDiagnosticSeverity.cs index f688ac59..f5f8cd31 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMDiagnosticSeverity.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMDiagnosticSeverity.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMFastMathFlags.cs b/sources/LLVMSharp.Interop/llvm/LLVMFastMathFlags.cs index 7d28946f..93418540 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMFastMathFlags.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMFastMathFlags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMGEPNoWrapFlags.cs b/sources/LLVMSharp.Interop/llvm/LLVMGEPNoWrapFlags.cs index a84dc189..f05f9714 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMGEPNoWrapFlags.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMGEPNoWrapFlags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMGlobalISelAbortMode.cs b/sources/LLVMSharp.Interop/llvm/LLVMGlobalISelAbortMode.cs index b79ae8f8..fb22e864 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMGlobalISelAbortMode.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMGlobalISelAbortMode.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMInlineAsmDialect.cs b/sources/LLVMSharp.Interop/llvm/LLVMInlineAsmDialect.cs index ad642dd0..58bae260 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMInlineAsmDialect.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMInlineAsmDialect.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMIntPredicate.cs b/sources/LLVMSharp.Interop/llvm/LLVMIntPredicate.cs index 9b380509..029fe4bf 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMIntPredicate.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMIntPredicate.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMJITEvaluatedSymbol.cs b/sources/LLVMSharp.Interop/llvm/LLVMJITEvaluatedSymbol.cs index 5d4e874e..64bfec24 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMJITEvaluatedSymbol.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMJITEvaluatedSymbol.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMJITSymbolFlags.cs b/sources/LLVMSharp.Interop/llvm/LLVMJITSymbolFlags.cs index 26001d7e..7cf4fe33 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMJITSymbolFlags.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMJITSymbolFlags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMJITSymbolGenericFlags.cs b/sources/LLVMSharp.Interop/llvm/LLVMJITSymbolGenericFlags.cs index d6bd7ce6..f6448992 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMJITSymbolGenericFlags.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMJITSymbolGenericFlags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System; @@ -11,8 +11,8 @@ namespace LLVMSharp.Interop; public enum LLVMJITSymbolGenericFlags { LLVMJITSymbolGenericFlagsNone = 0, - LLVMJITSymbolGenericFlagsExported = 1 << 0, - LLVMJITSymbolGenericFlagsWeak = 1 << 1, - LLVMJITSymbolGenericFlagsCallable = 1 << 2, - LLVMJITSymbolGenericFlagsMaterializationSideEffectsOnly = 1 << 3, + LLVMJITSymbolGenericFlagsExported = (1 << 0), + LLVMJITSymbolGenericFlagsWeak = (1 << 1), + LLVMJITSymbolGenericFlagsCallable = (1 << 2), + LLVMJITSymbolGenericFlagsMaterializationSideEffectsOnly = (1 << 3), } diff --git a/sources/LLVMSharp.Interop/llvm/LLVMLinkage.cs b/sources/LLVMSharp.Interop/llvm/LLVMLinkage.cs index 3a63e9b9..7d0509fa 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMLinkage.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMLinkage.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMLinkerMode.cs b/sources/LLVMSharp.Interop/llvm/LLVMLinkerMode.cs index a24cec7a..6c2d088a 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMLinkerMode.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMLinkerMode.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMMCJITCompilerOptions.cs b/sources/LLVMSharp.Interop/llvm/LLVMMCJITCompilerOptions.cs index e8c4a41a..db289db7 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMMCJITCompilerOptions.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMMCJITCompilerOptions.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMMetadataKind.cs b/sources/LLVMSharp.Interop/llvm/LLVMMetadataKind.cs index 9fb1b117..bd41806d 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMMetadataKind.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMMetadataKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMModuleFlagBehavior.cs b/sources/LLVMSharp.Interop/llvm/LLVMModuleFlagBehavior.cs index 29749e88..9ef97b05 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMModuleFlagBehavior.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMModuleFlagBehavior.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOpInfo1.cs b/sources/LLVMSharp.Interop/llvm/LLVMOpInfo1.cs index 9bb473e6..8a586b11 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMOpInfo1.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMOpInfo1.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOpInfoSymbol1.cs b/sources/LLVMSharp.Interop/llvm/LLVMOpInfoSymbol1.cs index abca62d6..df3614db 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMOpInfoSymbol1.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMOpInfoSymbol1.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOpcode.cs b/sources/LLVMSharp.Interop/llvm/LLVMOpcode.cs index 0d80882e..144054c3 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMOpcode.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMOpcode.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; @@ -8,7 +8,8 @@ namespace LLVMSharp.Interop; public enum LLVMOpcode { LLVMRet = 1, - LLVMBr = 2, + LLVMUncondBr = 70, + LLVMCondBr = 71, LLVMSwitch = 3, LLVMIndirectBr = 4, LLVMInvoke = 5, diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcCDependenceMapPair.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcCDependenceMapPair.cs index fd4bd68b..d5ee7077 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMOrcCDependenceMapPair.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcCDependenceMapPair.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcCJITDylibSearchOrderElement.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcCJITDylibSearchOrderElement.cs index ed9d4406..4f18901a 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMOrcCJITDylibSearchOrderElement.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcCJITDylibSearchOrderElement.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcCLookupSetElement.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcCLookupSetElement.cs index aa213001..4f39ac4f 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMOrcCLookupSetElement.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcCLookupSetElement.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolAliasMapEntry.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolAliasMapEntry.cs index c665d129..499bfe5a 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolAliasMapEntry.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolAliasMapEntry.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolAliasMapPair.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolAliasMapPair.cs index e1018354..01310f97 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolAliasMapPair.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolAliasMapPair.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolDependenceGroup.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolDependenceGroup.cs index 352b5cd4..e1e01ba5 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolDependenceGroup.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolDependenceGroup.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolFlagsMapPair.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolFlagsMapPair.cs index 8182fed9..c8088741 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolFlagsMapPair.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolFlagsMapPair.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolMapPair.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolMapPair.cs index e527d202..6f99a313 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolMapPair.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolMapPair.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolsList.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolsList.cs index 9404a493..cc4ad00c 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolsList.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolsList.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcJITDylibLookupFlags.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcJITDylibLookupFlags.cs index 66b8da17..32fd2f23 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMOrcJITDylibLookupFlags.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcJITDylibLookupFlags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcLookupKind.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcLookupKind.cs index 9af29fb4..b0b81281 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMOrcLookupKind.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcLookupKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcSymbolLookupFlags.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcSymbolLookupFlags.cs index e354a601..c5a6df28 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMOrcSymbolLookupFlags.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcSymbolLookupFlags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMRealPredicate.cs b/sources/LLVMSharp.Interop/llvm/LLVMRealPredicate.cs index cb72127d..5803b24c 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMRealPredicate.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMRealPredicate.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMRelocMode.cs b/sources/LLVMSharp.Interop/llvm/LLVMRelocMode.cs index 53309f08..d169b944 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMRelocMode.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMRelocMode.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMRemarkType.cs b/sources/LLVMSharp.Interop/llvm/LLVMRemarkType.cs index 64147ce7..d83cdf47 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMRemarkType.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMRemarkType.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMTailCallKind.cs b/sources/LLVMSharp.Interop/llvm/LLVMTailCallKind.cs index 7851d793..a25df10c 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMTailCallKind.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMTailCallKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMThreadLocalMode.cs b/sources/LLVMSharp.Interop/llvm/LLVMThreadLocalMode.cs index cab4379b..21fdfab8 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMThreadLocalMode.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMThreadLocalMode.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMTypeKind.cs b/sources/LLVMSharp.Interop/llvm/LLVMTypeKind.cs index 5631241d..1400bb07 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMTypeKind.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMTypeKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; @@ -27,4 +27,5 @@ public enum LLVMTypeKind LLVMBFloatTypeKind = 18, LLVMX86_AMXTypeKind = 19, LLVMTargetExtTypeKind = 20, + LLVMByteTypeKind = 21, } diff --git a/sources/LLVMSharp.Interop/llvm/LLVMUnnamedAddr.cs b/sources/LLVMSharp.Interop/llvm/LLVMUnnamedAddr.cs index 464164bb..92323623 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMUnnamedAddr.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMUnnamedAddr.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMValueKind.cs b/sources/LLVMSharp.Interop/llvm/LLVMValueKind.cs index 5b2999b1..bf66d988 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMValueKind.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMValueKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; @@ -26,6 +26,7 @@ public enum LLVMValueKind LLVMConstantDataArrayValueKind, LLVMConstantDataVectorValueKind, LLVMConstantIntValueKind, + LLVMConstantByteValueKind, LLVMConstantFPValueKind, LLVMConstantPointerNullValueKind, LLVMConstantTokenNoneValueKind, diff --git a/sources/LLVMSharp.Interop/llvm/LLVMVerifierFailureAction.cs b/sources/LLVMSharp.Interop/llvm/LLVMVerifierFailureAction.cs index 2f7867e8..41e416c5 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMVerifierFailureAction.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMVerifierFailureAction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LLVMVisibility.cs b/sources/LLVMSharp.Interop/llvm/LLVMVisibility.cs index 2ffbc5f7..94a88cef 100644 --- a/sources/LLVMSharp.Interop/llvm/LLVMVisibility.cs +++ b/sources/LLVMSharp.Interop/llvm/LLVMVisibility.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/LTOObjectBuffer.cs b/sources/LLVMSharp.Interop/llvm/LTOObjectBuffer.cs index 02c897b7..f83b6a47 100644 --- a/sources/LLVMSharp.Interop/llvm/LTOObjectBuffer.cs +++ b/sources/LLVMSharp.Interop/llvm/LTOObjectBuffer.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/llvm_blake3_chunk_state.cs b/sources/LLVMSharp.Interop/llvm/llvm_blake3_chunk_state.cs index bc2d336e..05e804f9 100644 --- a/sources/LLVMSharp.Interop/llvm/llvm_blake3_chunk_state.cs +++ b/sources/LLVMSharp.Interop/llvm/llvm_blake3_chunk_state.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.CompilerServices; diff --git a/sources/LLVMSharp.Interop/llvm/llvm_blake3_hasher.cs b/sources/LLVMSharp.Interop/llvm/llvm_blake3_hasher.cs index 4d790c15..e07c3e8a 100644 --- a/sources/LLVMSharp.Interop/llvm/llvm_blake3_hasher.cs +++ b/sources/LLVMSharp.Interop/llvm/llvm_blake3_hasher.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.CompilerServices; diff --git a/sources/LLVMSharp.Interop/llvm/lto_codegen_diagnostic_severity_t.cs b/sources/LLVMSharp.Interop/llvm/lto_codegen_diagnostic_severity_t.cs index 32bd3d26..f2693da5 100644 --- a/sources/LLVMSharp.Interop/llvm/lto_codegen_diagnostic_severity_t.cs +++ b/sources/LLVMSharp.Interop/llvm/lto_codegen_diagnostic_severity_t.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/lto_codegen_model.cs b/sources/LLVMSharp.Interop/llvm/lto_codegen_model.cs index 0bc24fa4..ae5fdf67 100644 --- a/sources/LLVMSharp.Interop/llvm/lto_codegen_model.cs +++ b/sources/LLVMSharp.Interop/llvm/lto_codegen_model.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/lto_debug_model.cs b/sources/LLVMSharp.Interop/llvm/lto_debug_model.cs index 22266faf..8e240516 100644 --- a/sources/LLVMSharp.Interop/llvm/lto_debug_model.cs +++ b/sources/LLVMSharp.Interop/llvm/lto_debug_model.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvm/lto_symbol_attributes.cs b/sources/LLVMSharp.Interop/llvm/lto_symbol_attributes.cs index f2955fce..8fd0a184 100644 --- a/sources/LLVMSharp.Interop/llvm/lto_symbol_attributes.cs +++ b/sources/LLVMSharp.Interop/llvm/lto_symbol_attributes.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-22.1.8/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-23.1.5/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/llvmsharp/llvmsharp.cs b/sources/LLVMSharp.Interop/llvmsharp/llvmsharp.cs index b713c479..c3907dd9 100644 --- a/sources/LLVMSharp.Interop/llvmsharp/llvmsharp.cs +++ b/sources/LLVMSharp.Interop/llvmsharp/llvmsharp.cs @@ -5,12 +5,56 @@ namespace LLVMSharp.Interop; -public static unsafe partial class llvmsharp +public static unsafe partial class @llvmsharp { + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_BasicBlock_getFirstInsertionPt", ExactSpelling = true)] + [return: NativeTypeName("LLVMValueRef")] + public static extern LLVMOpaqueValue* BasicBlock_getFirstInsertionPt([NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* basic_block); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_BasicBlock_getFirstNonPHI", ExactSpelling = true)] + [return: NativeTypeName("LLVMValueRef")] + public static extern LLVMOpaqueValue* BasicBlock_getFirstNonPHI([NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* basic_block); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_CallBase_isIndirectCall", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte CallBase_isIndirectCall([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* call); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_CloneFunction", ExactSpelling = true)] + [return: NativeTypeName("LLVMValueRef")] + public static extern LLVMOpaqueValue* CloneFunction([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* function); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_CmpInst_getPredicateName", ExactSpelling = true)] + [return: NativeTypeName("const char *")] + public static extern sbyte* CmpInst_getPredicateName([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* instruction, [NativeTypeName("int32_t *")] int* out_size); + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_ConstantDataArray_getData", ExactSpelling = true)] [return: NativeTypeName("const char *")] public static extern sbyte* ConstantDataArray_getData([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* array, [NativeTypeName("int32_t *")] int* out_size); + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_ConstantFoldCompareInstOperands", ExactSpelling = true)] + [return: NativeTypeName("LLVMValueRef")] + public static extern LLVMOpaqueValue* ConstantFoldCompareInstOperands([NativeTypeName("int32_t")] int predicate, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* lhs, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* rhs, [NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* module); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_ConstantFoldConstant", ExactSpelling = true)] + [return: NativeTypeName("LLVMValueRef")] + public static extern LLVMOpaqueValue* ConstantFoldConstant([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* constant, [NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* module); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_ConstantFoldInstruction", ExactSpelling = true)] + [return: NativeTypeName("LLVMValueRef")] + public static extern LLVMOpaqueValue* ConstantFoldInstruction([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* instruction, [NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* module); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Constant_isAllOnesValue", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte Constant_isAllOnesValue([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* value); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Constant_isNegativeZeroValue", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte Constant_isNegativeZeroValue([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* value); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Constant_isOneValue", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte Constant_isOneValue([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* value); + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_DIBasicType_getEncoding", ExactSpelling = true)] [return: NativeTypeName("uint32_t")] public static extern uint DIBasicType_getEncoding([NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* type); @@ -144,14 +188,53 @@ public static unsafe partial class llvmsharp [return: NativeTypeName("LLVMMetadataRef")] public static extern LLVMOpaqueMetadata* DIVariable_getType([NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* variable); + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_DominatorTree_create", ExactSpelling = true)] + [return: NativeTypeName("LLVMSharpDominatorTreeRef")] + public static extern LLVMSharpOpaqueDominatorTree* DominatorTree_create([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* function); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_DominatorTree_dispose", ExactSpelling = true)] + public static extern void DominatorTree_dispose([NativeTypeName("LLVMSharpDominatorTreeRef")] LLVMSharpOpaqueDominatorTree* dominator_tree); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_DominatorTree_dominatesBlock", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte DominatorTree_dominatesBlock([NativeTypeName("LLVMSharpDominatorTreeRef")] LLVMSharpOpaqueDominatorTree* dominator_tree, [NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* a, [NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* b); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_DominatorTree_dominatesInstruction", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte DominatorTree_dominatesInstruction([NativeTypeName("LLVMSharpDominatorTreeRef")] LLVMSharpOpaqueDominatorTree* dominator_tree, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* def, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* user); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_DominatorTree_getIDom", ExactSpelling = true)] + [return: NativeTypeName("LLVMBasicBlockRef")] + public static extern LLVMOpaqueBasicBlock* DominatorTree_getIDom([NativeTypeName("LLVMSharpDominatorTreeRef")] LLVMSharpOpaqueDominatorTree* dominator_tree, [NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* block); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_DominatorTree_properlyDominatesBlock", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte DominatorTree_properlyDominatesBlock([NativeTypeName("LLVMSharpDominatorTreeRef")] LLVMSharpOpaqueDominatorTree* dominator_tree, [NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* a, [NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* b); + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Function_getFunctionType", ExactSpelling = true)] [return: NativeTypeName("LLVMTypeRef")] public static extern LLVMOpaqueType* Function_getFunctionType([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* function); + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Function_getInstructionCount", ExactSpelling = true)] + [return: NativeTypeName("uint32_t")] + public static extern uint Function_getInstructionCount([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* function); + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Function_getReturnType", ExactSpelling = true)] [return: NativeTypeName("LLVMTypeRef")] public static extern LLVMOpaqueType* Function_getReturnType([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* function); + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_GEPOperator_accumulateConstantOffset", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte GEPOperator_accumulateConstantOffset([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* gep, [NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* module, [NativeTypeName("int64_t *")] long* out_offset); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_GlobalValue_getAddressSpace", ExactSpelling = true)] + [return: NativeTypeName("uint32_t")] + public static extern uint GlobalValue_getAddressSpace([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* global_value); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_GlobalValue_isDSOLocal", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte GlobalValue_isDSOLocal([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* global_value); + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_GlobalVariable_getGlobalVariableExpression", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] public static extern LLVMOpaqueMetadata* GlobalVariable_getGlobalVariableExpression([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* global_variable); @@ -160,13 +243,106 @@ public static unsafe partial class llvmsharp [return: NativeTypeName("LLVMMetadataRef")] public static extern LLVMOpaqueMetadata* GlobalVariable_getMetadata([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* global_variable, [NativeTypeName("uint32_t")] uint KindID); - [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Instruction_hasNoSignedWrap", ExactSpelling = true)] + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_InlineFunction", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte InlineFunction([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* call_base); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_isSafeToSpeculativelyExecute", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte isSafeToSpeculativelyExecute([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* instruction); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Instruction_comesBefore", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte Instruction_comesBefore([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* instruction, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* other); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Instruction_getOpcodeName", ExactSpelling = true)] + [return: NativeTypeName("const char *")] + public static extern sbyte* Instruction_getOpcodeName([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* instruction, [NativeTypeName("int32_t *")] int* out_size); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Instruction_isCommutative", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte Instruction_isCommutative([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* instruction); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Instruction_isIdenticalTo", ExactSpelling = true)] [return: NativeTypeName("uint8_t")] - public static extern byte Instruction_hasNoSignedWrap([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* instruction); + public static extern byte Instruction_isIdenticalTo([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* instruction, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* other); - [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Instruction_hasNoUnsignedWrap", ExactSpelling = true)] + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Instruction_isSameOperationAs", ExactSpelling = true)] [return: NativeTypeName("uint8_t")] - public static extern byte Instruction_hasNoUnsignedWrap([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* instruction); + public static extern byte Instruction_isSameOperationAs([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* instruction, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* other); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Instruction_mayHaveSideEffects", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte Instruction_mayHaveSideEffects([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* instruction); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Instruction_mayReadFromMemory", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte Instruction_mayReadFromMemory([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* instruction); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Instruction_mayWriteToMemory", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte Instruction_mayWriteToMemory([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* instruction); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Instruction_moveAfter", ExactSpelling = true)] + public static extern void Instruction_moveAfter([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* instruction, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* position); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Instruction_moveBefore", ExactSpelling = true)] + public static extern void Instruction_moveBefore([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* instruction, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* position); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_LoopInfo_create", ExactSpelling = true)] + [return: NativeTypeName("LLVMSharpLoopInfoRef")] + public static extern LLVMSharpOpaqueLoopInfo* LoopInfo_create([NativeTypeName("LLVMSharpDominatorTreeRef")] LLVMSharpOpaqueDominatorTree* dominator_tree); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_LoopInfo_dispose", ExactSpelling = true)] + public static extern void LoopInfo_dispose([NativeTypeName("LLVMSharpLoopInfoRef")] LLVMSharpOpaqueLoopInfo* loop_info); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_LoopInfo_getLoopDepth", ExactSpelling = true)] + [return: NativeTypeName("uint32_t")] + public static extern uint LoopInfo_getLoopDepth([NativeTypeName("LLVMSharpLoopInfoRef")] LLVMSharpOpaqueLoopInfo* loop_info, [NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* block); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_LoopInfo_getLoopFor", ExactSpelling = true)] + [return: NativeTypeName("LLVMSharpLoopRef")] + public static extern LLVMSharpOpaqueLoop* LoopInfo_getLoopFor([NativeTypeName("LLVMSharpLoopInfoRef")] LLVMSharpOpaqueLoopInfo* loop_info, [NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* block); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Loop_containsBlock", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte Loop_containsBlock([NativeTypeName("LLVMSharpLoopRef")] LLVMSharpOpaqueLoop* loop, [NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* block); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Loop_getCanonicalInductionVariable", ExactSpelling = true)] + [return: NativeTypeName("LLVMValueRef")] + public static extern LLVMOpaqueValue* Loop_getCanonicalInductionVariable([NativeTypeName("LLVMSharpLoopRef")] LLVMSharpOpaqueLoop* loop); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Loop_getExitBlock", ExactSpelling = true)] + [return: NativeTypeName("LLVMBasicBlockRef")] + public static extern LLVMOpaqueBasicBlock* Loop_getExitBlock([NativeTypeName("LLVMSharpLoopRef")] LLVMSharpOpaqueLoop* loop); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Loop_getExitingBlock", ExactSpelling = true)] + [return: NativeTypeName("LLVMBasicBlockRef")] + public static extern LLVMOpaqueBasicBlock* Loop_getExitingBlock([NativeTypeName("LLVMSharpLoopRef")] LLVMSharpOpaqueLoop* loop); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Loop_getHeader", ExactSpelling = true)] + [return: NativeTypeName("LLVMBasicBlockRef")] + public static extern LLVMOpaqueBasicBlock* Loop_getHeader([NativeTypeName("LLVMSharpLoopRef")] LLVMSharpOpaqueLoop* loop); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Loop_getLoopDepth", ExactSpelling = true)] + [return: NativeTypeName("uint32_t")] + public static extern uint Loop_getLoopDepth([NativeTypeName("LLVMSharpLoopRef")] LLVMSharpOpaqueLoop* loop); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Loop_getLoopLatch", ExactSpelling = true)] + [return: NativeTypeName("LLVMBasicBlockRef")] + public static extern LLVMOpaqueBasicBlock* Loop_getLoopLatch([NativeTypeName("LLVMSharpLoopRef")] LLVMSharpOpaqueLoop* loop); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Loop_getLoopPreheader", ExactSpelling = true)] + [return: NativeTypeName("LLVMBasicBlockRef")] + public static extern LLVMOpaqueBasicBlock* Loop_getLoopPreheader([NativeTypeName("LLVMSharpLoopRef")] LLVMSharpOpaqueLoop* loop); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Loop_getParentLoop", ExactSpelling = true)] + [return: NativeTypeName("LLVMSharpLoopRef")] + public static extern LLVMSharpOpaqueLoop* Loop_getParentLoop([NativeTypeName("LLVMSharpLoopRef")] LLVMSharpOpaqueLoop* loop); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Mangler_getNameWithPrefix", ExactSpelling = true)] + [return: NativeTypeName("const char *")] + public static extern sbyte* Mangler_getNameWithPrefix([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* global_value, [NativeTypeName("int32_t *")] int* out_size); [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_MDNode_getNumOperands", ExactSpelling = true)] [return: NativeTypeName("uint32_t")] @@ -351,9 +527,87 @@ public static unsafe partial class llvmsharp [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Module_GetIdentifiedStructTypes", ExactSpelling = true)] public static extern void Module_GetIdentifiedStructTypes([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* module, [NativeTypeName("LLVMTypeRef **")] LLVMOpaqueType*** out_buffer, [NativeTypeName("int32_t *")] int* out_size); + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_OrcCreateObjectLinkingLayer", ExactSpelling = true)] + [return: NativeTypeName("LLVMOrcObjectLayerRef")] + public static extern LLVMOrcOpaqueObjectLayer* OrcCreateObjectLinkingLayer([NativeTypeName("LLVMOrcExecutionSessionRef")] LLVMOrcOpaqueExecutionSession* execution_session); + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_PassManager_add", ExactSpelling = true)] public static extern void PassManager_add([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* pass_manager, [NativeTypeName("LLVMPassRef")] LLVMOpaquePass* pass); + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_PostDominatorTree_create", ExactSpelling = true)] + [return: NativeTypeName("LLVMSharpPostDominatorTreeRef")] + public static extern LLVMSharpOpaquePostDominatorTree* PostDominatorTree_create([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* function); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_PostDominatorTree_dispose", ExactSpelling = true)] + public static extern void PostDominatorTree_dispose([NativeTypeName("LLVMSharpPostDominatorTreeRef")] LLVMSharpOpaquePostDominatorTree* post_dominator_tree); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_PostDominatorTree_dominatesBlock", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte PostDominatorTree_dominatesBlock([NativeTypeName("LLVMSharpPostDominatorTreeRef")] LLVMSharpOpaquePostDominatorTree* post_dominator_tree, [NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* a, [NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* b); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_simplifyInstruction", ExactSpelling = true)] + [return: NativeTypeName("LLVMValueRef")] + public static extern LLVMOpaqueValue* simplifyInstruction([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* instruction, [NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* module); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_TargetTransformInfo_create", ExactSpelling = true)] + [return: NativeTypeName("LLVMSharpTargetTransformInfoRef")] + public static extern LLVMSharpOpaqueTargetTransformInfo* TargetTransformInfo_create([NativeTypeName("LLVMTargetMachineRef")] LLVMOpaqueTargetMachine* target_machine, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* function); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_TargetTransformInfo_dispose", ExactSpelling = true)] + public static extern void TargetTransformInfo_dispose([NativeTypeName("LLVMSharpTargetTransformInfoRef")] LLVMSharpOpaqueTargetTransformInfo* target_transform_info); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_TargetTransformInfo_getInstructionCost", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte TargetTransformInfo_getInstructionCost([NativeTypeName("LLVMSharpTargetTransformInfoRef")] LLVMSharpOpaqueTargetTransformInfo* target_transform_info, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* user, [NativeTypeName("int32_t")] int cost_kind, [NativeTypeName("int64_t *")] long* out_cost); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_TargetTransformInfo_getNumberOfRegisters", ExactSpelling = true)] + [return: NativeTypeName("uint32_t")] + public static extern uint TargetTransformInfo_getNumberOfRegisters([NativeTypeName("LLVMSharpTargetTransformInfoRef")] LLVMSharpOpaqueTargetTransformInfo* target_transform_info, [NativeTypeName("uint32_t")] uint class_id); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_TargetTransformInfo_getRegisterBitWidth", ExactSpelling = true)] + [return: NativeTypeName("uint32_t")] + public static extern uint TargetTransformInfo_getRegisterBitWidth([NativeTypeName("LLVMSharpTargetTransformInfoRef")] LLVMSharpOpaqueTargetTransformInfo* target_transform_info, [NativeTypeName("int32_t")] int register_kind, [NativeTypeName("uint8_t *")] byte* out_isScalable); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Type_getPrimitiveSizeInBits", ExactSpelling = true)] + [return: NativeTypeName("uint64_t")] + public static extern ulong Type_getPrimitiveSizeInBits([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* type, [NativeTypeName("uint8_t *")] byte* out_isScalable); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Type_getScalarSizeInBits", ExactSpelling = true)] + [return: NativeTypeName("uint32_t")] + public static extern uint Type_getScalarSizeInBits([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* type); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Value_getNumUses", ExactSpelling = true)] + [return: NativeTypeName("uint32_t")] + public static extern uint Value_getNumUses([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* value); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Value_getPointerAlignment", ExactSpelling = true)] + [return: NativeTypeName("uint64_t")] + public static extern ulong Value_getPointerAlignment([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* value, [NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* module); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Value_hasOneUse", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte Value_hasOneUse([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* value); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Value_hasOneUser", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte Value_hasOneUser([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* value); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Value_isUsedInBasicBlock", ExactSpelling = true)] + [return: NativeTypeName("uint8_t")] + public static extern byte Value_isUsedInBasicBlock([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* value, [NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* basic_block); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Value_stripInBoundsOffsets", ExactSpelling = true)] + [return: NativeTypeName("LLVMValueRef")] + public static extern LLVMOpaqueValue* Value_stripInBoundsOffsets([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* value); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Value_stripPointerCasts", ExactSpelling = true)] + [return: NativeTypeName("LLVMValueRef")] + public static extern LLVMOpaqueValue* Value_stripPointerCasts([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* value); + + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_Value_stripPointerCastsAndAliases", ExactSpelling = true)] + [return: NativeTypeName("LLVMValueRef")] + public static extern LLVMOpaqueValue* Value_stripPointerCastsAndAliases([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* value); + [DllImport("libLLVMSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvmsharp_createDeadCodeEliminationPass", ExactSpelling = true)] [return: NativeTypeName("LLVMPassRef")] public static extern LLVMOpaquePass* createDeadCodeEliminationPass(); diff --git a/sources/LLVMSharp/Values/Users/Instructions/Instruction.TermOps.cs b/sources/LLVMSharp/Values/Users/Instructions/Instruction.TermOps.cs index e1f45ec4..e043a54e 100644 --- a/sources/LLVMSharp/Values/Users/Instructions/Instruction.TermOps.cs +++ b/sources/LLVMSharp/Values/Users/Instructions/Instruction.TermOps.cs @@ -1,7 +1,5 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -using LLVMSharp.Interop; - namespace LLVMSharp; public partial class Instruction @@ -9,16 +7,17 @@ public partial class Instruction public enum TermOps { Unknown = 0, - Ret = LLVMOpcode.LLVMRet, - Br = LLVMOpcode.LLVMBr, - Switch = LLVMOpcode.LLVMSwitch, - IndirectBr = LLVMOpcode.LLVMIndirectBr, - Invoke = LLVMOpcode.LLVMInvoke, - Resume = LLVMOpcode.LLVMResume, - Unreachable = LLVMOpcode.LLVMUnreachable, - CleanupRet = LLVMOpcode.LLVMCleanupRet, - CatchRet = LLVMOpcode.LLVMCatchRet, - CatchSwitch = LLVMOpcode.LLVMCatchSwitch, - CallBr = LLVMOpcode.LLVMCallBr, + Ret = 1, + UncondBr = 2, + CondBr = 3, + Switch = 4, + IndirectBr = 5, + Invoke = 6, + Resume = 7, + Unreachable = 8, + CleanupRet = 9, + CatchRet = 10, + CatchSwitch = 11, + CallBr = 12, } } diff --git a/tests/LLVMSharp.UnitTests/ManagedApi.cs b/tests/LLVMSharp.UnitTests/ManagedApi.cs index e1a2ecc9..d9c63198 100644 --- a/tests/LLVMSharp.UnitTests/ManagedApi.cs +++ b/tests/LLVMSharp.UnitTests/ManagedApi.cs @@ -16,7 +16,7 @@ public unsafe void NativeVersion() LLVM.GetVersion(&major, &minor, &patch); - Assert.That((major, minor), Is.EqualTo((22u, 1u))); + Assert.That((major, minor), Is.EqualTo((23u, 1u))); } [Test] @@ -444,11 +444,18 @@ public void BranchAndSwitchAccessors() var cond = builder.BuildICmp(LLVMIntPredicate.LLVMIntSLT, LLVMValueRef.CreateConstInt(int32.Handle, 1), LLVMValueRef.CreateConstInt(int32.Handle, 2), "c"); var branch = (BranchInst)context.GetOrCreate(builder.BuildCondBr(cond, ifTrue.Handle, ifFalse.Handle)); + Assert.That(branch.Opcode, Is.EqualTo(LLVMOpcode.LLVMCondBr)); Assert.That(branch.IsConditional, Is.True); Assert.That(branch.Condition, Is.EqualTo(context.GetOrCreate(cond))); Assert.That(branch.SuccessorsCount, Is.EqualTo(2u)); Assert.That(branch.GetSuccessor(0), Is.EqualTo(ifTrue)); + builder.PositionAtEnd(ifFalse.Handle); + var unconditionalBranch = (BranchInst)context.GetOrCreate(builder.BuildBr(entry.Handle)); + Assert.That(unconditionalBranch.Opcode, Is.EqualTo(LLVMOpcode.LLVMUncondBr)); + Assert.That(unconditionalBranch.IsConditional, Is.False); + Assert.That(unconditionalBranch.SuccessorsCount, Is.EqualTo(1u)); + builder.PositionAtEnd(ifTrue.Handle); var switchInst = (SwitchInst)context.GetOrCreate(builder.BuildSwitch(LLVMValueRef.CreateConstInt(int32.Handle, 0), ifFalse.Handle, 1)); switchInst.AddCase((ConstantInt)context.GetOrCreate(LLVMValueRef.CreateConstInt(int32.Handle, 1)), entry); From 4baf30beb6ca13772e57ee4ef6a0433c139938c0 Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Wed, 4 Nov 2026 15:27:54 -0800 Subject: [PATCH 2/3] Use Homebrew Z3 5.3.3 in macOS CI Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 49e87da4..e5e7ce05 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -99,7 +99,7 @@ jobs: os: [ macos ] steps: - uses: actions/checkout@v4 - # The published macOS libLLVM package uses this Homebrew Z3 ABI. + # libLLVM 23.1.5 was linked against this Homebrew Z3 ABI. - name: Install libLLVM Z3 dependency env: HOMEBREW_NO_AUTO_UPDATE: 1 @@ -107,7 +107,7 @@ jobs: set -euo pipefail brew tap-new llvmsharp/ci formula="$(brew --repository llvmsharp/ci)/Formula/z3.rb" - curl -fsSL https://raw.githubusercontent.com/Homebrew/homebrew-core/4b627f740ac5fe1871072e12aab203275812b6c5/Formula/z/z3.rb -o "$formula" + curl -fsSL https://raw.githubusercontent.com/Homebrew/homebrew-core/768a1d39b034c6912104191026e3dd940289e8b2/Formula/z/z3.rb -o "$formula" brew install llvmsharp/ci/z3 - run: ./scripts/cibuild.sh --configuration ${{ matrix.configuration }} --architecture ${{ matrix.architecture }} shell: bash From 1d2537e4c2dea7e5a7e619578eee264a49a4eb06 Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Wed, 4 Nov 2026 15:46:18 -0800 Subject: [PATCH 3/3] Expose LLVM 23.1.5 APIs through managed wrappers Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .../Extensions/LLVMContextRef.cs | 5 +++ .../Extensions/LLVMTypeRef.cs | 2 + .../Extensions/LLVMValueRef.cs | 41 +++++++++++++++++++ .../Extensions/llvmsharp.Manual.cs | 34 +++++++++++++++ .../Manual/LLVMSharpOpaqueDominatorTree.cs | 8 ++++ .../Manual/LLVMSharpOpaqueLoop.cs | 8 ++++ .../Manual/LLVMSharpOpaqueLoopInfo.cs | 8 ++++ .../LLVMSharpOpaquePostDominatorTree.cs | 8 ++++ ... => LLVMSharpOpaqueTargetTransformInfo.cs} | 17 +------- sources/LLVMSharp/LLVMContext.cs | 3 ++ sources/LLVMSharp/Types/ByteType.cs | 14 +++++++ sources/LLVMSharp/Types/Type.cs | 10 +++++ .../Values/Users/Constants/Constant.cs | 1 + .../Constants/ConstantDatas/ConstantByte.cs | 16 ++++++++ .../Constants/GlobalValues/GlobalValue.cs | 2 + .../Values/Users/Instructions/CmpInst.cs | 2 + .../Values/Users/Instructions/Instruction.cs | 2 + tests/LLVMSharp.UnitTests/Constants.cs | 28 +++++++++++++ tests/LLVMSharp.UnitTests/Functions.cs | 13 ++++++ tests/LLVMSharp.UnitTests/ManagedApi.cs | 9 ++++ 20 files changed, 215 insertions(+), 16 deletions(-) create mode 100644 sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueDominatorTree.cs create mode 100644 sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueLoop.cs create mode 100644 sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueLoopInfo.cs create mode 100644 sources/LLVMSharp.Interop/Manual/LLVMSharpOpaquePostDominatorTree.cs rename sources/LLVMSharp.Interop/Manual/{LLVMSharpOpaqueHandles.cs => LLVMSharpOpaqueTargetTransformInfo.cs} (55%) create mode 100644 sources/LLVMSharp/Types/ByteType.cs create mode 100644 sources/LLVMSharp/Values/Users/Constants/ConstantDatas/ConstantByte.cs diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMContextRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMContextRef.cs index c171eb64..af14b8b9 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMContextRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMContextRef.cs @@ -105,6 +105,9 @@ public readonly LLVMAttributeRef CreateEnumAttribute(uint KindId, ulong Val) return LLVM.CreateEnumAttribute(this, KindId, Val); } + public readonly LLVMAttributeRef CreateDenormalFPEnvAttribute(LLVMDenormalModeKind DefaultModeOutput, LLVMDenormalModeKind DefaultModeInput, LLVMDenormalModeKind FloatModeOutput, LLVMDenormalModeKind FloatModeInput) => + LLVM.CreateDenormalFPEnvAttribute(this, DefaultModeOutput, DefaultModeInput, FloatModeOutput, FloatModeInput); + public static uint GetEnumAttributeKindForName(ReadOnlySpan Name) { using var marshaledName = new MarshaledString(Name); @@ -231,6 +234,8 @@ public readonly LLVMValueRef GetConstStruct(ReadOnlySpan ConstantV public readonly LLVMTypeRef GetIntType(uint NumBits) => LLVM.IntTypeInContext(this, NumBits); + public readonly LLVMTypeRef GetByteType(uint NumBits) => LLVM.ByteTypeInContext(this, NumBits); + public readonly LLVMTypeRef GetIntrinsicType(uint ID, LLVMTypeRef[] ParamTypes) => GetIntrinsicType(ID, ParamTypes.AsSpan()); public readonly LLVMTypeRef GetIntrinsicType(uint ID, ReadOnlySpan ParamTypes) diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMTypeRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMTypeRef.cs index 69698ee4..ab166304 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMTypeRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMTypeRef.cs @@ -54,6 +54,8 @@ public unsafe partial struct LLVMTypeRef(IntPtr handle) : IEquatable (Kind == LLVMTypeKind.LLVMIntegerTypeKind) ? LLVM.GetIntTypeWidth(this) : default; + public readonly uint ByteWidth => (Kind == LLVMTypeKind.LLVMByteTypeKind) ? LLVM.GetByteTypeWidth(this) : default; + public readonly bool IsFunctionVarArg => (Kind == LLVMTypeKind.LLVMFunctionTypeKind) && LLVM.IsFunctionVarArg(this) != 0; public readonly bool IsLiteralStruct => (Kind == LLVMTypeKind.LLVMStructTypeKind) && LLVM.IsLiteralStruct(this) != 0; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMValueRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMValueRef.cs index 311bf300..016d3602 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMValueRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMValueRef.cs @@ -140,6 +140,10 @@ public readonly LLVMValueRef Condition public readonly long ConstIntSExt => (IsAConstantInt != null) ? LLVM.ConstIntGetSExtValue(this) : default; + public readonly ulong ConstByteZExt => (IsAConstantByte != null) ? LLVM.ConstByteGetZExtValue(this) : default; + + public readonly long ConstByteSExt => (IsAConstantByte != null) ? LLVM.ConstByteGetSExtValue(this) : default; + public readonly LLVMOpcode ConstOpcode => (IsAConstantExpr != null) ? LLVM.GetConstOpcode(this) : default; public readonly double ConstRealDouble => (IsAConstantFP != null) ? GetConstRealDouble(out _) : default; @@ -540,6 +544,8 @@ public readonly LLVMValueRef IsABranchInst public readonly LLVMValueRef IsAConstantArray => LLVM.IsAConstantArray(this); + public readonly LLVMValueRef IsAConstantByte => LLVM.IsAConstantByte(this); + public readonly LLVMValueRef IsAConstantDataArray => LLVM.IsAConstantDataArray(this); public readonly LLVMValueRef IsAConstantDataSequential => LLVM.IsAConstantDataSequential(this); @@ -1224,6 +1230,32 @@ public static LLVMValueRef CreateConstIntOfStringAndSize(LLVMTypeRef IntTy, Read return LLVM.ConstIntOfStringAndSize(IntTy, marshaledText, (uint)marshaledText.Length, Radix); } + public static LLVMValueRef CreateConstByte(LLVMTypeRef ByteTy, ulong N) + { + ThrowIfNotByteType(ByteTy, nameof(ByteTy)); + return LLVM.ConstByte(ByteTy, N); + } + + public static LLVMValueRef CreateConstByteOfArbitraryPrecision(LLVMTypeRef ByteTy, ulong[] Words) => CreateConstByteOfArbitraryPrecision(ByteTy, Words.AsSpan()); + + public static LLVMValueRef CreateConstByteOfArbitraryPrecision(LLVMTypeRef ByteTy, ReadOnlySpan Words) + { + ThrowIfNotByteType(ByteTy, nameof(ByteTy)); + fixed (ulong* pWords = Words) + { + return LLVM.ConstByteOfArbitraryPrecision(ByteTy, (uint)Words.Length, pWords); + } + } + + public static LLVMValueRef CreateConstByteOfStringAndSize(LLVMTypeRef ByteTy, string Text, byte Radix) => CreateConstByteOfStringAndSize(ByteTy, Text.AsSpan(), Radix); + + public static LLVMValueRef CreateConstByteOfStringAndSize(LLVMTypeRef ByteTy, ReadOnlySpan Text, byte Radix) + { + ThrowIfNotByteType(ByteTy, nameof(ByteTy)); + using var marshaledText = new MarshaledString(Text); + return LLVM.ConstByteOfStringAndSize(ByteTy, marshaledText, (nuint)marshaledText.Length, Radix); + } + public static LLVMValueRef CreateConstIntToPtr(LLVMValueRef ConstantVal, LLVMTypeRef ToType) { // Mirrors ConstantExpr::getIntToPtr: integer source, pointer destination. @@ -1328,6 +1360,15 @@ private static void ThrowIfNotIntegerType(LLVMTypeRef IntTy, string paramName) } } + private static void ThrowIfNotByteType(LLVMTypeRef ByteTy, string paramName) + { + // The native ConstByte APIs expect ByteType and do not accept integer types. + if (ByteTy.Kind is not LLVMTypeKind.LLVMByteTypeKind) + { + throw new ArgumentException($"Expected a byte type, but was given '{ByteTy.Kind}'.", paramName); + } + } + [DoesNotReturn] private static void ThrowNotIntegerType(LLVMTypeRef IntTy, string paramName) => throw new ArgumentException($"Expected an integer type, but was given '{IntTy.Kind}'. Use {nameof(CreateConstReal)} to create floating-point constants.", paramName); diff --git a/sources/LLVMSharp.Interop/Extensions/llvmsharp.Manual.cs b/sources/LLVMSharp.Interop/Extensions/llvmsharp.Manual.cs index e18cd268..af63c4bb 100644 --- a/sources/LLVMSharp.Interop/Extensions/llvmsharp.Manual.cs +++ b/sources/LLVMSharp.Interop/Extensions/llvmsharp.Manual.cs @@ -15,6 +15,13 @@ public static ReadOnlySpan ConstantDataArray_getData(LLVMValueRef array) return new ReadOnlySpan(buffer, (int)length); } + public static string CmpInst_getPredicateName(LLVMValueRef instruction) + { + int length = 0; + var name = CmpInst_getPredicateName(instruction, &length); + return (name != null) ? new ReadOnlySpan(name, length).AsString() : string.Empty; + } + public static LLVMMetadataRef[] DICompositeType_getElements(LLVMMetadataRef type) { LLVMMetadataRef* buffer = null; @@ -122,6 +129,33 @@ public static string DIVariable_getName(LLVMMetadataRef variable) return new ReadOnlySpan(name, length).AsString(); } + public static string Instruction_getOpcodeName(LLVMValueRef instruction) + { + int length = 0; + var name = Instruction_getOpcodeName(instruction, &length); + return (name != null) ? new ReadOnlySpan(name, length).AsString() : string.Empty; + } + + public static string Mangler_getNameWithPrefix(LLVMValueRef globalValue) + { + int length = 0; + var name = Mangler_getNameWithPrefix(globalValue, &length); + + if (name == null) + { + return string.Empty; + } + + try + { + return new ReadOnlySpan(name, length).AsString(); + } + finally + { + Free(name); + } + } + public static string MDString_getString(LLVMMetadataRef mdstring) { int length = 0; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueDominatorTree.cs b/sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueDominatorTree.cs new file mode 100644 index 00000000..44aa471b --- /dev/null +++ b/sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueDominatorTree.cs @@ -0,0 +1,8 @@ +// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://github.com/dotnet/llvmsharp/blob/main/sources/libLLVMSharp/LLVMSharp.h + +namespace LLVMSharp.Interop; + +public partial struct LLVMSharpOpaqueDominatorTree +{ +} diff --git a/sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueLoop.cs b/sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueLoop.cs new file mode 100644 index 00000000..20510105 --- /dev/null +++ b/sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueLoop.cs @@ -0,0 +1,8 @@ +// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://github.com/dotnet/llvmsharp/blob/main/sources/libLLVMSharp/LLVMSharp.h + +namespace LLVMSharp.Interop; + +public partial struct LLVMSharpOpaqueLoop +{ +} diff --git a/sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueLoopInfo.cs b/sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueLoopInfo.cs new file mode 100644 index 00000000..7c66ab5f --- /dev/null +++ b/sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueLoopInfo.cs @@ -0,0 +1,8 @@ +// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://github.com/dotnet/llvmsharp/blob/main/sources/libLLVMSharp/LLVMSharp.h + +namespace LLVMSharp.Interop; + +public partial struct LLVMSharpOpaqueLoopInfo +{ +} diff --git a/sources/LLVMSharp.Interop/Manual/LLVMSharpOpaquePostDominatorTree.cs b/sources/LLVMSharp.Interop/Manual/LLVMSharpOpaquePostDominatorTree.cs new file mode 100644 index 00000000..711a2140 --- /dev/null +++ b/sources/LLVMSharp.Interop/Manual/LLVMSharpOpaquePostDominatorTree.cs @@ -0,0 +1,8 @@ +// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://github.com/dotnet/llvmsharp/blob/main/sources/libLLVMSharp/LLVMSharp.h + +namespace LLVMSharp.Interop; + +public partial struct LLVMSharpOpaquePostDominatorTree +{ +} diff --git a/sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueHandles.cs b/sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueTargetTransformInfo.cs similarity index 55% rename from sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueHandles.cs rename to sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueTargetTransformInfo.cs index d178b610..6121077e 100644 --- a/sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueHandles.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMSharpOpaqueTargetTransformInfo.cs @@ -1,23 +1,8 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://github.com/dotnet/llvmsharp/blob/main/sources/libLLVMSharp/LLVMSharp.h namespace LLVMSharp.Interop; -public partial struct LLVMSharpOpaqueDominatorTree -{ -} - -public partial struct LLVMSharpOpaqueLoop -{ -} - -public partial struct LLVMSharpOpaqueLoopInfo -{ -} - -public partial struct LLVMSharpOpaquePostDominatorTree -{ -} - public partial struct LLVMSharpOpaqueTargetTransformInfo { } diff --git a/sources/LLVMSharp/LLVMContext.cs b/sources/LLVMSharp/LLVMContext.cs index 40847f03..120b8929 100644 --- a/sources/LLVMSharp/LLVMContext.cs +++ b/sources/LLVMSharp/LLVMContext.cs @@ -35,6 +35,9 @@ private LLVMContext(LLVMContextRef handle) public Attribute CreateEnumAttribute(ReadOnlySpan name, ulong value) => new Attribute(Handle.CreateEnumAttribute(name, value)); + public Attribute CreateDenormalFPEnvAttribute(LLVMDenormalModeKind defaultModeOutput, LLVMDenormalModeKind defaultModeInput, LLVMDenormalModeKind floatModeOutput, LLVMDenormalModeKind floatModeInput) => + new Attribute(Handle.CreateDenormalFPEnvAttribute(defaultModeOutput, defaultModeInput, floatModeOutput, floatModeInput)); + public Attribute CreateStringAttribute(ReadOnlySpan kind, ReadOnlySpan value) => new Attribute(Handle.CreateStringAttribute(kind, value)); public static uint GetEnumAttributeKindForName(ReadOnlySpan name) => LLVMContextRef.GetEnumAttributeKindForName(name); diff --git a/sources/LLVMSharp/Types/ByteType.cs b/sources/LLVMSharp/Types/ByteType.cs new file mode 100644 index 00000000..49824548 --- /dev/null +++ b/sources/LLVMSharp/Types/ByteType.cs @@ -0,0 +1,14 @@ +// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +using LLVMSharp.Interop; + +namespace LLVMSharp; + +public sealed class ByteType : Type +{ + internal ByteType(LLVMTypeRef handle) : base(handle, LLVMTypeKind.LLVMByteTypeKind) + { + } + + public uint BitWidth => Handle.ByteWidth; +} diff --git a/sources/LLVMSharp/Types/Type.cs b/sources/LLVMSharp/Types/Type.cs index 17edf351..cc81bbee 100644 --- a/sources/LLVMSharp/Types/Type.cs +++ b/sources/LLVMSharp/Types/Type.cs @@ -35,6 +35,8 @@ private protected Type(LLVMTypeRef handle, LLVMTypeKind expectedTypeKind1, LLVMT public bool IsBFloatTy => Handle.Kind == LLVMTypeKind.LLVMBFloatTypeKind; + public bool IsByteTy => Handle.Kind == LLVMTypeKind.LLVMByteTypeKind; + public bool IsDoubleTy => Handle.Kind == LLVMTypeKind.LLVMDoubleTypeKind; public bool IsFP128Ty => Handle.Kind == LLVMTypeKind.LLVMFP128TypeKind; @@ -180,6 +182,13 @@ public static IntegerType GetIntNTy(LLVMContext c, uint n) return c.GetOrCreate(handle); } + public static ByteType GetByteNTy(LLVMContext c, uint n) + { + ArgumentNullException.ThrowIfNull(c); + var handle = c.Handle.GetByteType(n); + return c.GetOrCreate(handle); + } + public static Type GetFP128Ty(LLVMContext c) { ArgumentNullException.ThrowIfNull(c); @@ -263,6 +272,7 @@ public static Type GetX86_FP80Ty(LLVMContext c) LLVMTypeKind.LLVMPPC_FP128TypeKind => new Type(handle, LLVMTypeKind.LLVMPPC_FP128TypeKind), LLVMTypeKind.LLVMLabelTypeKind => new Type(handle, LLVMTypeKind.LLVMLabelTypeKind), LLVMTypeKind.LLVMIntegerTypeKind => new IntegerType(handle), + LLVMTypeKind.LLVMByteTypeKind => new ByteType(handle), LLVMTypeKind.LLVMFunctionTypeKind => new FunctionType(handle), LLVMTypeKind.LLVMStructTypeKind => new StructType(handle), LLVMTypeKind.LLVMArrayTypeKind => new ArrayType(handle), diff --git a/sources/LLVMSharp/Values/Users/Constants/Constant.cs b/sources/LLVMSharp/Values/Users/Constants/Constant.cs index bc4e7618..3ce73313 100644 --- a/sources/LLVMSharp/Values/Users/Constants/Constant.cs +++ b/sources/LLVMSharp/Values/Users/Constants/Constant.cs @@ -23,6 +23,7 @@ private protected Constant(LLVMValueRef handle, LLVMValueKind expectedValueKind) _ when handle.IsABlockAddress != null => new BlockAddress(handle), _ when handle.IsAConstantAggregateZero != null => new ConstantAggregateZero(handle), _ when handle.IsAConstantArray != null => new ConstantArray(handle), + _ when handle.IsAConstantByte != null => new ConstantByte(handle), _ when handle.IsAConstantDataSequential != null => ConstantDataSequential.Create(handle), _ when handle.IsAConstantExpr != null => ConstantExpr.Create(handle), _ when handle.IsAConstantFP != null => new ConstantFP(handle), diff --git a/sources/LLVMSharp/Values/Users/Constants/ConstantDatas/ConstantByte.cs b/sources/LLVMSharp/Values/Users/Constants/ConstantDatas/ConstantByte.cs new file mode 100644 index 00000000..27abda21 --- /dev/null +++ b/sources/LLVMSharp/Values/Users/Constants/ConstantDatas/ConstantByte.cs @@ -0,0 +1,16 @@ +// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +using LLVMSharp.Interop; + +namespace LLVMSharp; + +public sealed class ConstantByte : ConstantData +{ + internal ConstantByte(LLVMValueRef handle) : base(handle.IsAConstantByte, LLVMValueKind.LLVMConstantByteValueKind) + { + } + + public long SExtValue => Handle.ConstByteSExt; + + public ulong ZExtValue => Handle.ConstByteZExt; +} diff --git a/sources/LLVMSharp/Values/Users/Constants/GlobalValues/GlobalValue.cs b/sources/LLVMSharp/Values/Users/Constants/GlobalValues/GlobalValue.cs index 0df5bd94..5b176411 100644 --- a/sources/LLVMSharp/Values/Users/Constants/GlobalValues/GlobalValue.cs +++ b/sources/LLVMSharp/Values/Users/Constants/GlobalValues/GlobalValue.cs @@ -39,6 +39,8 @@ public LLVMDLLStorageClass DLLStorageClass public bool IsDeclaration => Handle.IsDeclaration; + public string NameWithPrefix => llvmsharp.Mangler_getNameWithPrefix(Handle); + public LLVMLinkage Linkage { get diff --git a/sources/LLVMSharp/Values/Users/Instructions/CmpInst.cs b/sources/LLVMSharp/Values/Users/Instructions/CmpInst.cs index b1adacce..6ef4b469 100644 --- a/sources/LLVMSharp/Values/Users/Instructions/CmpInst.cs +++ b/sources/LLVMSharp/Values/Users/Instructions/CmpInst.cs @@ -11,6 +11,8 @@ private protected CmpInst(LLVMValueRef handle) : base(handle.IsACmpInst) { } + public string PredicateName => llvmsharp.CmpInst_getPredicateName(Handle); + [SuppressMessage("Design", "CA1024:Use properties where appropriate", Justification = "Mirrors C++ CmpInst::getPredicate(); the 'Predicate' name is the nested predicate enum type.")] public Predicate GetPredicate() => (Handle.IsAICmpInst != null) ? (Predicate)Handle.ICmpPredicate : (Predicate)Handle.FCmpPredicate; diff --git a/sources/LLVMSharp/Values/Users/Instructions/Instruction.cs b/sources/LLVMSharp/Values/Users/Instructions/Instruction.cs index 94ab3ee2..8739e6f0 100644 --- a/sources/LLVMSharp/Values/Users/Instructions/Instruction.cs +++ b/sources/LLVMSharp/Values/Users/Instructions/Instruction.cs @@ -29,6 +29,8 @@ public LLVMFastMathFlags FastMathFlags public LLVMOpcode Opcode => Handle.InstructionOpcode; + public string OpcodeName => llvmsharp.Instruction_getOpcodeName(Handle); + public BasicBlock Parent => Context.GetOrCreate(Handle.InstructionParent); public uint SuccessorsCount => Handle.SuccessorsCount; diff --git a/tests/LLVMSharp.UnitTests/Constants.cs b/tests/LLVMSharp.UnitTests/Constants.cs index d135d3f4..fbed6c26 100644 --- a/tests/LLVMSharp.UnitTests/Constants.cs +++ b/tests/LLVMSharp.UnitTests/Constants.cs @@ -40,6 +40,34 @@ public void CreateConstIntAcceptsIntegerType() Assert.That(value.Handle, Is.Not.EqualTo(IntPtr.Zero)); } + [Test] + public void CreateConstByteRejectsNonByteType() + { + var ex = Assert.Throws(() => LLVMValueRef.CreateConstByte(LLVMTypeRef.Int32, 8)); + Assert.That(ex!.ParamName, Is.EqualTo("ByteTy")); + } + + [Test] + public void CreateConstByteAcceptsByteType() + { + var context = new LLVMContext(); + var byteType = Type.GetByteNTy(context, 128); + var value = LLVMValueRef.CreateConstByteOfArbitraryPrecision(byteType.Handle, [42UL, 0UL]); + var constant = (ConstantByte)context.GetOrCreate(value); + + Assert.That(constant.Type, Is.SameAs(byteType)); + Assert.That(constant.ZExtValue, Is.EqualTo(42UL)); + } + + [Test] + public void CreateConstByteOfStringAndSizeParsesValue() + { + var byteType = Type.GetByteNTy(new LLVMContext(), 128); + var value = LLVMValueRef.CreateConstByteOfStringAndSize(byteType.Handle, "2A", 16); + + Assert.That(value.ConstByteZExt, Is.EqualTo(42UL)); + } + [Test] public void CreateConstIntToPtrRejectsNonIntegerSource() { diff --git a/tests/LLVMSharp.UnitTests/Functions.cs b/tests/LLVMSharp.UnitTests/Functions.cs index dd8efaaa..52f5bf98 100644 --- a/tests/LLVMSharp.UnitTests/Functions.cs +++ b/tests/LLVMSharp.UnitTests/Functions.cs @@ -29,6 +29,19 @@ public void AddsAttributeAtIndex() Assert.That((AttributeKind)attrs[0].KindAsEnum, Is.EqualTo(AttributeKind.ByVal)); } + [Test] + public void CreatesDenormalFPEnvAttribute() + { + var context = new LLVMContext(); + var attribute = context.CreateDenormalFPEnvAttribute( + LLVMDenormalModeKind.LLVMDenormalModeKindIEEE, + LLVMDenormalModeKind.LLVMDenormalModeKindIEEE, + LLVMDenormalModeKind.LLVMDenormalModeKindIEEE, + LLVMDenormalModeKind.LLVMDenormalModeKindIEEE); + + Assert.That(attribute.Handle, Is.Not.EqualTo(default(LLVMAttributeRef))); + } + [Test] public void GlobalValueTypeReturnsFunctionType() { diff --git a/tests/LLVMSharp.UnitTests/ManagedApi.cs b/tests/LLVMSharp.UnitTests/ManagedApi.cs index d9c63198..406e0b4c 100644 --- a/tests/LLVMSharp.UnitTests/ManagedApi.cs +++ b/tests/LLVMSharp.UnitTests/ManagedApi.cs @@ -39,6 +39,12 @@ public void TypePredicates() Assert.That(Type.GetIntNTy(context, 128), Is.SameAs(int128)); Assert.That(Type.GetIntNTy(context, 256).BitWidth, Is.EqualTo(256u)); + var byte128 = Type.GetByteNTy(context, 128); + Assert.That(byte128.BitWidth, Is.EqualTo(128u)); + Assert.That(byte128.IsByteTy, Is.True); + Assert.That(byte128.IsIntegerTy, Is.False); + Assert.That(Type.GetByteNTy(context, 128), Is.SameAs(byte128)); + var flt = Type.GetFloatTy(context); Assert.That(flt.IsFloatingPointTy, Is.True); Assert.That(flt.IsFloatTy, Is.True); @@ -420,6 +426,7 @@ public void ComparisonInstructionAccessors() var icmpHandle = builder.BuildICmp(LLVMIntPredicate.LLVMIntSLT, function.GetParam(0).Handle, function.GetParam(1).Handle, "c"); var icmp = (ICmpInst)context.GetOrCreate(icmpHandle); Assert.That(icmp.GetPredicate(), Is.EqualTo(CmpInst.Predicate.ICMP_SLT)); + Assert.That(icmp.PredicateName, Is.Not.Empty); var fcmpHandle = builder.BuildFCmp(LLVMRealPredicate.LLVMRealOEQ, function.GetParam(2).Handle, function.GetParam(3).Handle, "f"); var fcmp = (FCmpInst)context.GetOrCreate(fcmpHandle); @@ -435,6 +442,7 @@ public void BranchAndSwitchAccessors() var functionType = LLVMTypeRef.CreateFunction(Type.GetVoidTy(context).Handle, [], IsVarArg: false); var function = (Function)context.GetOrCreate(module.AddFunction("f", functionType)); + Assert.That(function.NameWithPrefix, Is.Not.Empty); var entry = function.AppendBasicBlock("entry"); var ifTrue = function.AppendBasicBlock("true"); var ifFalse = function.AppendBasicBlock("false"); @@ -445,6 +453,7 @@ public void BranchAndSwitchAccessors() var cond = builder.BuildICmp(LLVMIntPredicate.LLVMIntSLT, LLVMValueRef.CreateConstInt(int32.Handle, 1), LLVMValueRef.CreateConstInt(int32.Handle, 2), "c"); var branch = (BranchInst)context.GetOrCreate(builder.BuildCondBr(cond, ifTrue.Handle, ifFalse.Handle)); Assert.That(branch.Opcode, Is.EqualTo(LLVMOpcode.LLVMCondBr)); + Assert.That(branch.OpcodeName, Is.Not.Empty); Assert.That(branch.IsConditional, Is.True); Assert.That(branch.Condition, Is.EqualTo(context.GetOrCreate(cond))); Assert.That(branch.SuccessorsCount, Is.EqualTo(2u));